我一直在阅读了关于内存模型在装配本书中,我拿起我有两个问题。比方说,地址总线具有32线,数据总线具有32行和CPU是32位(为简单起见)。现在,如果CPU在读取请求和发送的32位地址,而只需要8位,所有32位回来呢?此外,在内存中的地址,每个字节正确仍在处理?所以取一个字节就带回0000 0001,以解决0000 0004?

有帮助吗?

解决方案

在一般情况下,是的。没有什么通过从总线读取一个字的部分来获得的,所以整个单词被读取。指令指定他们需要实际装载或寄存器保存其中的单词的一部分。

这就是说,它是罕见的直接从存储这些天读出。 CPU具有与你互动的99%的时间的高速缓存,并且当数据不在高速缓存中,一整行是(多个单词)带来然后您仍从高速缓存中读取。

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

其他提示

您真的应该这样说的:什么每个程序员应该知道内存

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top