【发布时间】:2013-02-13 12:54:58
【问题描述】:
我最近从一个在线资源开始学习计算机体系结构课程。我从我拿起的一本书中读到,x86 处理器有 32 条地址线,可以在数据总线上一次读取 4 个字节的数据。现在我了解到 32 条地址线将可寻址内存限制为 40 亿个唯一地址。我难以理解的事实是,如果 CPU 可以在每个周期从这 40 亿个唯一地址中的每一个读取 4 个字节的数据,为什么 x86 系统上的 RAM 限制为 4 GB。不应该是 16 GB(4 乘以 4 GB)吗?有人可以帮我解决这个问题吗?另外,当我谈到 32 位或 64 位微处理器时,32/64 是指 CPU 上的地址线数还是数据线数? (对于我的第一个问题,我可能应该提到我假设的系统没有物理地址扩展。)
【问题讨论】:
-
因为 4 个字节不是最小的可寻址单元。
-
@Mysticial 我不太明白你的意思。能详细点吗?
-
好吧,如果我理解正确的话,即使处理器在每个指令周期从数据总线拉入 4 个字节,这 4 个字节中的每一个都属于内存中的 4 个不同地址。只是他们都被拉了进去,一口气。对吗?
-
如果您的意思是“地址位”,那么是的。这就是约定。
标签: x86 memory-model