Byte Ordering
MPC885 PowerQUICC Family Reference Manual, Rev. 2
Freescale Semiconductor
A-3
For TLE mode, DC_CST[LES] should be set. When DC_CST[LES] is set, the physical address is
modified before the data cache or load/store unit accesses the internal U-bus. The two low-order address
bits of the effective address are exclusive-ORed (XOR) with a two-bit value that depends on the length of
the operand (1, 2, or 4 bytes), as shown in
Table A-2
. This process is called 2-bit munging.
Since all instructions are 4 byte words, no address modifications by the instruction cache are necessary.
The munged physical address is passed to the internal U-bus, and the specified width of data is transferred.
Only the address is modified, not the byte order. Munging makes it appear to the core that individual
aligned scalars on the U-bus are in little-endian order, when in fact, they are actually in big-endian order.
This allows the core to access data in the inherently big-endian internal registers with apparent little-endian
byte-ordering. However, when DC_CST[LES] is set, for any access originating from the MPC8xx core,
the SIU unmunges the address and swaps the bytes of data within each word at the external bus/U-bus
boundary. The byte swapping is shown in
Figure A-2
.
Figure A-2. Byte Swapping
The unmunging and byte swapping places all external accesses by the MPC8xx core into true little-endian
byte order. Note that the bit ordering remains unchanged—that is, bit 0 is always the msb, and bit 31 is
always the lsb.
The communication peripherals (SCCs, SMCs, SPI, I
2
C, PIP, or IDMA) transfer data as bytes (bytes are
received one at a time and transmitted one at a time). Byte transfers have no inherent endianness—they
are neither big- nor little-endian. For TLE-mode, the FCR[BO] parameter of each peripheral should be
programmed to 0b1x (that is, either 0b10 or 0b11). Note that the SIU does nothing (no unmunging, no
byte-swapping) to accesses originating from the SDMA controller.
Table A-2. TLE 2-bit Munging
Data Width (Bytes)
Address Modification
4
No change
2
XOR with 0b10
1
XOR with 0b11
11
12
13
14
0
7 8
15 16
23 24
31
14
13
12
11
0
7 8
15 16
23 24
31
Summary of Contents for PowerQUICC MPC870
Page 98: ...MPC885 PowerQUICC Family Reference Manual Rev 2 I 4 Freescale Semiconductor ...
Page 118: ...MPC885 Overview MPC885 PowerQUICC Family Reference Manual Rev 2 1 20 Freescale Semiconductor ...
Page 158: ...The MPC8xx Core MPC885 PowerQUICC Family Reference Manual Rev 2 3 18 Freescale Semiconductor ...
Page 288: ...MPC885 PowerQUICC Family Reference Manual Rev 2 III 4 Freescale Semiconductor ...
Page 554: ...MPC885 PowerQUICC Family Reference Manual Rev 2 V 6 Freescale Semiconductor ...
Page 1090: ...UTOPIA Interface MPC885 PowerQUICC Family Reference Manual Rev 2 43 8 Freescale Semiconductor ...
Page 1312: ...Byte Ordering MPC885 PowerQUICC Family Reference Manual Rev 2 A 8 Freescale Semiconductor ...
Page 1336: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 16 Freescale Semiconductor ...
Page 1358: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 38 Freescale Semiconductor ...
Page 1370: ...MPC880 MPC885 PowerQUICC Family Reference Manual Rev 2 E 4 Freescale Semiconductor ...
Page 1386: ...Revision History MPC885 PowerQUICC Family Reference Manual Rev 2 I 2 Freescale Semiconductor ...