Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Bank switching
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Microcomputer use == [[File:Bank Select Switch on Cromemco Memory Board.jpg|thumb|Bank select switch on [[Cromemco]] memory board was used to map the memory into one or more of eight distinct 64 KB banks.<ref name="Garland_1977"/>]] Processors with [[16-bit]] addressing ([[8080]], [[Z80]], [[6502]], [[6809]], etc.) commonly used in early [[video game console]]s and [[home computer]]s can directly address only 64 [[kilobyte|KB]]. Systems with more memory had to divide the address space into a number of blocks that could be dynamically mapped into parts of a larger address space. Bank switching was used to achieve this larger address space by organizing memory into separate banks of up to 64 KB each.<ref name="Garland_1979"/> Blocks of various sizes were switched in and out via bank select registers or similar mechanisms. [[Cromemco]] was the first microcomputer manufacturer to use bank switching, supporting 8 banks of 64 KB in its systems.<ref name="Hogan_1981"/> When using bank switching some caution was required in order not to corrupt the handling of [[subroutine]] calls, [[interrupt]]s, the [[call stack|machine stack]], and so on. While the contents of memory temporarily switched out from the CPU was inaccessible to the processor, it could be used by other hardware, such as video display, [[direct memory access|DMA]], [[Input/output|I/O devices]], etc. [[CP/M Plus|CP/M-80]] 3.0 released in 1983 and the Z80-based [[TRS-80]]s the [[TRS-80 Model 4|Model 4]] and [[TRS-80 Model II|Model II]] supported bank switching to allow use of more than the 64 KB of memory that the 8080 or Z80 processor could address.<ref name="Freiberger_1982"/> Bank switching allowed extra memory and functions to be added to a computer design without the expense and incompatibility of switching to a processor with a wider [[address bus]]. For example, the [[Commodore 64|C64]] used bank switching to allow for a full 64 KB of RAM and still provide for ROM and [[memory-mapped I/O]] as well. The [[Atari 8-bit computers|Atari 130XE]] could allow its two processors (the 6502 and the [[ANTIC]]) to access separate RAM banks, allowing programmers to make large playfields and other graphic objects without using up the memory visible to the CPU.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)