【计组】主存储器有关知识梳理

一、主存储器

        主存储器可以直接和CPU进行通信,但是只能保存临时数据,在断电后数据就消失。还有一个特点是,主存储器的容量小,速度快,造价高。

1.构成 

        

 2.主存中存储体的构造

        最小的存储单位是存储元,存储元可以由触发器或者是电容为基本原理组成的电路构成。其中由触发器构成的是SRAM(Static静态),以电容为原理的是DRAM(Dynamic动态)。

        触发器可以稳定地保存0和1两种状态,所以说是静态的;

        而电容,只要你不充电他就会自动放电(2ms为间隔),所以说是动态的。

         以上的图只是一个简图,如果以32位机器为例,输出的数据应该是32bit,也就是说它有32列的存储元。

        传进来的地址也有一个特点:当想激活某一行的存储单元,那就需要将其他行的存储单元进行置为低电平(阻止激活),这时候会用到一个“译码器”,他会将想要激活的存储单元进行片选,比如想激活第3行:(假设使用3-8译码器,也就是说这个机器有8行存储单元)那么会给译码器输入011,这会使他自己输出0000 0100,这样就会使得第三行的行置为高电平从而激活这一整列的存储单元。

        输出的数据叫做存储字(因为是存储元中存储的0/1),有几个存储字,那么存储字节就是几。

包含关系: 存储体->存储单元->存储元->存储字

        这时就会牵扯出一个概念:就是容量,容量是表示存储器性能的重要指标。(按照上面的图解,容量就是能够放下的字的多少,那么就是行*列即可求出)

         计算方法:

        容量 = 存储字长(列) * 存储存储单元个数(行)->这是按照位进行计算求出的容量,单位是bit

        还有另一种形式,是以byte为单位求出的容量(1byte = 8bit),那么直接给上式除以8即可。

         容量 = 存储字长(列) * 存储存储单元个数(行)/ 8


       3.怎么确定这个地址是在读取数据/写入数据?

        但是现在又有一个问题,每次给的地址都是寻址范围中的数字,也都能找到对应的存储空间然后找到对应的数据,但是怎么确定它是在向这个空间中写数据还是从这个数据读数据呢?

        其实在译码器前面还有一个控制电路,这个控制电路一边连着译码器,一边连着“片选线”(用来控制选择哪个存储单元)、“读控制线”、“写控制线”。

        这时,整个存储单元就是已经完整了,每次传进去的“地址”就是我们编程时候常说的那个“地址”了。

二、在主存储器上宏观看待存储体

存储体是由存储单元构成的,一个存储单元一般是8个存储元,如果直接对于存储元进行管理那将会编码出非常多的地址,所以在存储体与MAR(地址寄存器)之间会加上一层译码器对于存储单元进行管理,译码器的一头连接MAR输入的二进制地址,根据这个二进制地址编码出相应的2^n位二进制序列来管理相应的存储单元。

同时,由于管理的存储单元较多,所以可能电流不是很够用,所以还有一层:驱动器,以增加供电能力。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值