认识cpu

193 阅读3分钟

cpu进行数据读写的时候,必须和外部器件进行三类信息的交互

1存储单元的地址(地址信息)

2器件的选择,读或者写命令(控制信息)

3读或者写的数据(数据信息)

计算机上专门有连接cpu和其他器件的导线。统称称为总线

总线物理上:一根根导线的集合

总线逻辑上划分为:

地址总线

数据总线

控制总线

三种类型的总线和三类信息的交互一一对应。

概念图

image.png

所以cpu对一个0100010101的机器码,是怎么区分它代表的是操作控制,地址,还是数据?

靠的就是这个机器码指令是从哪种类型的总线传输的。

地址总线

cpu是通过地址总线来指定存储单元的,地址总线上能传输多少种信息,cpu就可以对多少个存储单元进行寻址。

在计算机中 CPU的地址总线数目 决定了CPU 的 寻址 范围,这种由地址总线对应的地址称作为物理地址。假如CPU有32根地址总线(一般情况下32位的CPU的地址总线是32位,也有部分32位的CPU地址总线是36位的,比如用做服务器的CPU),那么提供的可寻址物理地址范围 为 232=4GB(在这里要注意一点,我们平常所说的32位CPU和64位CPU指的是CPU一次能够处理的数据宽度,即位宽,不是地址总线的数目)。自从64位CPU出现之后,一次便能够处理64位的数据了,其地址总线一般采用的是36位或者40位(即CPU能够寻址的物理地址空间为64GB或者1T)。

image.png

一个cpu有n个地址总线,那么就可以说这个cpu的地址总线的宽度是n。这样的cpu最多可以寻找2的n次方个内的存储单元。一个存储单元是一个字节。

数据总线

cpu和内存或者其他外部组件通过数据总线进行数据的传递。数据总线的宽度决定了cpu和外界数据传输的速度。单位时间内,越宽传输的数据越多。

控制总线

cpu对外部器件的控制是通过控制总线进行的,总线都是总称,控制总线是不同控制线的集合。控制总线的宽度决定cpu对外部器件的控制能力。

内容补充

内存地址空间

如果一个cpu的地址总线宽度是10,那么它最多可以寻找2的10次方,也就是1024个内存单元。这1024个可寻的内存单元就构成了cpu的内存地址空间。

内存一般有内存条,或者其他器件的内存,在硬件上,这些内存条和器件都是可以单独拆卸更换的,但是在cpu的逻辑上,内存就是统一的,完整的一个整体。

内存分为随机内存和只读内存,只读内存是硬件自带的,比如显卡和主板。(有的硬件也自带随机内存)这些只读内存中保存的是硬件厂家生产时,自带的软件程序,为这个硬件服务的。而随机内存主要有我们平时用到的内存条。

而cpu默认内存是一个整体,把这个逻辑内存根据内存地址空间划分范围。例如0000到AFFF的地址空间是内存条的存储单元范围,B000到BFFF是显卡的内存存储单元范围。