
IBM2520L8767
IBM Processor for ATM Resources
ATM Virtual Memory Logic (VIMEM)
Page 168 of 553
atmrm.chapt04.01
08/27/99
6.16: VIMEM Real Buffer Base Addresses
These registers contain the address in packet memory at which a block of memory begins that is used to pro-
vide a given size buffer. In general, the block allocated must be large enough to contain as many buffers as
will be freed to POOLs on initialization, however for Real Buffer Base 4, the size of the block reserved must
be large enough so that one buffer is available for each of the virtual buffers freed to POOLs. These buffers
must not be freed to POOLs because they are implicitly used as the first real buffer segment for each of the
virtual buffers. If a given base register and associated buffer size is not used, the low four bits of the register
should be set to X’F’ to ensure that accesses of this buffer size will be detected and flagged as an error.
When using real memory mode (controlled in POOLS), all of these base registers are unused with the excep-
tion of base register zero, which contains the base address for all real memory buffers. In real mode, the low
four bits of base register zero are of no significance. The size of the real buffers is controlled through the
Buffer size register.
Buffer Size
0
1
2
3
4 (implicit)
Length
32 bits
32 bits
32 bits
32 bits
32 bits
Type
Read/Write
Read/Write
Read/Write
Read/Write
Read/Write
Address
XXXX 0D20
XXXX 0D24
XXXX 0D28
XXXX 0D2C
XXXX 0D30
Power on Value
X’0020 000F’
X’0020 000F’
X’0020 000F’
X’0020 000F’
X’0020 000F’
Restrictions
The base address for any given buffer size must begin on a boundary that is equal to the
buffer size. For example the base address for 128-byte buffers must be on a 128-byte
boundary and the base address for 4096-byte buffers must be on a 4096-byte boundary.
Starting Address
R
R
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 in packet memory of the memory block used to provide real buffers of defined size
5-4
Reserved (User should write zeros and ignore read value)
3-0
Defines the size of the real buffers in this block of memory with the following encoding:
0000
64 bytes
0001
128 bytes
0010
256 bytes
0011
512 bytes
0100
1024 bytes
0101
2048 bytes
0110
4096 bytes
0111
8192 bytes
1000
16384 bytes
1001
32768 bytes
1010
65536 bytes
1011
131072 bytes
1100 -1111 Reserved