
IBM3206K0424
IBM Processor for Network Resources
Preliminary
ATM Virtual Memory Logic (VIMEM)
Page 214 of 676
pnr25.chapt04.01
August 14, 2000
6.16: VIMEM Buffer Map Base Address
This register contains the address in Packet Memory at which the buffer map table starts. The buffer map
table consists of a variable number of eight-byte entries for each buffer that is allocated in the system. The
first 16 bits of each eight-byte entry contains the POOL ID and various status flags associated with this buffer,
thus this base register is used in both real and Virtual Memory modes.
In Virtual Memory mode, each of the three subsequent 16 bits contains an index which is associated with a
buffer size base register using the Buffer Segment Limit Register. The index and buffer size base register are
used to determine a real buffer address. If the map size is set to eight bytes, only one eight-byte entry is used
for each buffer. If the map size is set to 16 bytes, two eight-byte entries are used for each buffer. If the map
size is set to 32 bytes, four eight-byte entries are used for each buffer. If the map size is set to 64 bytes, five
eight-byte entries are used for each buffer, and the remaining 24 bytes of the map are unused by the hard-
ware.
Length
32 bits
Type
Read/Write
Address
XXXX 0D08
Power On Value
X
’
0020 0000
’
(This value is actually the power up contents of the Packet Memory
Real Base Register added to the power up contents of this register (X
’
00000000
’
)
due to the automatic address adjustment explained below.)
Restrictions
The base address for the buffer map must begin on a 64-byte boundary. When a
base register is written, the hardware performs an automatic adjustment to the
address using the contents of the Packet Memory Real Base Register, and the
Packet Memory Offset Register. This results in the actual value being stored, not
being the value that is written by the program. This is done to make the virtual
accesses that use the base register execute more quickly.
The reverse adjustment is made when the read operation is performed, so that it
appears to the program no different than a normal operation. Care must be taken,
however, to ensure that both the Packet Memory Real Base Register and the
Packet Memory Offset Register are set-up before any of the base registers are writ-
ten. If the Packet Memory Base Register or the Packet Memory Offset Register are
changed, Packet Memory should not be accessed until all the base registers have
been written again.
Starting Address
R
M
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
Bit(s)
Description
31-6
Defines the starting address of the buffer map
5-2
Reserved, should be written with
‘
0
’