[计算机组成原理]-32/64位、寻址能力

2021年6月19日 16点热度 0条评论 来源: XJYSober

总线

       计算机各种功能部件之间传送信息的公共通信干线。

       按照传输信息种类划分:数据总线、地址总线、控制总线。分别用来传输数据、数据地址和控制信号。计算机发展史开始是这种简单的总线结构,然后到北桥(主要负责CPU、内存、显卡数据传输)南桥(I/O设备、BIOS数据传输),到现在北桥被集成到CPU的芯片组。

       但是总线概念是不变的。计算机各部件制造商可以根据不同层面的不同总线协议生产。

总线分类

       总线分类标准:时序控制(同步、异步)、功能(内部、外部、系统)、数据传输格式(串行、并行)。

       根据功能划分的总线有内外之分。个人理解内部外部区分是一个相对的概念,看是站在CPU角度还是独立的计算机系统角度解释。这里摘自百度百科是以CPU作为维度。

       内部总线:特指CPU内部,寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的总线,也称为片内部总线(芯片内部总线)。也可以理解为CPU芯片组之间的一级互连。     

       外部总线:通常所说的总线(Bus)指片外总线,是CPU与内存RAM、ROM和输入/输出设备接口之间进行通讯的通路,也称系统总线

       下面是对系统总线的补充。

       系统总线:传送的信息包括数据信息、地址信息、控制信息,因此,系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。         

       注意:1、内部总线有地址总线和数据总线,外部总线也有有地址总线和数据总线。

 

32位、64位

       都是x86指令集架构CPU的概念,x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。最早的8086处理器于1978年由Intel推出,为16位微处理器。

       32位系统需要x86指令集来运行;64位系统需要x64(x86-64,amd64) 指令集来运行。

 

位宽

       CPU位宽指的是一个时钟周期内CPU能处理的二进制位数。例如当前64位CPU一次能处理64位数据,也就是8个字节。

  位宽没有严格定义,一般从数值上:

  CPU的位宽 = 数据总线的位宽 = CPU内部通用寄存器的位宽 = 机器字长

  所以CPU位宽和地址总线位宽没任何关系,而是数据总线位宽。

 

维基百科

  64位CPU是指CPU内部的通用寄存器的宽度为64比特,支持整数的64比特宽度的算术逻辑运算。

  一个 CPU,联系外部的数据总线与地址总线,可能有不同的宽度。术语“64位”也常用于描述这些总线的大小。不过这一术语也可能指电脑指令集的指令长度,或其它的数据项。去掉进一步的条件,“64位”电脑架构一般具有 64 位宽的整数型寄存器,它可支持 (内部/外部)64 位“区块”(chunk)的整数型数据。

 

寻址能力

寻址能力和地址总线有关

  CPU的寻址能力与它的地址总线位宽有关,而我们通常说的CPU位宽指的是数据总线位宽,它和地址总线位宽无关,所以位宽与寻址能力无关

       16位CPU的地址总线位宽可以是20位,32位CPU的地址总线可以是36位,64位CPU的地址总线位宽可以是40位。目前没有64位地址线的CPU,因为没这么大需求。x86处理器有PAE(Physical Address Extention)功能,使用PAE36技术的32位CPU是36根地址线,使用PAE40技术的Intel x86-64 CPU是40根地址线,使用PAE52技术的AMD x86-64 CPU是52根地址线。Intel为服务器生产的x86-64 Xeon系列CPU好像也是52根地址线。

       现有的内存或磁盘远远达不到64位寻址范围。128位更不用考虑了,有一个有趣的说法:把地壳里的所有硅全挖出来,全造晶体管,大概也就只满足不到200台128位计算机插满内存的需求,这还不算导线和其它。所以,显然地球上的资源都不够满足这种需求,就不要谈论造它的问题了。

 

寻址范围和寻址空间

       内存寻址能力不是数而是指针。内存一般按照字节寻址(也可以字寻址),一般32位总线宽是32位(也有服务器是36位),所以32位系统寻址范围是2的32(地址总线宽)次方字节,计算公式是【2的32次方/(1024的3次方)】,也就是寻址空间是4GB。(寻址范围无单位,寻址空间有单位)。

       同理,64位地址总线宽如果是64,2的64次方字节,计算公式是【2的64次方/(1024的3次方)】,即理论上16EB的寻址空间。主要还是受限于主板的支持。

 

32位操作系统寻址空间是4GB,不是32位CPU寻址空间

       计算机的内存访问能力是硬件(CPU寻址能力)和软件(操作系统)。进程访问的都是逻辑地址,逻辑地址是操作系统给的。32位操作系统逻辑地址编码地址位是32位,所以说4GB寻址范围是操作系统提供的。

       用32位操作系统不管用什么CPU只能支持4GB的寻址范围,实际是说操作系统的层面,而不是说32位CPU只能寻址4GB。
 

    原文作者:XJYSober
    原文地址: https://blog.csdn.net/XJYSober/article/details/118050235
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。