Bank switching

De Viquipèdia
Dreceres ràpides: navegació, cerca
Un hipotètic mapa de memòria del banc de commutació de memòria

El Bank switching o commutació de banc és una tècnica per augmentar la quantitat de memòria utilitzable més enllà de la quantitat directament adreçable pel processador sense haver d'ampliar el bus d'adreces.[1] Es pot utilitzar per configurar un sistema de la manera adequada en diferents moments, per exemple, la ROM necessària per a iniciar el sistema des de disquet es pot solapar quan ja no és necessària. En els sistemes de videojocs, permet que jocs que empren més memòria de l'estàndard es puguin desenvolupar per ser executats a les consoles existents incorporant la commutació de banc dins del cartutx del joc.

La commutació de banc es va originar en els sistemes de miniordinadors i d'allà es va incorporar a sistemes de 8-bits com l'Apple II, l'Apple III, màquines amb CPM-Plus i altres sistemes.[2] A diferència de la gestió de memòria per "paginació", les dades no s'intercanvien amb un dispositiu d'emmagatzematge massiu, com un disc dur. Les dades romanen en repòs en una àrea de memòria que no és accessible al processador, (encara que pot ser accessible a la pantalla de vídeo, al controlador DMA, o als altres subsistemes de l'ordinador).

Un dels desavantatges del "bank Switching" és que els cicles de lectura/escriptura emprats són més lents pel fet que, per cada commutació de banc s'utilitzen cicles de rellotge per escriure al registre de commutació de banc. Un altre inconvenient és que els programes han d'estar escrits específicament per ser executats dins d'un entorn de commutació de banc.

Aplicació del "bank Switching"[modifica | modifica el codi]

« ..En Bill estava intrigat, però es va queixar: "No es pot afegir més memòria perquè ens quedem sense espai d'adreces, 64K és el límit al que podem accedir".

En Burrell ja hi havia pensat i va dir: "Bé, la targeta de llenguatge ja utilitza el "bank Switching" de RAM, fins i tot duplica el banc de 16K ROM on tenim el Basic i el monitor. Podem afegir un altre banc de memòria RAM i canviar d'un banc a l'altre"...[3]

»

Si una placa base amb un processador 6502 o Z80, necessita més de 64kb de memòria pot commutar una porció del banc de memòria principal emprant la commutació de banc, el que significa que algun dels blocs de memòria de 16KB, 32kb o 64kb, adreçables pel 6502-Z80 són reemplaçats per altres d'un altre banc, escrivint uns bits del registre de commutació de bancs.

Ordinadors que fan servir "bank Switching"
Microcontroladors amb "bank Switching" per registres interns

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  1. D. Aspinall (ed), The Microprocessor and its application: an advanced course, CUP Archive, 1978, ISBN 0-521-22241-9 pp.47-50
  2. C. Gordon Bell, Allen Newell Computer structures: readings and examples,Mc Graw Hill, 1971 page 156
  3. Història sobre el "Bank Switching" en l'Apple II.

Enllaços externs[modifica | modifica el codi]