Intel
®
81341 and 81342 I/O Processors
December 2007
Developer’s Manual
Order Number: 315037-002US
493
Application DMA Unit—Intel
®
81341 and 81342
The XOR algorithm and methodology followed once a chain descriptor has been
configured is detailed below:
1. The Application DMA as a master on the bus initiates data transfer from the
address pointed at by the First Source Address Register (SAR0
20
). The total
number of bytes to XOR-transfer is specified by the Byte Count (BC) field in the
chain descriptor.
a. This is designated as the first block of data in the current XOR operation, and
the data is transferred directly to the XOR store queue. The number of bytes
transferred to the XOR store queue is 1 KByte.
Note:
When the Byte Count Register contains a value greater than the buffer size, the ADMA
completes the XOR-transfer operation on the first buffer of data obtained from each
Source Register (SAR0, SAR2- SAR15), then proceeds with the next buffer of data. This
process is repeated until the BCR contains a zero value.
2. Application DMA transfers the first eight bytes of data from the address pointed at
by the Second Source Address Register (SAR1).
3. XOR unit performs bit-wise XOR algorithm on input operands. The input operands
are the first eight bytes of data read from SAR0 (bytes 1-8) which are stored in the
queue and the first eight bytes of data just read from SAR1 (bytes 1-8).
4. XOR-ed result is transferred to the XOR store queue and stored in the first eight
bytes (bytes 1-8) overwriting previously stored data.
5. Application DMA transfers the next eight bytes of data (bytes 9-16) from address
pointed at by the Second Source Address Register (SAR1).
6. XOR unit performs the bit-wise XOR algorithm on the input operands. The input
operands are the next eight bytes of data read from SAR0 (bytes 9-16 stored in the
queue) and the eight bytes of data read from SAR1 in Step-5.
7. Step-5 and Step-6 (Data transfer & XOR) are repeated until all data pointed at by
SAR1 is XOR-ed with the corresponding data pointed at by SAR0. The XOR store
queue now contains a buffer full of XOR-ed data, the source addresses for which
were specified in SAR0 and SAR1.
8. Steps 1-7 are repeated for all enabled Source Address Registers (SAR2-SAR15).
9. Once Steps 1-8 are completed, the XOR operation is complete for the first full
buffer of the current chain descriptor. The data in the XOR store queue is then
written to memory at the address pointed to by the Destination Lower/Upper
Address Register (DLADR/DUADR) pair.
10. Byte Count is decremented by one full buffer as the data in the XOR store queue is
written to memory.
11. Repeat steps 1-10 until the byte count has decremented to zero.
20.SAR0…SAR15 represent the upper/lower address register pair associated with that source (e.g.,
SAR0 corresponds to the SLAR0/SUAR0 register pair)