Proč se dělí paměť do bank?

Přítel google najde skoro všechno, pak to stačí upravit k obrazu svému a je to.

PIC24 a vejš je zatím utopie, ale PIC18 se programuje v asm velice jednoduše.

Lou:
Program na čtení po 1 wire je jednoduchý. Samotné čtení mám na 21 řádků ASM a CRC se vypočítá za pomocí dalších 19 řádků. Odesílání Dat po 1 wire je taktéž 19 řádků. Tak kde je problém? A to si myslím, že by se dalo trochu zjednodušit.

Nevím jak u PICů, ale u řady 8051 byl jedním z důvodů pro použití bank RAM třeba rychlejší obsluha přerušení. Místo zdlouhavého uklízení registrů do zásobníku, se jednoduše přepne na jinou banku registrů a před odchodem z přerušení se přepne zpět na tu původní.
Jinak obecně je to většinou způsobeno omezením velikosti adresního registru, ať už pro načítání z RAM nebo “programcounteru” pro načítání instrukcí programu.
Pokud třeba chceme překročit hranici 64kB, tak už to znamená, že nám nebude stačit tříbajtová instrtukce - operační kód + 2 byte adresy, ale delší a to možná podstatně komplikuje aritmeticko-logickou jednotku daného mikropočitače.