
IBM2520L8767
IBM Processor for ATM Resources
atmrm.chapt04.01
08/27/99
Buffer Pool Management (POOLS)
Page 201 of 553
The lower seventeen bits of the virtual address are used in conjunction with the segment template in the
VIMEM Virtual Buffer Segment Size Register to determine from which portion of the buffer map the buffer
index is retrieved. Once the buffer index is retrieved, it is combined with the appropriate base address for that
particular buffer size. The offset into the buffer is then added to get the real 32-bit address that is used in
physical memory.
POOLs uses the data structures above to manage packet memory resources. Each LCD is associated with a
particular POOL and multiple different LCD’s may be associated with that same POOL. Within a POOL, there
are five different resource categories and two variables to go with each resource.
Resources and Variables Example
9.1: POOLS Get Pointer Primitive
The POOLS Get Pointer Primitive returns a pointer to the requester. The request to the virtual packet/buffer
size 4 address will always return a memory address. If in virtual mode, the address will be virtual. Requests
made for buffer sizes 0 to 3 will not return an address but rather a buffer index in bits 15-0. The real address
associated with this index can be generated by shifting the index by the buffer size (e.g. six bit positions for a
64-byte buffer) and adding the result to the base address for this size buffer. Access to buffer sizes 0 - 3 is not
permitted in operational mode. The address of the primitive also selects the POOL ID. The POOL ID is con-
tained in address bits 5-2; the POOL ID selects which POOL will be charged for the pointer. The buffer size is
selected with address bits 8-6.
If there are no more pointers available in the specified POOL, a null pointer is returned. The active pointer
count for that POOL is incremented if a non-null pointer is returned. If the guaranteed threshold has been
exceeded and a buffer from the common POOL is returned, the common POOLs count for that size is decre-
mented by 1.
Resource Type
POOL 0000
Virtual Memory
Addresses
Buffer Type One Buffer Type Two Buffer Type ThreeBuffer Type Four
Guaranteed No.
100
200
50
10
0
Total No.
150
300
100
5
10
Length
32 bits
Type
Read Only
Address
Buffer Size 0
XXXX 3200
Buffer Size 1
XXXX 3240
Buffer Size 2
XXXX 3280
Buffer Size 3
XXXX 32C0
Virtual Packets /
Buffer Size 4
XXXX 3300
Power on Value
X’00000000’
Restrictions
During normal operations this register is to be used as a read only register. Writes to
this address will be ignored.