Programmer’s Model
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
2-15
ID012310
Non-Confidential, Unrestricted Access
2.6
Memory formats
The processor views memory as a linear collection of bytes numbered in ascending order from
zero. Bytes 0-3 hold the first stored word, and bytes 4-7 hold the second stored word, for
example.
The processor can treat words in memory as being stored in either:
•
Legacy big-endian format
•
Little-endian format
.
Additionally, the processor supports mixed-endian and unaligned data accesses. For details see
Chapter 4
Unaligned and Mixed-endian Data Access Support
.
2.6.1
Legacy big-endian format
In legacy big-endian format, the processor stores the most significant byte of a word at the
lowest-numbered byte, and the least significant byte at the highest-numbered byte. Therefore,
byte 0 of the memory system connects to data lines 31-24. Figure 2-4 shows this.
Figure 2-4 Big-endian addresses of bytes within words
2.6.2
Little-endian format
In little-endian format, the lowest-numbered byte in a word is the least significant byte of the
word and the highest-numbered byte is the most significant. Therefore, byte 0 of the memory
system connects to data lines 7-0. Figure 2-5 shows this.
Figure 2-5 Little-endian addresses of bytes within words
31
24
23
16
15
8
7
Word address
0
4
0
8
Higher address
Lower address
• Most significant byte is at lowest address
• Word is addressed by byte address of most significant byte
Bit
11
10
9
8
7
6
5
4
3
2
1
0
31
24
23
16
15
8
7
Word address
0
4
0
8
Higher address
Lower address
• Least significant byte is at lowest address
• Word is addressed by byte address of least significant byte
Bit
8
9
10
11
4
5
6
7
0
1
2
3