答案是:没有关系。
CPU的寻址能力与它的地址总线位宽有关,而我们通常说的CPU位宽指的是数据总线位宽,它和地址总线位宽半毛钱关系也没有,自然也与寻址能力无关。

简单的说,CPU位宽指的是一个时钟周期内CPU能处理的二进制位数,
如8086 CPU是16位的,可以一次处理2个字节(16个bit),80386 CPU是32位,能一次处理4个字节,
目前的CPU基本上64位的了,一次能处理8个字节。
我们的Windows操作系统也分为32位和64位,主要是针对上面CPU的位宽做了些优化,
比如32位的CPU就不能用64位的Windows(因为CPU一次只能处理32bit,而操作系统给你的指令是要处理64bit),
但64位的CPU就可以运行32位的Windows,也能运行64位Windows。
那CPU的地址总线位宽到底是个什么?

Intel的解释是Physical Address Extensions (PAE) is a feature that allows 32-bit processors to access a physical address space larger than 4 gigabytes.
上面图片是Intel Xeon E5-2698 v3的截图,专门就扩展物理地址作了说明,大意就是说这个是为了让32位的处理器能使用超过4GB的内存。
这个PAE就是CPU的地址总线位宽。在8086这个16位CPU上,它的地址总线位宽是20位,正好能寻址1MB,80286它的PAE是24位,
在Pentium II(32位CPU)时这个PAE变成了36位,可以支持64GB的寻址。
64位CPU出现之后,其地址总线位宽一般采用的是36位或者40位,它们寻址的物理地址空间为64GB或者1T。
那地址总线和数据总线有什么关系?
可以这么理解,地址总线用来定位,数据总线用来传输,也就是当CPU需要从内存读取数据或向内存写入数据时,
它使用地址总线来指定其需要访问的存储器块的物理地址,然后通过数据总线发送数据。
所以说,CPU的位宽和寻址能力是没有关系的,
16位CPU的地址总线位宽可以是20位,32位CPU的地址总线可以是36位,64位CPU的地址总线位宽可以是40位。
所以你下次一定不要说32位的CPU只能寻址2^32(4GB)了,大错特错。
那操作系统的位宽和寻址能力有什么关系吗,这个其实还是有的。
我们在使用计算机时,操纵的其实是逻辑地址,32位操作系统的逻辑地址寻址范围只有2^32=4GB。
所以,不管你用什么样的CPU,它最多也只支持4GB的内存容量,但这是操作系统的锅,并不是说32位CPU只能寻址4GB空间。
可能是在这儿容易引起错觉,一定要还CPU一个清白。

内存寻址能力与CPU的位宽有关系吗?的更多相关文章

  1. 计算机组成原理--64位CPU装载32位操作系统,它的寻址能力还是4GB吗?

    借由这个问题,今天我们就把 32 位 CPU.64 位 CPU.32 位操作系统.64 位操作系统之间的区别与联系彻底搞清楚.对于这个问题,博主也是一知半解了好长时间啊~ 基本概念 32位的CPU与6 ...

  2. s3c2440裸机-内存控制器(二、不同位宽外设与CPU地址总线的连接)

    不同位宽设备的连接 black 我们先看一下2440芯片手册上外设rom是如何与CPU地址总线连接的. 8bit rom与CPU地址线的连接 8bit*2 rom与CPU地址线的连接 8bit*4 r ...

  3. 地址总线、数据总线、寻址能力、字长及cpu位数等概念之间的关系

    地址总线决定了CPU的寻址能力:数据总线的宽度与字长及CPU位数一致. 详细解释见下文: 1.地址总线与寻址能力 要存取数据或指令就要知道数据或指令存放的位置,地址寄存器存储的就是CPU当前要存取的数 ...

  4. FLASH位宽为8、16、32时,CPU与外设之间地址线的连接方法

    转 http://blog.csdn.net/linweig/article/details/5556819 flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19 ...

  5. C语言-字、半字、内存位宽相关

    1.32位系统:32位系统指的是32位数据线,但是一般地址线也是32位,这个地址线32位决定了内存地址只能有32位二进制,所以逻辑上的大小为2的32次方.内存限制就为4G.实际上32位系统中可用的内存 ...

  6. 外设位宽为8、16、32时,CPU与外设之间地址线的连接方法

    有不少人问到:flash连接CPU时,根据不同的数据宽度,比如16位的NOR FLASH (A0-A19),处理器的地址线要(A1-A20)左移偏1位.为什么要偏1位? (全文有点晦涩,建议收藏本文对 ...

  7. Flash的不同位宽与CPU地址线的接线问题?

    一般Flash都有8.16.32等这些不同的位宽,当然说白了就是Flash的数据线位数. 在Flash与CPU的地址线的连接问题时:不同位宽的有不同的连接方法: 一般是:位宽为8时CPU的ADDR0与 ...

  8. x64 结构体系下的内存寻址

    欢迎转载,转载请注明出处:http://www.cnblogs.com/lanrenxinxin/p/4735027.html 在阅读NewBluePill源码的时候,看内存的那一块简直头疼,全是x6 ...

  9. Linux内存寻址

    我会尽力以最简洁清晰的思路来写这篇文章. 所谓内存寻址也就是从写在指令里的地址,转化为实际物理地址的过程.因为操作系统要兼顾许多东西,所以也就变得复杂. 逻辑地址 → 线性地址 → 物理地址 逻辑地址 ...

随机推荐

  1. Linux centos7VMware Apache和PHP结合、Apache默认虚拟主机

    一.Apache和PHP结合 httpd主配置文件/usr/local/apache2.4/conf/httpd.conf 启动报错 [root@davery ~]# /usr/local/apach ...

  2. ping命令工具:同时ping多个IP

    检测多个ip在同一时间点的响应状态,通过对比来判断哪个ip异常. 下载地址:https://share.weiyun.com/5XCkypG

  3. 你知道HTTP协议的ETag是干什么的吗?

    前言 在HTTP1.1规范中,新增了一个HTTP头信息:ETag.对于普通开发者来说,可能平时真的不会接触到该HTTP头.平时接触不到或者说用得少,不代表这个请求头不重要.ETag使用得当,是可以减少 ...

  4. 【剑指Offer面试编程题】题目1514:数值的整数次方---九度OJ

    题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 输入: 输入可能包含多个测试样例. 对于每个输入文件,第一行输入一个整数T, ...

  5. Java面向对象之类、接口、多态

    Java面向对象之类.接口.多态 类 class Person { // 实例属性 int age; String name; // 类属性 static int v = 1; // 构造器 publ ...

  6. 「NOIP2015」斗地主

    传送门 Luogu 解题思路 给你们一张搜索顺序图,然后就大力模拟就好. 细节注意事项 爆搜题,你们懂的... 参考代码 写的有点丑了,洛谷上只能过加强版的88分,会T六个点 #include < ...

  7. 为什么Fun函数能够执行

    #include<stdio.h> #include<windows.h> void Fun() { printf("Kali-Team\n"); } in ...

  8. 前端学习笔记系列一:4 vue中@click.native

    .native - listen for a native event on the root element of component. 作用:[给组件绑定原生事件] 例子:如果使用router-l ...

  9. instance与可变参数合用,多态性

    public class Doubt { public static void main(String[] args) { Dog d1=new Dog(); Dog d2=new Zangao(); ...

  10. PHP连数据库生成数据字典

    <?php /** * 生成mysql数据字典 */ header("Content-type:text/html;charset=utf-8"); // 配置数据库 $da ...