Chaveamento de memória

Um mapa de memória hipotético com troca de bancos para um processador que só pode endereçar 64 KB. Este esquema mostra 200 KB de memória, dos quais apenas 64 KB podem ser acessados ​​pelo processador a qualquer momento. O sistema operacional deve gerenciar a operação de chaveamento de memória para garantir que a execução do programa possa continuar, quando parte da memória não estiver acessível ao processador.

O chaveamento de memória é uma técnica usada em projetos de computadores para aumentar a quantidade de memória utilizável além da quantidade diretamente endereçável pelas instruções do processador.[1] Ele pode ser usado para configurar um sistema de forma diferente em momentos diferentes; por exemplo, uma ROM necessária para iniciar um sistema a partir de um disquete, poderia ser removida quando não fosse mais necessária. Em consoles de videogame, o chaveamento de memória permitiu o desenvolvimento de jogos maiores para serem jogados nos consoles existentes.[2]

O chaveamento de memória teve origem em sistemas de minicomputadores.[3] Muitos microcontroladores e microprocessadores modernos utilizam o chaveamento de memória para gerenciar memória de acesso aleatório (RAM), memória não volátil (NVM), dispositivos de entrada e saída (E/S) e registradores de gerenciamento de sistema em pequenos sistemas embarcados. A técnica era comum em sistemas de microcomputadores de 8 bits.[2] O chaveamento de memória também pode ser usado para contornar limitações na largura do barramento de endereços, onde alguma restrição de hardware impede a adição direta de mais linhas de endereço, e para contornar limitações no conjunto de instruções, onde os endereços gerados são mais estreitos do que a largura do barramento de endereços. Alguns microprocessadores orientados a controle, usam uma técnica de chaveamento de memória para acessar registros internos de E/S e de controle, o que limita o número de bits de endereço de registro que devem ser usados ​​em cada instrução.

Diferentemente do gerenciamento de memória por paginação, os dados não são trocados com um dispositivo de armazenamento em massa como um disco rígido. Os dados permanecem em armazenamento inativo em uma área de memória que não está acessível ao processador no momento (embora possa estar acessível ao monitor de vídeo, ao controlador DMA ou a outros subsistemas do computador) sem o uso de instruções de prefixo especiais.[2]

Referências

  1. Aspinall, D., ed. (1978). The Microprocessor and its application: an advanced course (em inglês). [S.l.]: CUP Archive. pp. 47–50. ISBN 0-521-22241-9 
  2. a b c Silveira, Marcelo (maio de 2004). «A Memória do MSX (I)» (PDF). Consultado em 11 de dezembro de 2025 
  3. Bell, C. Gordon; Newell, Allen (1971). Computer structures: readings and examples (em inglês). [S.l.]: McGraw Hill. pp. 156 

Ligações externas