ARM微處理器中支持byte、half-word、word三種數據類型,其中:
1 word大小跟cpu結構有關:
32位cpu, 1word = 4 bytes;
64位cpu, 1 word = 8 bytes;
Half-Word:32位cpu,半字的長度為16位,與8位/16位處理器體系結構中字的長度一致。
字節(Byte):在8位/16位/32位處理器體系結構中,字節的長度均為8位。
word需要 4Byte 對齊(地址的低兩位為00,binary形式看清晰);
每個數據都是用字(32bit)來表示,存儲單元都是以Byte為單位,那么要索引一個數據,需要連續的4個bit才行;
0x0000_0000(hex)-->(0000)(binary)
0x0000_0004(hex)-->(0100)(binary)
0x0000_0008(hex)-->(1000)(binary)
0x0000_000c(hex)-->(1100)(binary)
half-word需要 2Byte 對齊(地址的最低位為0);
0x0000_0000(hex)-->(0000)(binary)
0x0000_0002(hex)-->(0010)(binary)
0x0000_0004(hex)-->(0100)(binary)
0x0000_0008(hex)-->(1000)(binary)