8201, 8202, 8203, 8204 Acceleration Processor Data Sheet, DS-0157-05
Page 112
Exar Confidential
5
Modules
This chapter gives a more detailed description of some of the key 820x internal modules:
DMA, Configuration registers, Channel Managers, PKP Manager, PKP Core, RNG engine,
Hash engine, LZS engine, GZIP engine, Pad engine, Encryption engine, and the clock
generator.
5.1 DMA
5.1.1
PCIe Outbound Manager
The PCIe Outbound Manager (POM) provides a transmit interface between the PCIe Core
and DMA modules. The main functions of the PIM are:
Send write requests to the PCIe Core transmit interface
Send read requests to the PCIe Core transmit interface
Convert output data to the correct endian format
5.1.2
PCIe Inbound Manager
The PCIe Inbound Manager (PIM) provides a receive interface between the PCIe Core and
DMA modules. The main functions of the PIM are:
Decode the completion PCIe TLP (Transaction Layer Packet) from the PCIe Core
completion receive interface, and send the completion data to Completion Controller
Decode memory writes and memory reads from the PCIe Core ELBI interface (a local
bus of the PCIe Core for reading or writing application-owned register space), and
send write and read requests to the Configuration Register module
Send interrupts to the host through the PCIe Core interface
Convert input data to the correct endian format
5.1.3
Command Pointer Ring Prefetch
The Command Pointer ring Prefetch (CPP) module is used to prefetch command pointers
from the host command pointer ring. The CPP implements a 128 byte Command Pointer
Ring (CPR) buffer which can accommodate 16 command pointers in 64-bit addressing mode
(8 bytes per pointer) and 32 command pointers in 32-bits addressing mode (4 bytes per
pointer).
When the Command Pointer Ring buffer is half empty and the CPR Read Pointer is not equal
to the CPR write pointer, the CPP module sends a read request to the Read Request
controller (RRC, discussed in
Section 5.1.4 below) to prefetch the maximum command
pointer ring entries from host memory (8 entries for 64-bit addressing mode or 16 entries
for 32-bit addressing mode). This CPP request has the highest priority in the RRC.