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)
网友评论