zez*_*000 3 memory cpu byte bits
为什么可以在内存中存储Byte(8bit)而不是Bit(1bit)的最小值?即使布尔值也存储为字节.我们是否会将最小的数字压缩到32或64位,就像CPU上的寄存器一样?
Eug*_*its 5
硬件用于以块(字节,后面的字和双字)读取数据.与访问单个位相比,这提供了更高的效率,并且还提供了更多的寻址范围.因此大多数数据至少与字节边界对齐.存在使用比特序列而不是字节操作的编码,但它们非常罕见.
现在,无论如何,数据通常与dword(32位)边界对齐.而且,某些硬件(例如ARM)无法访问未对齐的多字节变量,即16位字不能"交叉"双字边界 - 将抛出异常.
归档时间:
15 年 前
查看次数:
695 次
最近记录: