Computer Hardware User's Guide

Programmable Bank Switching
9-12
9.5 Programmable Bank Switching
Programmable bank switching allows you to switch between external memory
banks without having to insert wait states externally due to memories that require
several cycles to turn off. Bank switching is implemented on the primary bus only.
The size of a bank is determined by the number of bits specified by the BNKCMP
field of the primary bus control register. For example, if BNKCMP = 16, the 16
MSBs of the address are used to define a bank (see Figure 9–4). Since
addresses are 24 bits, the bank size is specified by the eight LSBs, yielding a
bank size of 256 words. If BNKCMP 16, only the 16 MSBs are compared. Bank
sizes from 2
8
= 256 to 2
24
= 16M are allowed. Table 9–6 summarizes the relation-
ship between BNKCMP, the address bits used to define a bank, and the resulting
bank size.
Figure 9–4. BNKCMP Example
23 8 7 0
24-bit address
Number of bits to compare
Defines bank size
Table 9–6. BNKCMP and Bank Size
BNKCMP MSBs Defining a Bank Bank Size (32-Bit Words)
00000 None 2
24 =
16M
00001 23 2
23
=8M
00010 23–22 2
22
=4M
00011 23–21 2
21
=2M
00100 23–20 2
20
=1M
00101 23–19 2
19
= 512K
00110 23–18 2
18
= 256K
00111 23–17 2
17
= 128K
01000 23–16 2
16
= 64K
01001 23–15 2
15
= 32K
01010 23–14 2
14
= 16K
01011 23–13 2
13
=8K
01100 23–12 2
12
=4K
01101 23–11 2
11
=2K
01110 23–10 2
10
=1K
01111 23–9 2
9
= 512
10000 23–8 2
8
= 256
10001–11111
Reserved Undefined