在刚开始入门计算机组成原理的时候,很多小伙伴都会被主存储器的基本结构,相关术语搞得一脸懵逼。今天,来聊下,什么是主存储器?主存储器的基本组成结构是什么?
主存储器的基本组成结构
主存就是由上图中所示的部件一起协同工作,里面的其他部件,由于涉及其他的知识点,我们留到后面再介绍。
今天,我们用这张简单的主存缩略图,来介绍下主存储器的基本组成。
存储体
那么,什么是存储体呢?我们把存储体放大来看,这里用我画的图做讲解。
存储体由哪些组成
存储体由许多的存储单元组成,每个存储单元里面又包含若干个存储元件,每个存储元件可以存储一位二进制数0/1。
存储单元:
存储单元表示存储二进制代码的容器,一个存储单元可以存储一连串的二进制代码,这串二进制代码被称为一个存储字,代码的位数为存储字长。
在存储体中,存储单元是有编号的,这些编号称为存储单元的地址号。而存储单元地址的分配有两种方式,分别是大端、大尾方式、小端、小尾方式。
存储单元是按地址寻访的,这些地址同样都是二进制的形式。
如图
这个图只显示了存储单元,里面的存储元件忽略不看的话,图中的小方格就是存储单元了,外面最大的矩形就是我们的存储体,存储单元中的数字就是地址了。
对于存储体的组成,这里引用一个形象的比喻:
存储体,相当于一栋大楼,大楼内有很多个房间(存储单元),每个房间又有很多个床位(存储元件),二进制代码0表示一个对象,1表示另一个对象(事实上0表示低电平,1表示高电平)。
MAR
MAR叫做存储地址寄存器,保存的是存储单元的地址,其位数反映了存储单元的个数。
用个例子来说明下:
比如有32个存储单元,而存储单元的地址是用二进制来表示的,那么5位二进制数就可以32个存储单元。那么,MAR的位数就是5位。
在实际运用中,我们 知道了MAR的位数,存储单元的个数也可以知道了。
MDR
MDR表示存储数据寄存器,其位数反映存储字长。
MDR存放的是从存储元件读出,或者要写入某存储元件的数据(二进制数)。
如果MDR=16,,每个存储单元进行访问的时候,数据是16位,那么存储字长就是16位。
主存储器和CPU的工作原理
在现代计算中,要想完成一个完整的读取操作,CPU中的控制器要给主存发送一系列的控制信号(读写命令、地址译码或者发送驱动信号等等)。
说明:
1.主存由半导体元件和电容器件组成。
2.驱动器、译码器、读写电路均位于主存储芯片中。
3.MAR、MDR位于CPU的内部芯片中
4.存储芯片和CPU芯片通过系统总线(数据总线、系统总线)连接。