Intel
®
81341 and 81342 I/O Processors
December 2007
Developer’s Manual
Order Number: 315037-002US
859
Inter-Processor Messaging Unit—Intel
®
81341 and 81342
13.6.37.1 Endian Mode Support
When accessing the test and set register array, the IMU allows any of the Intel XScale
®
processors, regardless of their endian mode settings, to access the same data byte.
Note that in little endian mode, the Intel XScale
®
processor drives byte for address 0
on the least significant byte lane of the internal data bus (i.e., byte lane 0 per 32-bit
bus), and in big endian mode the Intel XScale
®
processor drives byte for address 0 on
the most significant byte lane of the internal data bus (i.e., byte lane 3 of per 32-bit
bus).
The test and set register array is organized in little endian order in the IMU regardless
of the Intel XScale
®
processor endian modes. When the IMU test and set register array
is being accessed by an Intel XScale
®
processor, the IMU detects the endian mode
setting of that particular core. If the Intel XScale
®
processor is running in big endian
mode, the IMU would dynamically byte-swap the aligned DWORD within which the data
byte is contained. Refer to
. Otherwise, if the Intel XScale
®
processor is
running in little endian mode, the IMU would simply keep the bytes in their respective
byte lanes. Refer to
Figure 120. IMU handling Intel XScale
®
Processor running in Big Endian Mode
Figure 121. IMU handling Intel XScale
®
Processor running in Little Endian Mode
Byte Address 3
Byte Address 2
Byte Address 1
Byte Address 0
Aligned 32-Bit Word in
Test and Set Register
Array (Little Endian
Order)
Byte Address 3
Byte Adress 2
Byte Address 1
Byte Address 0
An aligned 32-Bit Word
on Internal Data Bus in
Big Endian Mode
+3
+2
+1
+0
D[07:00]
D[15:08]
D[23:16]
D[31:24]
32-bit portion of the
Internal Data Bus
Byte Address in Big
Endian Mode
+0
+1
+2
+3
IMU Byte Address
Byte Address 3
Byte Address 2
Byte Address 1
Byte Address 0
Aligned 32-Bit Word in
Test and Set Register
Array (Little Endian
Order)
Byte Address 0
Byte Address 1
Byte Address 2
Byte Address 3
An aligned 32-Bit Word
on Internal Data Bus in
Little Endian Mode
+0
+1
+2
+3
D[07:00]
D[15:08]
D[23:16]
D[31:24]
32-bit portion of the
Internal Data Bus
Byte Address in Little
Endian Mode
+0
+1
+2
+3
IMU Byte Address