x86和内存寻址

时间:2010-03-21 18:02:21

标签: memory assembly x86 models addressing

我一直在阅读我收集的装配书中的记忆模型,我有一两个问题。假设地址总线有32行,数据总线有32行,CPU是32位(为简单起见)。现在,如果CPU发出读取请求并发送32位地址,但只需要8位,那么所有32位都会返回?此外,内存中的地址仍然按字节正确解决?因此,取一个字节会将0000 0001带回地址0000 0004?

2 个答案:

答案 0 :(得分:8)

总的来说,是的。通过从总线读取部分单词没有任何好处,所以读完整个单词。指令指定实际加载或存储在寄存器中所需的单词部分。

也就是说,这些天直接从记忆中读取的情况很少见。 CPU具有99%的时间与之交互的缓存,当数据不在缓存中时,引入整行(多个单词),然后您仍然从缓存中读取。

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

答案 1 :(得分:2)