7

我一直在阅读我拿起的一本汇编书中的内存模型,我有一两个问题。假设地址总线有 32 条线,数据总线有 32 条线,CPU 是 32 位的(为简单起见)。现在如果 CPU 发出读取请求并发送 32 位地址,但只需要 8 位,那么所有 32 位都回来了吗?此外,内存中的地址仍然按字节寻址,对吗?那么获取一个字节会将 0000 0001 带回地址 0000 0004 吗?

4

1 回答 1

8

一般来说,是的。从公共汽车上读单词的一部分并没有什么收获,所以读的是整个单词。指令指定它们需要实际加载或存储在寄存器中的字的哪些部分。

也就是说,现在很少直接从内存中读取。CPU 具有 99% 的时间与您交互的缓存,当数据不在缓存中时,会引入一整行(多个字),然后您仍然从缓存中读取。

另请注意,许多现代 CPU 实际上具有 64 位总线。

于 2010-03-21T18:04:48.153 回答