7-6
MPC106 PCIB/MC User's Manual
MOTOROLA
7.3.3 Addressing
PCI defines three physical address spaces—PCI memory space, PCI I/O space, and PCI
configuration space. Access to the PCI memory and I/O space is straightforward, although
one must take into account the MPC106 address map (A, B, or emulation mode map) being
used. The address maps are described in Section 3.1, “Address Maps.” Access to the PCI
configuration space is described in Section 7.4.5, “Configuration Cycles.”
Address decoding on the PCI bus is performed by every device for every PCI transaction.
Each agent is responsible for decoding its own address. PCI supports two types of address
decoding—positive decoding and subtractive decoding. For positive decoding, each device
is looking for accesses in the address range that the device has been assigned. For
subtractive decoding, one device on the bus is looking for accesses that no other device has
claimed. See Section 7.3.4, “Device Selection,” for information about claiming
transactions.
The information contained in the two low-order address bits (AD[1–0]) varies by the
address space (memory, I/O, or configuration). Regardless of the encoding scheme, the two
low-order address bits are always included in parity calculations.
7.3.3.1 Memory Space Addressing
For memory accesses, PCI defines two types of burst ordering controlled by the two low-
order bits of the address—linear incrementing (AD[1–0] = 0b00) and cache wrap mode
(AD[1–0] = 0b10). The other two AD[1–0] possibilities (0b01 and 0b11) are reserved. As
a target, the MPC106 executes a target disconnect after the first data phase completes if
AD[1–0] = 0b01 or AD[1–0] = 0b11 during the address phase of a system memory access.
As a master, the MPC106 always encodes AD[1–0] = 0b00 for PCI memory space accesses.
For linear incrementing mode, the memory address is encoded/decoded using AD[31–2].
Thereafter, the address is incremented by 4 bytes after each data phase completes until the
transaction is terminated or completed (a 4-byte data width per data phase is implied). Note
that the two low-order bits of the address bus are still included in all parity calculations.
1110
Memory-read-line
Yes
Yes
The memory-read-line command indicates
that a master is requesting the transfer of
an entire cache line (32 bytes).
1111
Memory-write-and-
invalidate
No
Yes
The memory-write-and-invalidate
command indicates that a master is
transferring an entire cache line (32 bytes),
and, if this data is in any cacheable
memory, that cache line needs to be
invalidated.
* Reserved command encodings are reserved for future use. The MPC106 does not respond to these commands.
Table 7-1. PCI Bus Commands (Continued)
C/BE[3–0]
PCI Bus Command
MPC106
Supports
as a Master
MPC106
Supports
as a Target
Definition