主存储器(一)

一、主存储器技术指标

1.主存容量

容量单位:位(bit)、字节(Byte)(1B=8b)
存储字(Word)
➢ 一个二进制数由若干位或字节组成,当这个二进制数作为一个整体存入或取出时,这个数称为存储字。
存储单元
➢ 存放存储字或存储字节的主存空间称为存储单位或主存单元
➢ 由计算机的结构确定
是CPU对主存可访问操作的最小存储单位
编址方式
以字或者字节为单位表示的主存储器存储单元的总数。
➢ 字节编址:以字节数表示
➢ 字编址:字数×字长(bit)

例如:设机器按字节编址,设地址线24根(每根地址线可以传入0或1两种数据,24根有 2 24 2^{24} 224种01组合的情况)
按字节寻址: 寻址范围 2 24 2^{24} 224 个* 1B = 16MB
按字寻址: 若字长为16位 寻址范围8MW
若字长为32位 寻址范围4MW

主存中存储单元地址的分配
在这里插入图片描述

在这里插入图片描述
例题:
在这里插入图片描述
注意:1K= 2 10 2^{10} 210;1M= 2 20 2^{20} 220;1G= 2 30 2^{30} 230
解答:32K= 2 15 2^{15} 215故地址线为15根,16位代表需要16根数据线。
在这里插入图片描述

例题:某计算机系统,内存按字节编址,有28根地址总线,字长为32位(数据总线为32根),分别求出按字节寻址和按字寻址时可寻址的单元个数。
答:因为按字节编址,所以每个地址对应一个字节(8位二进制数)。
按字节寻址时,28根地址线,可以表示 2 28 2^{28} 228个(256M个)单元,即0~ 2 28 2^{28} 228-1。
按字寻址时,因为字长为32位,即每个字包含4个字节,因此,每个字地址需要保留2位作为字地址内的字节索引,只剩28-2=26位可用地址,表示 2 26 2^{26} 226个(64M个)单元。
但是,不管按什么方式寻址,内存的容量是一致的,即 2 28 2^{28} 228 B = 2 26 2^{26} 226 * 4B = 256MB

2.存储器存取速度

• 存取时间 存储器的访问时间
存储器存取时间(Ta)(指启动一次存储器操作到完成该操作所经历的时间)
➢ 读出时间:指从CPU向主存发出有效地址和读命令开始,直到将被选单元的内容读出为止所用的时间。
➢ 写入时间:指从CPU向主存发出有效地址和写命令开始,直到信息写入被选中单元为止所用的时间。
存储周期Tm(存取周期、访问周期、读写周期)
➢ 连续启动两次独立的存储器操作(读或写)所需间隔的最小时间( ns级)
存储周期Tm > 存储器存取时间Ta
➢ 存储器由于读出放大器、驱动电路等都有一段稳定恢复时间,读出后不能立即进行下一次访问。

3.主存带宽

在这里插入图片描述

主存带宽Bm(数据传输率)
➢ 表示每秒从主存进出信息的最大数量,单位为字/秒、字节/秒、位/秒。
➢ 例如:存取周期为500ns,每个存取周期可以访问16位,则带宽为32M位/秒。
➢ 存储器带宽决定了以存储器为中心的机器获得信息的传输速度,它是改善机器瓶颈的一
个关键因素。为提高存储器带宽,可采取如下措施:
• 缩短存取周期
• 增加存储字长
• 增加存储体

二、主存储器的基本操作

冯诺依曼体系结构下的主存储器基本操作:
AB:地址线; DB:数据线; CB:控制线
异步协同工作方式时,在存储器完成读写任务之后,需要向控制总线发送Ready信号。

1.读/取操作

在这里插入图片描述

2.写/存操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
半导体存储芯片的基本结构
在这里插入图片描述
存储芯片片选线
在这里插入图片描述

三、读/写存储器

随机存储器根据记忆单元的结构
静态存储器 SRAMMOS双稳态触发器
动态存储器 DRAMMOS电容存储电荷

1.预备知识

在这里插入图片描述
在这里插入图片描述

2.SRAM

T1-T4组成两个反相器,交叉耦合连接。
T5-T6读写操作的控制门
在这里插入图片描述
如何保持信息?
当未被选中时,字选择线保持低电平,两条位线保持高电位,T5和T6不导通处于截止状态,故可将电荷保存在T1—T4中,即信息保存在其中。
在这里插入图片描述
如何读出信息?
字选择线保持高电位时T5和T6导通,我们可以规定T1通T2止时,存储的是1;T1止T2通时,存储的是0。若原来单元处于1态(T1导通,T2截止),就有电流自位线1经T5流向T1,从而在位线1产生一个负脉冲,因T2截止,故位线2不产生负脉冲。若触发器处于0态,即T1截止、T2导通,则与上述情况相反,在位线2将产生负脉冲。这样便可根据两条位线中哪一条产生负脉冲来判断触发器的状态。
在这里插入图片描述
在这里插入图片描述

如何写入信息?
写入时,只要位线1、位线2分别送高电位和低电位,或分别送低电位和高电位,便可迫使触发器状态发生变化,从而把信息写入单元。
在这里插入图片描述
例如:位线1送低电位、位线2送高电位,当单元被选中时,位线2便通过T6向T1栅极充电,使T1导通,而T2通过T5和位线1放电,使T2截止,从而单元便处于1态。
在这里插入图片描述

SRAM的地址译码方式:
由上面例子,我们知道:
4个单元,需要 2 2 2^{2} 22 个地址,用2位二进制数可表示
16个单元,需要 2 4 2^{4} 24 个地址,用4位二进制数可表示
16K个单元呢?需要 2 14 2^{14} 214个地址,用14位二进制数可表示
(1)单译码方式(线选法)
单译码方式又称线选法,优点是结构简单,缺点是使用的外围电路多,成本昂贵。 存储器会形成纵向很长而横向很窄的不合理结构,所以这种方式只适用于容量不大的存储器。
在这里插入图片描述
(2)双译码方式(重合法)
双译码方式又称为重合法。通常是把K位地址码分成接近相等的两段,一段用于水平方向作X地址线,供X地址译码器译码;一段用于垂直方向作Y地址线,供Y地址译码器译码。X和Y两个方向的选择线在存储体内部的一个记忆单元上交叉,以选择相应的记忆单元。
在这里插入图片描述
地址译码电路能把地址线送来的地址信号翻译成对应的存储单元的选择信号
把输入代码译成相应的控制电位,以实现代码所要求的操作。
在这里插入图片描述
读时序:不管地址先建立还是片选信号先建立,读出的延迟时间t主要由后建立的信号决定。
(左地址信号后建立,延迟时间 t 由地址信号决定;右片选信号后建立,延迟时间 t 由片选信号决定;)
在这里插入图片描述

写时序:存储器一般不允许地址在WE=0有变化,否则会将数据写入无关单元。
在这里插入图片描述

3.DRAM

DRAM为了节省外部引脚采用了行选和列选的译码方式,使外部地址线条数只是实际寻址地址线条数的一半。

(1)DRAM工作原理

左为三管动态RAM;单管动态RAM。
在这里插入图片描述
三管动态RAM:
读出操作:读出与原存信息相反。(在读数据线的输出端需要加一个非门)
预充电后T4导通,此时Vdd通过T4为读数据线充电,读数据线暂时呈高电平(表示1),然后读选择线有效(呈高电平)T2导通。
当Cg有电时(存1)T1导通,读数据线通过T2、T1放电,放电后呈低电平,读出信息为0(存1读0);
当Cg无电时(存0)T1未导通,读数据线保持高电平,读出信息为1(存0读1)。
写入操作:写入与输入信息相同。
写选择线呈高电平,T3导通,写数据线呈高电平时通过T3给Cg充电,则Cg中保存的是1;写数据线呈低电平时通过T3给Cg放电,则Cg中保存的是0。
单管动态RAM:
读出操作:读出时数据线有电流为“1”,无电流为“0”。
字线为控制线,选中时呈高电平T导通,若Cs存0则数据线无电流(读0),若Cs存1则数据线有电流(读1)。
写入操作:写入时Cs充电为“1”放电为“0”。
字线为控制线,选中时呈高电平T导通,数据线有电流则为Cs充电(写1),数据线无电流则Cs放电(写0)。

三管动态RAM的另一种形式:
在这里插入图片描述
单管动态RAM的另一种形式:
在这里插入图片描述
(2)DRAM重写
对单管单元的读出是一种破坏性读出,在数据线上接一个“读放”,在读出的同时,读放又使该单元的存储信息自动得以恢复。DRAM每列都有自己的读放。
16K×1位动态存储器框图:
在这里插入图片描述
(3)DRAM刷新(再生)

➢ 电容漏电阻的存在
➢ 每隔一定时间必须对存储体中所有记忆单元的栅极电容补充电荷。
➢ 对于DRAM,允许的最大刷新间隔为2ms(刷新周期)
➢ 采用“读出”的方式进行刷新,按行进行,每刷新一行占用一个存取周期。(DRAM每列都有读放)
刷新(再生)与重写的区别:重写是随机的,而刷新是定时的。

刷新方式:
下面将通过一个例子分别介绍集中式刷新、分散式刷新和分布式(异步式)刷新
在这里插入图片描述

  1. 集中式

定义:是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作
刷新时间 = 存储体矩阵行数 × 存取周期
由于必须集中安排若干个刷新周期,故刷新时停止读写操作,产生死区。

在这里插入图片描述

2.分散式

定义:把刷新操作分散到每个存取周期内进行,此时系统的存取周期被分为两部分,前一部分时间进行读/写操作或保持,后一部分时间进行刷新操作。

在这里插入图片描述

  1. 分布式(异步式)

定义:前两种方式的结合,既可以缩短死时间,又充分利用最大刷新间隔。
相邻两行的刷新间隔 = 最大刷新间隔时间 / 行数

在这里插入图片描述
MOS型DRAM的刷新要注意几个问题:

◆ 刷新对CPU是透明的
◆ 刷新是一行一行进行的,每一行中各记忆单元同时被刷新(以行为单位刷新)
◆ 刷新操作类似于读出操作
因为所有芯片同时被刷新,所以在考虑刷新问题时,应当从单个芯片的存储容量着手,而不是从整个存储器的容量着手

DRAM的发展:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.动态RAM和静态RAM的比较

在这里插入图片描述

同样大小的芯片中,DRAM的集成度远高于SRAM
➢ DRAM芯片引脚少,封装尺寸小
➢ DRAM功耗比SRAM低
➢ DRAM价格比SRAM低
➢ DRAM使用电容,所以存取速度比SRAM低
➢ DRAM需要再生,需要配置再生电路
因此,DRAM被广泛用于计算机的主存,SRAM被用于容量不大的高速缓冲存储器。

四、存储器的分类

1.按存储介质

➢ 磁芯存储器(破坏性读出)
➢ 磁表面存储器:磁盘、磁带
➢ 半导体存储器:TTL、静态MOS、动态MOS,Flash Memory
➢ 光存储器:CD、CD-ROM、DVD

2.按工作性质/存取方式

存取时间和物理地址无关(随机访问)(内存)
随机存取存储器(RAM, Random Access Memory)
只读存储器(ROM, Read Only Memory)
存取时间和物理地址有关
顺序存取存储器(SAM, Sequential Access Memory)(磁带)
直接存取存储器(DAM, Direct Access Memory)(磁盘)

3.按信息的可更改性

➢ 读写存储器(Read/Write Memory):可读可写
➢ 只读存储器(Read Only Memory):只读不写

4.按信息的可保存性

➢ 易失(挥发)性存储器(Volatile Memory):电源关闭时信息自动丢失(如RAM、Cache等)
➢ 非易失性存储器:信息可以一直保留,不需要电源维持(如ROM、磁表面、光存储器等)

5.按在计算机中的作用

在这里插入图片描述

五、例题

例1:
在这里插入图片描述
解析:EPROM、DRAM、SRAM都与磁介质无关,存取时间和物理地址无关。

例2:
在这里插入图片描述
解析:Cache为SRAM,是易失性存储器;EPROM和Flash Memory都是非易失性存储器;CDROM是辅存。

例:3:
在这里插入图片描述
解析:
1、十六进制转二进制:8FA0 H=1,000 1111 1010 0000 B
2、理解补码扩展与原码扩展要注意的区别:原码扩展在保证表示真值不变的基础上补0;而补码是原码取反后结果故在保证真值不变的基础上要补1,即相当于在原码的基础上补0;
3、转换为二进制后码的最高位表示符号位,在扩位时符号位的值不变。
4、综上,在符号位的后面进行补码补位操作,二进制:1,111 1111 1111 1111 1000 1111 1010 0000 B,故选B

例4:
在这里插入图片描述
解析:由题干分析知字长为64位即为8个字节,该存储器容量为128MB=16M*8B,故寻址单元个数为16M.
注意:可寻址单元个数不可以用B(字节)或 b(比特)为单位,因为B(字节)或 b(比特)是存储容量单位,与个数无关。

例5:
在这里插入图片描述
解析:DRAM为了节省外部引脚采用了行选和列选的译码方式,使外部地址线条数只是实际寻址地址线条数的一半。4M= 2 22 2^{22} 222,实际寻址地址线为22条,故外部地址线条数为11条,8位即需要8条数据线,11+8=19,选B。