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

Page 264

Advertising
background image

264

Hardware Reference Manual

Intel

®

IXP2800 Network Processor

Media and Switch Fabric Interface

Table 97

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 (

Section 98

and

Section 99

) 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

Advertising