Intel IXP2800 Personal Computer User Manual


 
120 Hardware Reference Manual
Intel
®
IXP2800 Network Processor
Intel XScale
®
Core
3.10.1 IXP2800 Network Processor Endianness
Endianness defines the way bytes are addressed within a word. A little-endian system is one in
which byte 0 is the least significant byte (LSB) in the word and byte 3 is the most significant byte
(MSB). A big-endian system is one in which byte 0 is the MSB and byte 3 is the LSB. For
example, the value of 0x12345678 at address 0x0 in a 32-bit little-endian system looks like this:
The same value stored in a big-endian system is shown in Table 44:
Bits within a byte are always in little-endian order. The least significant bit resides at bit location 0
and the most significant bit resides at bit location 7 (7:0).
The following conventions are used in this document:
Endianness for the IXP2800 network processor can be divided into three major categories:
Read and write transactions initiated by the Intel XScale
®
core:
Reads initiated by the Intel XScale
®
core
Writes initiated by the Intel XScale
®
core
SRAM and DRAM access:
64-bit Data transfer between DRAM and the Intel XScale
®
core
Byte, word, or longword transfer between SRAM/DRAM and the Intel XScale
®
core
Data transfer between SRAM/DRAM and PCI
Microengine-initiated access to SRAM and DRAM
PCI Accesses
Intel XScale
®
core generated reads/writes to PCI in memory space
Intel XScale
®
core generated read/write of external/internal PCI configuration registers
Table 43. Little-Endian Encoding
Address/Byte
Lane
0x0/ByteLane 3 0x0/ByteLane 2 0x0/ByteLane 1 0x0/ByteLane 0
Byte Value 0x12 0x34 0x56 0x78
Table 44. Big-Endian Encoding
Address/Byte
Lane
0x0/ByteLane 3 0x0/ByteLane 2 0x0/ByteLane 1 0x0/ByteLane 0
Byte Value 0x78 0x56 0x34 0x12
1 Byte: 8-bit data
1 Word: 16-bit data
1 Longword: 32-bit data
Longword Little-Endian
Format (LWLE)
32-bit data (0x12345678) arranged as {12 34 56 78}
64-bit data 0x12345678 9ABCDE56 arranged as {12 34 56 78 9A BC DE 56}
Longword Big-Endian format
(LWBE):
32-bit data (0x12345678) arranged as {78 56 34 12}
64-bit data 0x12345678 9ABCDE56 arranged as {78 56 34 12, 56 DE BC 9A}