Comutare bancară

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Comutarea bancară (denumită uneori și paginare ), în informatică , indică o tehnică foarte comună la microcomputerele de 8 biți din anii optzeci utilizate pentru a crește cantitatea de RAM sau ROM adresabilă dincolo de cantitatea direct gestionabilă de către magistrala de adrese a unui anumit CPU .

Această tehnică poate fi utilizată și pentru a configura un sistem diferit în funcție de situație: de exemplu, la adresele la care un procesor accesează inițial un ROM utilizat pentru a porni un sistem de pe o dischetă, o altă memorie poate fi vizibilă ulterior, după prima și-a încheiat sarcina. Unele microcontrolere și microprocesoare pe 8 biți mai moderne utilizează comutarea bancară pentru a gestiona memoria lizibilă / scriibilă, memoria nevolatilă, dispozitivele de intrare / ieșire și registrele de gestionare ale sistemelor încorporate mici.

Computer de acasă

Procesoarele de 8 biți ale computerelor de acasă din anii optzeci, cum ar fi Z80 și 6502, aveau magistrale de adrese de 16 biți , astfel încât să poată adresa direct doar 64 KB de memorie: sistemele cu o cantitate mai mare de memorie trebuiau să împartă spațiul adresabil într-un anumit număr de blocuri care au fost apoi mapate dinamic în părți ale unui spațiu de adrese mai mare. Băncile , sau paginile sau blocurile , ale căror dimensiuni variază de la sistem la sistem, au fost activate și dezactivate prin registre de selecție a băncilor sau alte mecanisme similare; unele blocuri erau de obicei active tot timpul. Cu toate acestea, a fost necesar să se ia unele măsuri de precauție pentru a evita coruperea procesării apelurilor, a întreruperilor și a stivei aparatului.

Spre deosebire de alte tehnici de gestionare a memoriei, comutarea bancară a fost în general controlată direct de software (deși există exemple de gestionare lăsate la dispoziția sistemului , ca în cazul sistemului CP / M 3.0). Chiar dacă conținutul memoriei care au fost făcute inactive temporar de către procesorul nu era accesibil „ că“ procesor, ar putea fi în general încă citite sau modificate de către o altă bucată de hardware , cum ar fi video de circuite, DMA , dispozitive. A I / O etc.

Datorită comutării bancare, atât memoria suplimentară, cât și funcțiile suplimentare ar putea fi adăugate unui design de computer, fără costuri și probleme de compatibilitate cu utilizarea unui procesor cu o magistrală de adrese mai mare. De exemplu, Commodore 64 a folosit comutarea bancară pentru a avea 64 KB de RAM efectivă, în plus față de sistemele de intrare / ieșire ( MMIO ) mapate de ROM și de memorie; în Atari 130XE , datorită acestei tehnici, CPU 6502 și cipul grafic ANTIC au putut accesa diferite bănci RAM permițând programatorilor să recreeze scenarii de joc foarte complexe fără a utiliza memoria vizibilă pentru CPU.

IBM PC

În 1988 companiile Lotus , Intel și Microsoft au propus o specificație denumită Specificație de memorie extinsă ( EMS , sau, de asemenea, LIM-EMS, de la inițialele celor trei companii) pentru a fi utilizată în computerele IBM PC și compatibile cu MS-DOS ca sistem de operare.

EMS a fost o tehnica de comutare banca , care a permis sistemul pentru a gestiona mai mult decât 640 KB de memorie permise de original , arhitectura IBM PC: pentru a face acest lucru, memoria părea să fie împărțită ca blocuri într - un 64 KB „fereastră“ , situată în ' UMA (zona de memorie superioară, UMA). Blocurile de 64 KB au fost împărțite în 4 pagini de câte 16 KB, fiecare dintre acestea putând fi activate sau dezactivate independent. Unele jocuri foloseau EMS, deși această tehnică a devenit în curând învechită, a fost emulată în sistemele DOS și Microsoft Windows ulterioare pentru compatibilitatea cu aceste programe.

După EMS, a fost dezvoltată o altă tehnică, de asemenea acum învechită, numită eXtended Memory Specification (XMS) care, în teorie, a trebuit să simuleze comutarea băncii pentru partea de memorie mai mare decât primul megabyte (numită memorie extinsă ) care nu a fost direct adresabile de procesoare x86 , deoarece în MS-DOS au rulat în modul real . XMS a permis copierea memoriei extinse în orice punct al memoriei convenționale, astfel încât limitele „băncii” nu au fost fixate; cu toate acestea, XMS a funcționat ca o comutare bancară a EMS, din perspectiva unui program care l-a folosit. Versiunile MS-DOS începând cu 5.0 au inclus driverul EMM386 care a simulat memoria EMS utilizând XMS, permițând programelor să utilizeze memoria extinsă chiar dacă au fost scrise pentru a gestiona numai EMS. De asemenea, sistemul Windows emulează XMS, pentru acele programe care necesită acest lucru.

Consolă de jocuri

Comutarea bancară a fost, de asemenea, utilizată în mai multe console de jocuri din anii 1980. De exemplu, Atari 2600 ar putea adresa doar 4 KB de ROM, astfel încât unele cartușe conțineau propriul sistem hardware de comutare bancară capabil să gestioneze mai multă memorie ROM și oferind astfel jocuri mult mai sofisticate: mai multă memorie însemna mai mult spațiu pentru a stoca mai mult cod. mai multe date pentru joc în sine, cu rezultatul de a avea titluri cu mai multă muzică , grafică mai bună și niveluri suplimentare. Pentru Nintendo Entertainment System , în ciuda faptului că se bazează pe un procesor pe 8 biți (un 6502 modificat), existau cartușe de jocuri care ar putea conține până la 1 megabit de date pe ROM, adresabile datorită unui sistem de comutare bancară numit Memory Management Controller . Cartușele Game Boy foloseau un cip numit MBC (Memory Bank Controller) care nu numai că oferea comutarea bancară a ROM-ului, ci și a memoriei SRAM și, în plus, gestionarea unor periferice, cum ar fi conexiunile în infraroșu sau sistemele de vibrații.

Chiar și consolele mai recente au adoptat tehnica de comutare bancară. De exemplu, unele cartușe pentru SEGA Mega Drive , în ciuda limitei de adresare de 4 MB de memorie, aveau ROM-uri mai mari. Consola portabilă GP2X a folosit comutarea bancară pentru a controla adresa de pornire (sau compensarea memoriei ) a celui de-al doilea procesor .

Tehnici alternative și următoare

Comutarea bancară a fost înlocuită pe multe sisteme pe 16 biți prin segmentarea memoriei, care a permis unităților de gestionare a memoriei să pagineze . Cu toate acestea, în sistemele integrate , comutarea bancară este încă utilizată pe scară largă atât pentru simplitatea sa, cât și pentru costul său redus.

Calculatoare care foloseau comutarea bancară

Lista incompletă a computerelor care au folosit tehnica de comutare bancară:

Elemente conexe

Alte proiecte

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT