主存储器的构成
前言
上次我们介绍了在执行一段程序中CPU如何与主存交互,以及CPU与主存的基本构成。
文章图片
主存主要由MAR,MDR,主存储体构成,而主存储体只要存储的是01数据。读数据的时候,我们向MAR传入想要获取的数据的地址,就可以从MDR获取想要的数据,写数据的时候,CPU将想要把数据想要写入的地址放入MAR中,并把想要写入的数据放入MDR中,主存就会往存储体写入地址。
存储体里的数据是一串一串数据存储,每一串数据拥有一个地址,我们取数据时也是一串一串的存取。我们称这个串的长度为存储单元。
文章图片
下面让我们看看主存是如何实现数据存储的功能的。
存储单元
文章图片
一个存储元存储一个0或者1数据,主要为存储在电容上,MOS管控制输入或输出。如果电容上极板为5v,给MOS管1信号时,存储元接通,输出5v信号,也就代表输出1,输出0同理。当写入数据时,也要给MOS管1信号,同时给出口一个5v电压,电容上级板就会保持5v。
文章图片
我们将多个存储元串联,构成一个存储单元,存储单元储存一串二进制数据。
我们给上边的红线一个高电平,代表读取上边的存储单元数据,上边的存储单元里每一个存储元存储的数据就会通过绿线输出出来。实现一次数据的读取。
读个存储单元构成一个存储体。
文章图片
我们将控制每一个存储单元的线接通到译码器上,译码器输入存储单元序号(地址),经过译码器变为某根输出为1,使得数据读出,这就实现了根据地址读数据。
文章图片
为了控制主存读还是写,我们在加上读控制线与写控制线,同时加入片选线,代表这块芯片被选入。
文章图片
我们将刚才的电路封装,就是这个样子。
文章图片
一个内存条拥有很多个芯片,如上图一个内存条由8个芯片构成,我们想要的数据只存储在某一块芯片上,所以我们需要通过一个信号使得某个芯片工作,而其他芯片不工作,这就是片选线的作用。
增加主存的存储字长-—位扩展
文章图片
增加主存的存储字数--字扩展
假如我有8片8k1位的存储芯片,想组成一块8k8位的主存,就需要用到位扩展。
文章图片
假如我有两片8k8位的存储芯片,想组成一块16K8位的主存,就需要用到字扩展。选择哪片芯片的线路叫做译码器。
文章图片
如果我们需要接4片芯片,就需要一个2—4译码器。
字位扩展
【主存储器的构成】
文章图片
将二者组合
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- Docker应用:容器间通信与Mariadb数据库主从复制