5-14
Computer Group Literature Center Web Site
Programming Details
5
Processor/Memory Domain
The MPC604 processor can operate in both big-endian and little-endian
mode. However, it always treats the external processor/memory bus as
big-endian by performing address rearrangement and reordering when
running in little-endian mode.
The MPC registers inside Raven, the registers inside the Falcon chipset,
the DRAM, the ROM/Flash and the system registers always appear as big-
endian.
Raven’s Involvement
Since PCI is little-endian, the Raven performs byte swapping in both
directions (from PCI to memory and from the processor to PCI) to
maintain address invariance when it is programmed to operate in
big-endian mode with the processor and the memory subsystem.
In little-endian mode, it reverse-rearranges the address for PCI-bound
accesses and rearranges the address for memory-bound accesses (from
PCI). In this case, no byte swapping is done.
PCI Domain
The PCI bus is inherently little-endian and all devices connected directly
to PCI will operate in little-endian mode, regardless of the mode of
operation in the processor’s domain.
PCI-SCSI
SCSI is byte stream oriented with the byte having the lowest address in
memory being the first one to be transferred regardless of the endian mode.
Since address invariance is maintained by the Raven in both little-endian
and big-endian mode, there should be no endian issues for the SCSI data.
Big-endian software must still however be aware of the byte-swapping
effect when accessing the registers of the PCI-SCSI device.