前言

上次我们介绍了在执行一段程序中CPU如何与主存交互,以及CPU与主存的基本构成。
image.png
主存主要由MAR,MDR,主存储体构成,而主存储体只要存储的是01数据。读数据的时候,我们向MAR传入想要获取的数据的地址,就可以从MDR获取想要的数据,写数据的时候,CPU将想要把数据想要写入的地址放入MAR中,并把想要写入的数据放入MDR中,主存就会往存储体写入地址。

存储体里的数据是一串一串数据存储,每一串数据拥有一个地址,我们取数据时也是一串一串的存取。我们称这个串的长度为存储单元。
image.png
下面让我们看看主存是如何实现数据存储的功能的。

存储单元

image.png
一个存储元存储一个0或者1数据,主要为存储在电容上,MOS管控制输入或输出。如果电容上极板为5v,给MOS管1信号时,存储元接通,输出5v信号,也就代表输出1,输出0同理。当写入数据时,也要给MOS管1信号,同时给出口一个5v电压,电容上级板就会保持5v。
image.png
我们将多个存储元串联,构成一个存储单元,存储单元储存一串二进制数据。
我们给上边的红线一个高电平,代表读取上边的存储单元数据,上边的存储单元里每一个存储元存储的数据就会通过绿线输出出来。实现一次数据的读取。
读个存储单元构成一个存储体。
image.png
我们将控制每一个存储单元的线接通到译码器上,译码器输入存储单元序号(地址),经过译码器变为某根输出为1,使得数据读出,这就实现了根据地址读数据。
image.png
为了控制主存读还是写,我们在加上读控制线与写控制线,同时加入片选线,代表这块芯片被选入。
image.png
我们将刚才的电路封装,就是这个样子。
image.png
一个内存条拥有很多个芯片,如上图一个内存条由8个芯片构成,我们想要的数据只存储在某一块芯片上,所以我们需要通过一个信号使得某个芯片工作,而其他芯片不工作,这就是片选线的作用。

增加主存的存储字长-—位扩展

image.png

增加主存的存储字数--字扩展

假如我有8片8k1位的存储芯片,想组成一块8k8位的主存,就需要用到位扩展。
image.png
假如我有两片8k8位的存储芯片,想组成一块16K8位的主存,就需要用到字扩展。选择哪片芯片的线路叫做译码器。
image.png
如果我们需要接4片芯片,就需要一个2—4译码器。

字位扩展

image.png
将二者组合


小强Zzz
1.2k 声望32 粉丝

引用和评论

0 条评论