
IBM2520L8767
IBM Processor for ATM Resources
atmrm.chapt04.01
08/27/99
ATM Virtual Memory Logic (VIMEM)
Page 167 of 553
6.15: 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 8 byte entries for each buffer that will be allocated in the system. The
first 16 bits of each 8 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 8 bytes, only one 8 byte entry is used for each buffer. If the map size is set
to 16 bytes, two 8 byte entries are used for each buffer. If the map size is set to 32 bytes, four 8 byte entries
are used for each buffer. If the map size is set to 64 bytes, five 8 byte entries are used for each buffer, the
remaining 24 bytes of the map are unused by the hardware.
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 quicker. 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 written. 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
Reserved
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-06
Defines the starting address of the buffer map
05-02
Reserved, should be written with 0
01-00
Defines the size of each map entry
00
8 bytes
01
16 bytes
10
32 bytes
11
64 bytes