Download Preliminary, IBM Internal Use Only
Transcript
Section 3 — CPU & L2 3.5.2 Preliminary CPU to PCI Write If the CPU to PCI cycle is a write, a PCI write cycle is run. CPU to PCI I/O writes are not posted, as per the PCI Local Bus Specification version 2.1. If the PCI transaction is retried, the Bridge retries the CPU. CPU to PCI memory writes are posted, so the CPU write cycle is ended as soon as the data is latched. If the PCI cycle is retried, the Bridge retries the cycle until it completes. 3.5.2.1 Eight-Byte Writes to the PCI (Memory and I/O) The 660 supports 1-byte, 2-byte, 3-byte, and 4-byte transfers to and from the PCI. The 660 also supports 8-byte memory and I/O writes (writes only, not reads) to the PCI bus. When an 8-byte write to the PCI is detected, it is not posted initially. Instead the CPU waits until the first 4-byte write occurs, then the second 4-byte write is posted. If the PCI retries on the first 4-byte transfer or a PCI master access to system memory is detected before the first 4-byte transfer, then the CPU is retried. If the PCI retries on the second 4-byte transfer, then the 660 retries the PCI write. 3.5.3 CPU to PCI Memory Transactions CPU transfers from 3G to 4G–2M are mapped to the PCI bus as memory transactions. 3.5.4 CPU to PCI I/O Transactions CPU transfers from 2G+16M to 3G–8M are mapped to the PCI bus as I/O transactions. In compliance with the PCI specification, the 660 master aborts all I/O transactions that are not claimed by a PCI agent. 3.5.5 CPU to PCI Configuration Transactions The MCM allows the CPU to generate type 0 and type 1 PCI configuration cycles. The CPU initiates a transfer to the appropriate address. The 660 decodes the cycle and generates a request to the PCI arbiter in the SIO. When the PCI bus is acquired, the 660 enables its PCI_AD drivers and drives the address onto the PCI_AD lines for one PCI clock before it asserts PCI_FRAME#. Predriving the PCI_AD lines for one clock before asserting PCI_FRAME# allows the IDSELs to be resistively connected to the PCI_AD[31:0] bus at the system level. The transfer size must match the capabilities of the target PCI device for configuration cycles. The MCM supports 1-, 2-, 3-, and 4-byte transfers that do not cross a 4-byte boundary. Address unmunging and data byte swapping follow the same rules as those for system memory with respect to BE and LE modes of operation. Address unmunging has no effect on the CPU address lines which correspond to the IDSEL inputs of the PCI devices. The generation of PCI configuration cycles is via the 660 indexed Bridge Control Registers (BCR). This configuration method is described in section 4 of the 660 User’s Manual. The IDSEL assignments and their respective PCI_AD lines are shown in Table 3-3. The addresses used for configuration are assigned as shown in Table 3-3. 3–8 G5220297-00