地址总线、数据总线

CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。

地址总线

(1)CPU是通过地址总线来指定存储单元的。

(2)地址总线决定了cpu所能访问的最大内存空间的大小。eg: 10根地址线能访问的最大的内存为1024位二进制数据(1B)

(3)地址总线是地址线数量之和。
若CPU的地址总线宽度是32位,那么CPU的寻址范围是4G,所以最多支持4G内存。

数据总线

(1) 是CPU与内存或其他器件之间的数据传送的通道。

(2)数据总线的宽度决定了CPU和外界的数据传送速度。

(3)每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。

(4)数据总线是数据线数量之和。

数据总线的位数决定CPU单次通信能交换的信息数量

数据总线的宽度对CPU的性能的影响

  1. 首先,总线的速度(即:CPU的主频,CPU的性能指标之一)决定CPU和外设互换信息的速度。

  2. 其次,数据总线的宽度也是表示CPU性能的参数之一(通常,我们说“64位的CPU”是指CPU的数据总线的宽度是64位)。 
    如:64位数据总线的CPU一次就能取出64bit的数据,8位数据总线的CPU一次只能取出8bit的数据,在相同频率的情况下,8位数据总线的CPU就得连续取8次数据,数据量才能和64位数据总线一次取出的数据量相同,单就比较取数据的性能就相差8倍。况且,通常CPU中的寄存器的位数与数据总线的宽度一样,所以在数据处理方面,64位的CPU又比8位的CPU快很多。

  3. CPU的地址总线位数和数据总线可以不同(典型代表就是51单片机),但是一般都相同。

以下内容摘抄自网友的文章: 
地址总线宽度不是直接影响到性能的参数。给个例子: 
假如说有个36位地址总线宽度、32位数据总线宽度的A型号的CPU, 
假如还有个32位地址总线宽度、32位数据总线宽度的B型号的CPU。 
你觉得这两个型号的CPU性能上能差到哪吗?只不过B型号的CPU地址超过了32位可能就不行能,也可能需要用其他的方式组合出更长位宽的地址来,总之不如A型号直接、高效。但是,只要不是这样的情况,A和B的其他因素相同,你觉得A和B两个CPU的性能差到哪吗。

其实,intel的x86CPU就刚好有这样的情况,36位地址总线宽度、32位数据总线宽度,寄存器是32位的,你会想,那寄存器放不下36位的地址,那怎么办呢,其实它是用某种方法组合出来的36位地址,段地址32位向高位偏移4位后加上偏移地址,就出来36位的地址。 
一般,寄存器的宽度和数据总线宽度是一致的,地址总线可以通过某种方式组合出来,所以可以不一致。毕竟寄存器绝大部分时间是要存储和处理数据的,不是吗,地址作为数据使用的情况在整个程序运行中占的时间是很少数的。

例题:若内存容量为4GB,字长为32,则______。
A.地址总线和数据总线的宽度都为32
B.地址总线的宽度为30,数据总线的宽度为32
C.地址总线的宽度为30,数据总线的宽度为8
D.地址总线的宽度为32,数据总线的宽度为8
答案:A
   内存容量为4GB,即内存单元的地址宽度为32位。字长为32位即要求数据总线的宽度为32位,因此地址总线和数据总线的宽度都为32。

猜你喜欢

转载自blog.csdn.net/m0_37884601/article/details/81264955
今日推荐