内存单元,CPU对存储器的读写,三大总线

.存储单元

存储器被分成若干个存储单元,每个存储单元从0开始顺序编号。电子计算机的最小信息单位是bit。8个bit组成一个Byte(虽然现在一个字节可能不是8位,有宽字符出现了,但是一般我们的机器都是8位1字节的),也就是通常所说的字节。微型机存储器的存储单元可以存储一个Byte,即8个二进制位。一个存储器如果有128个存储单元,那么它就可以存储128个Byte。

微机存储器的容量是以字节为最小单位来计算的。

对于拥有128个存储单元的存储器,我们可以说,它的容量是128个字节。常见计量容量换算:

1KB=1024B    1MB=1024KB    1GB=1024MB   1TB=1024GB

.CPU对存储器的读写

CPU要想进行数据读写,必须和外部器件(标准说法是芯片)进行下面三类信息的交互:

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

2.器件的选择(即选择要对那个一个器件进行操作 ),读或写的命令(控制信息)

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

但是,CPU是通过上面讲地址、数据和控制信息传到存储芯片中的呢?电子计算机能处理、传输的信息都是电信号,电信号当然要用导线传送。在计算机中专门有链接CPU和其他芯片的导线,通常称为总线。总线从屋里上来讲,就是一根根导线的集合。根据传输信息的不同,总线从逻辑上分为三类,地址总线,数据总线和控制总线。

.地址总线

CPU是通过地址总线来指定存储单元的。一根导线在稳定状态只有两种状态,0或者1。一个CPU有N跟地址总线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方个内存单元,即2的N次方Byte。 

.数据总线

数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可以传送一个8位二进制数据,即一个字节。

8088CPU数据总线宽度为8, 8086CPU数据总线宽度为16。如果传输数据89D8H,8088需要分两次传输,而8086只用传输一次。

.控制总线

CPU对外部器件的控制是通过数据总线来进行的。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。控制总线的宽度决定了CPU对外部器件的控制能力。

.内存地址空间

什么是内存空间?如果一个CPU地址总线宽度为10,那么可以寻址1024个内存单元,即寻址能力为1KB。这1024个可寻址的内存单元就构成这个CPU的内存地址空间。

.主板

每一台PC机都有一个主板,主板上的器件通过总线相连。这些器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽上一般插有RAM内存条和各类接口卡。

.接口卡

CPU对外部设备都不能直接控制,比如显示器、音箱、打印机等。直接控制这些设备工作的是插在扩展插槽上的接口卡。扩展插槽通过总线个CPU相连,所以接口卡也通过总线和CPU相连。CPU可以直接控制接口卡,从而实现对外设的间接控制。

.各类存储器芯片

RAM:随机存储器,可读可写,但必须带电存储,掉电后存储内容丢失。

ROM:只读存储器,只能读取数据不能写入,掉电后内容不丢失。

.内存地址空间

CPU在操控存储器的时候,把它们当做内存来对待。把它们总的看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们说说的内存地址空间。在汇编这门课中,我们面对的就是内存地址空间。内存地址空间的大小受CPU地址总线的宽度限制。8086CPU地址总线宽度为20,可以定位2的10次方个内存单元,即内存空间大小为1MB,80386CPU地址总线宽度为32,则内存地址空间最大为4GB。我们基于一个计算机硬件系统编程的时候,必须知道这个系统中的内存地址空间分配情况。这样才能保证读写操作是在预期存储器中进行的。最终运行程序的是CPU,我们用汇编编程的时候,必须从CPU的角度思考问题。

原文地址:https://www.cnblogs.com/yangguang-it/p/6688402.html