97 number of elements per tbuf partition – Intel NETWORK PROCESSOR IXP2800 User Manual
Page 264

264
Hardware Reference Manual
Intel
®
IXP2800 Network Processor
Media and Switch Fabric Interface
shows the TBUF partition options. Note that the choice of element size is independent for
each partition.
The Microengine can write data from Microengine S_TRANSFER_OUT registers to the TBUF
using the
msf[write]
instruction, where they specify the starting byte number (which must be
aligned to four bytes), and number of 32-bit words to write. The number in the instruction can be
either the number of 32-bit words, or number of 32-bit word pairs, using the single and double
instruction modifiers, respectively. Data is pulled from the Microengine to TBUF via S_Pull_Bus.
msf[write, $s_xfer_reg, src_op_1, src_op_2, ref_cnt], optional_token
The
src_op_1
and
src_op_2
operands are added together to form the address in TBUF (note that
the base address of the TBUF is 0x2000). The
ref_cnt
operand is the number of 32-bit words or
word pairs, which are pulled from sequential S_TRANSFER_OUT registers, starting with
$s_xfer_reg
.
The Microengine can move data from DRAM to TBUF using the instruction
dram[tbuf_wr, --, src_op1, src_op2, ref_cnt], indirect_ref
The
src_op_1
and
src_op_2
operands are added together to form the address in DRAM, so the
dram instruction must use indirect mode to specify the TBUF address. The
ref_cnt
operand is the
number of 64-bit words that are written into TBUF.
Data is stored in big-endian order. The most significant (lowest numbered) byte of each 32-bit
word is transmitted first.
All elements within a TBUF partition are transmitted in the order. Control information associated
with the element (
) defines which bytes are valid. The data from the
TBUF will be shifted and byte-aligned to the TDAT pins as required. Four parameters are defined.
Prepend Offset — Number of the first byte to send. This is information that is prepended onto the
payload, for example as a header. It need not start at offset 0 in the element.
Prepend Length — Number of bytes of prepended information. This can be 0 to 31 bytes. If it is 0,
then the Prepend Offset must also be 0.
Table 97. Number of Elements per TBUF Partition
TBUF_Partition Field
TBUF_Element_Size_# Field
Partition Number
0
1
2
00 (1 partition)
00 (64 bytes)
128
Unused
Unused
01 (128 bytes)
64
10 (256 bytes)
32
01 (2 partitions)
00 (64 bytes)
96
32
Unused
01 (128 bytes)
48
16
10 (256 bytes
24
8
10 (3 partitions)
00 (64 bytes)
64
48
16
01 (128 bytes)
32
24
8
10 (256 bytes)
16
12
4