Bank switching

Hvis en del af en CPUs adresserbare hukommelsesblokke ikke kan nås ved umiddelbar adressering, men kan nås via intern registerskrivning – eller ekstern registerskrivning som typisk styrer RAM/ROM'enes chip-select (CS) styresignaler, kaldes det for bank switching eller paging. Denne metode blev udbredt, fordi ældre CPUers adresserum var for småt i forhold til den ønskede mængde anvendt hukommelse.[1]

Ulempen ved bank switching er at læsning og skrivning på tværs af banks er langsommere, da man for hver bank switching skal anvende clock-cykler på at skrive til bank switching-registeret. En anden ulempe er at programmerne skal specielt skrives til bank switching-anvendelse.

Eksempel på bank switching

Hvis en Z80 processors bundkort har mere end 64kb hukommelse, adresseres en større del af hukommelsen via bank switching, hvilket betyder at f.eks. 16kb eller 32kb Z80-adresserbar hukommelsesblokke udskiftes via skrivning til bank switching-registeret.

Computerere som anvender bank switching

  • Amstrad CPC
  • Amstrad PCW
  • Apple II series[2]
  • Apple III
  • Acorn BBC Micro model B+128
  • Acorn BBC Master
  • Commodore 128
  • MSX
  • ZX Spectrum 128 models
  • Super TV-Boy
  • Sharp MZ-700 og MZ-800

CPUer eller mikrocontrollere med bank switching via intern register:

  • PIC mikrocontroller

Kilder/referencer

  1. ^ What is Bank Switching?
  2. ^ Story about bank switching in the Apple II. Citat: "...Bill was intrigued, but he complained, "You can't add any more memory because we're out of address space. 64K is the limit of what we can address." Burrell had already thought of that. "Well, the language card is already bank-switching the RAM, even double-banking the last 2K where the monitor ROM is. We'll just make it bank-switch another bank."..."

Se også

  • virtuel hukommelse – metode til at inddrage langsommere hukommelse end RAM, så programmer kan adressere mere hukommelse end der er RAM.