N in, Table 88 – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 249

Advertising
background image

Hardware Reference Manual

249

Intel

®

IXP2800 Network Processor

Media and Switch Fabric Interface

The data in each partition is further broken up into elements, based on

MSF_Rx_Control[RBUF_Element_Size_#] (n = 0, 1, 2). There are three choices of element size
– 64, 128, or 256 bytes.

Table 89

shows the RBUF partition options. Note that the choice of element size is independent for

each partition.

The Microengine can read data from the RBUF to Microengine S_TRANSFER_IN registers using

the

msf[read]

instruction, where the starting byte number is specified (which must be aligned to

4-byte units), and also the number of 32-bit words to read. The number in the instruction can be
either the number of 32-bit words, or the number of 32-bit word pairs, using the single- and double-

instruction modifiers, respectively. The data is pushed to the Microengine on the S_Push_Bus by

RBUF control logic:

msf[read, $s_xfer_reg, src_op_1, src_op_2, ref_cnt], optional_token

Table 88. Mapping of Received Data to RBUF Partitions

Number of

Partitions in

Use

Receive Data

Protocol

Data Use by Partition, Fraction of RBUF Used, Start Byte Offset (Hex)

Partition Number

0

1

2

1

SPI-4 only

SPI-4

All

Byte 0

n/a

n/a

2

CSIX only

CSIX Data

3/4 of RBUF

Byte 0

CSIX Control

1/4 of RBUF
Byte 0x1800

n/a

3

Both SPI-4 and

CSIX

CSIX Data

1/2 of RBUF

Byte 0

SPI-4

3/8 of RBUF
Byte 0x1000

CSIX Control

1/8 of RBUF

Byte 0x1C00

Table 89. Number of Elements per RBUF Partition

RBUF_Partition Field

RBUF_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