
Functional Description
5-68
82801AA and 82801AB Datasheet
5.14.1.2
IORDY Masking
The IORDY signal can be ignored and assumed asserted at the first IORDY Sample Point (ISP) on
a drive by drive basis via the IDETIM Register.
5.14.1.3
PIO 32 Bit IDE Data Port Accesses
A 32-bit PCI transaction run to the IDE data address (01F0h primary, 0170h secondary) results in
two back to back 16-bit transactions to the IDE data port. The 32-bit data port feature is enabled for
all timings, not just enhanced timing. For compatible timings, a shutdown and startup latency is
incurred between the two 16-bit halves of the IDE transaction. This guarantees that the chip selects
will be deasserted for at least 2 PCI clocks between the 2 cycles.
5.14.1.4
PIO IDE Data Port Prefetching and Posting
The ICH can be programmed via the IDETIM registers to allow data to be posted to and prefetched
from the IDE data ports.
Data prefetching is initiated when a data port read occurs. The read prefetch eliminates latency to
the IDE data ports and allows them to be performed back to back for the highest possible PIO data
transfer rates. The first data port read of a sector is called the demand read. Subsequent data port
reads from the sector are called prefetch reads. The demand read and all prefetch reads much be of
the same size (16 or 32 bits).
Data posting is performed for writes to the IDE data ports. The transaction is completed on the PCI
bus after the data is received by the ICH. The ICH will then run the IDE cycle to transfer the data to
the drive. If the ICH write buffer is non-empty and an unrelated (non-data or opposite channel) IDE
transaction occurs, that transaction will be stalled until all current data in the write buffer is
transferred to the drive.
5.14.2
Bus Master Function
The ICH can act as a PCI Bus master on behalf of an IDE slave device. Two PCI Bus master
channels are provided, one channel for each IDE connector (primary and secondary). By
performing the IDE data transfer as a PCI Bus master, the ICH off-loads the processor and
improves system performance in multitasking environments. Both devices attached to a connector
can be programmed for bus master transfers, but only one device per connector can be active at a
time.
5.14.2.1
Physical Region Descriptor Format
The physical memory region to be transferred is described by a Physical Region Descriptor (PRD).
The PRDs are stored sequentially in a Descriptor Table in memory. The data transfer proceeds until
all regions described by the PRDs in the table have been transferred. Note that the ICH bus master
IDE function does not support memory regions or Descriptor tables located on ISA.
Descriptor Tables must be aligned on 64 Kbyte boundaries. Each PRD entry in the table is 8 bytes
in length. The first 4 bytes specify the byte address of a physical memory region. This memory
region must be DWord-aligned and must not cross a 64 KByte boundary. The next two bytes
specify the size or transfer count of the region in bytes (64 KByte limit per region). A value of zero
in these two bytes indicates 64 Kbytes (thus the minimum transfer count is 1). If bit 7 (EOT) of the
last byte is a 1, it indicates that this is the final PRD in the Descriptor table. Bus master operation
terminates when the last descriptor has been retired.