是什么设置处理器可以访问的RAM上限?

时间:2013-02-25 03:59:50

标签: memory processor

根据IIT教授的this演讲,8位8085处理器将具有8位寄存器,可以配对以访问16位地址。他通过告诉我们程序计数器和堆栈指针寄存器是16位来强制它可以访问16位地址。他还接着告诉我们,数据总线是8位,但地址总线是16位。

因此,这不意味着32位处理器能够访问64位地址吗?但我知道32位处理器可以处理的最大值大约为4GB。是什么设定了这个限制?

更新:像你们中的一些人已经指出的那样,使用PAE这个地址可以扩展,但没有PAE这是什么设置这个限制?换句话说,为什么没有PAE的32位奔腾处理器上有4GB的上限?

3 个答案:

答案 0 :(得分:2)

没有。 8085具有8位寄存器和16位地址空间,但这并不意味着64位计算机需要能够访问128位。每个架构都是不同的架构。

答案是,了解机器地址空间的唯一方法是让制造商告诉您。每个地址空间的选择都是出于自身原因。 8086具有16位寄存器和20位地址空间。 ARM2有32位寄存器和26位地址空间。 80286具有16位寄存器和24位地址空间。 amd64有64位寄存器,有40位和48位物理地址空间实现。地址也可以在多个时钟周期中发送到存储器控制器。银行切换可用于允许任意大小的地址空间。

奔腾处理器的地址空间是什么?

  

为每个字节分配一个唯一的地址,称为物理地址,范围从零到最大值2 ^ 32-1(4千兆字节) - 奔腾处理器系列开发人员手册,第3卷:架构和编程手册

http://www.intel.com/design/pentium/MANUALS/24143004.pdf

现代英特尔64处理器的地址空间是什么?

  

Intel 64架构将软件的线性地址空间增加到64位,并支持高达40位的物理地址空间。 - 英特尔64和IA-32架构软件开发人员手册,第1卷:基础架构

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-1-manual.pdf

现代英特尔处理器在32位模式下的地址空间是多少?

  

地址空间 - 在IA-32处理器上运行的任何任务或程序都可以处理最多4 GBytes(2 ^ 32字节)的线性地址空间和最多64 GBytes(2 ^ 36字节)的物理地址空间 - 英特尔64和IA-32架构软件开发人员手册,第1卷:基础架构

等等。

答案 1 :(得分:1)

有几个限制:

  1. 地址寄存器和地址计算逻辑的大小。

  2. 处理器出来的物理地址行数。

  3. 使用PAE时,32位处理器的地址路径大于32位。

答案 2 :(得分:1)

32位处理器只能处理4GB内存,这是不正确的,例如PAE可以处理多达36位的地址空间。

基本上一般规则是相同的,它主要取决于系统板逻辑和最大地址大小(地址寄存器大小)的CPU支持。