CPU对存储器的读写

存储单元

存储器被分为若干个存储单元。每个存储单元从0开始顺序编号。例如一个存储器有128个存储单元。编号从0~127

电子计算机的最小信息单位是bit (音译为比特),也就是一个二进制位。8个bit位组成一个Byte,也就是通常讲的一个字节。一个存储单位有128个存储单元,它可以存储128个Byte。微型存储器的容量是以字节为最小单位来计算的,对于拥有128个存储单元的存储器,我们可以说,它的容量是128个字节。

存储器被划分为多个存储单元,存储单元从零开始顺序编号。这些编号可以看做存储单元在存储器中的地址。就像一条街,每个房子都有门牌号码。

CPU要从内存中读数据,首先要指定存储单元的地址。也就是说他要先确定他要读取哪一个存储单元中的数据。就像在一条街上找人,先要确定他住在哪个房子里。

CPU要想进行数据的读写,必须和外部器件进行下面三类信息的交互。

  • 存储单元的地址(地址信息);
  • 器件的选择,读或写的命令(控制信息);
  • 读或写的数据(数据信息)。

CPU是通过什么将地址、数据和控制信息传到存储器芯片中的呢?电子计算机能处理传输的信号都是电信号,电信号当然要用导线传送,在计算机中专门有连接CPU和其他芯片的导线。通常称为总线。总线从物理上来讲 就是一根根导线的集合。

根据传送信息的不同,总线从逻辑上又分为三类,地址总线、控制总线、数据总线。

CPU从内存中读取数据的过程

  1. CPU通过地址线将地址信息3发出
  2. CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据
  3. 存储器将3号单元中的数据8通过数据线送入CPU

例如

机器码:10100001 00000011 00000000

对应的汇编指令:MOV AX,[3]

含义:传送3号单元的内容入AX

CPU对存储器的读写_第1张图片

地址总线

CPU是通过地址总线来指定存储器单元的。可见地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。

一个CPU有n根地址线,则可以说这个CPU的地址总线的宽度为n。这样的CPU最多可以寻找2的n次方个内存单元。

数据总线

CPU与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可传送一个8位二进制数据(一个字节)。16根数据总线一次可传送两个字节。

示例

8086有16根数据总线。可一次传送16位数据。所以可一次传送数据89D8。

而8088只有8根数据线。一次只能传8位数据。所以向内存写入数据89D8时需要进行两次数据传送。

CPU对存储器的读写_第2张图片

控制总线 

控制总线的宽度决定了对外部器件的控制能力。内存读或写命令是由几根控制线综合发出的。其中有一根称为读信号输出的控制线,负责由CPU向外传送读信号。CPU向该控制线上输出低电平,表示将要读取数据。有一根称为写信号输出的控制线,则负责传送写信号。

你可能感兴趣的:(计算机组成原理,计算机基础知识)