1 scratchpad commands – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 230

Advertising
background image

230

Hardware Reference Manual

Intel

®

IXP2800 Network Processor

SHaC — Unit Expansion

If the Command Inlet FIFO becomes full, the Scratchpad controller sends a full signal to the
command arbiter that prevents it from sending further Scratchpad commands.

7.1.2.3.1

Scratchpad Commands

The basic read and write commands transfer from 1 – 16 longwords of data to/from the Scratchpad.

Reads

When a read command is at the head of the Command queue, the Push Arbiter is checked to see if
it has enough room for the data. If so, the Scratchpad RAM is read, and the data is sent to the Push

Arbiter one 32-bit word at a time (the Push_ID is updated for each word pushed). The Push Data is

sent to the specified destination.

The read data is placed on the S_Push bus, one 32-bit word at a time. If the master is a
Microengine, it is signaled that the command is complete during the last phase of the push bus

transfer. Other masters (Intel XScale

®

core and PCI) must count the number of data pushes to

know when the transfer is complete.

Writes

When a write command is at the head of the Command Inlet FIFO, signals are sent to the Pull
Arbiter. If there is room in the queue, the command is sent to the Command pipe.

When a write command is at the head of the Command pipe, the command waits for a signal from

the Pull Data FIFO, indicating that the data to be written is valid. Once the first longword is

received, the data is written on consecutive cycles to the Scratchpad RAM until the burst (up to 16
longwords) is completed.

If the master is a Microengine, it is signaled that the command is complete during the last pull bus

transfer. Other masters (Intel XScale

®

core and PCI) must count the number of data pulls to know

when the transfer is complete.

Atomic Operations

The Scratchpad supports the following atomic operations.

bit set

bit clear

increment

decrement

add

subtract

swap

The Scratchpad does read-modify-writes for the atomic operations, and the pre-modified data also

can be returned, if desired. The atomic operations operate on a single longword. There is one cycle
between the read and write while the modification is done. In that cycle, no operation is done, so an

access cycle is lost.

When a read-modify-write command requiring pull data from a source is at the head of the

Command Inlet FIFO, a signal is generated and sent to the Pull Arbiter (if there is room).

Advertising