系列文章目录
第一章 计算系统概论
第二章 运算方法和运算器
第三章 多层次的存储器
第四章 指令系统
第五章 中央处理器
第六章 总线系统
第七章 外围设备
第八章 输入输出系统
文章目录
前言
【 第三章 多层次的存储器 】
3.1 存储器概述
3.1.1 存储器的分类
- 按存储介质分类:磁表面/半导体存储器
- 按存取方式分类:随机/顺序存取(磁带)
- 按读写功能分类:ROM,RAM
- RAM:双极型/MOS
- ROM:MROM/PROM/EPROM/EEPROM
- 按信息的可保存性分类:永久性和非永久性的
- 按存储器系统中的作用分类:主/辅/缓/控
3.1.2 存储器的分级
- 目前存储器的特点是:
- 速度快的存储器价格贵,容量小;
- 价格低的存储器速度慢,容量大。
- 在计算机存储器体系结构设计时,我们希望存储器系统的性能高、价格低,那么在存储器系统设计时,应当在存储器容量,速度和价格方面的因素作折中考虑,建立了分层次的存储器体系结构如下图所示。
- 高速缓冲存储器简称cache,它是计算机系统中的一个高速小容量半导体存储器。
- 主存储器简称主存,是计算机系统的主要存储器,用来存放计算机运行期间的大量程序和数据。
- 外存储器简称外存,它是大容量辅助存储器。
3.1.3 主存储器的技术指标
- 字存储单元:存放一个机器字的存储单元,相应的单元地址叫字地址。
- 字节存储单元:存放一个字节的单元,相应的地址称为字节地址。
- 存储容量:指一个存储器中可以容纳的存储单元总数。存储容量越大,能存储的信息就越多。
- 存取时间又称存储器访问时间:指一次读操作命令发出到该操作完成,将数据读出到数据总线上所经历的时间。通常取写操作时间等于操作时间,故称为存储器存取时间。
- 存储周期:指连续启动两次读操作所需间隔的最小时间。通常,存储周期略大于存取时间,其时间单位为ns。
- 存储器带宽:单位时间里存储器所存取的信息量,通常以位/秒或字节/秒做度量单位。
3.2 SRAM存储器
- 主存(内部存储器)是半导体存储器。根据信息存储的机理不同可以分为两类:
- 静态读写存储器(SRAM):存取速度快
- 动态读写存储器(DRAM):存储容量比SRAM大。
3.2.1 基本的静态存储元阵列
- 存储位元
- 三组信号线
- 地址线
- 数据线:行线、列线
- 控制线
3.2.2 基本的SRAM逻辑结构
- SRAM芯大多采用双译码方式,以便组织更大的存储容量。采用了二级译码:将地址分成x向、y向两部分如图所示。
- 存储体(256×128×8)
- 通常把各个字的同一个字的同一位集成在一个芯片(32K×1)中,32K位排成256×128的矩阵。8个片子就可以构成32KB。
- 地址译码器
- 采用双译码的方式(减少选择线的数目)
- A0~A7为行地址译码线
- A8~A14为列地址译码线
- 读与写的互锁逻辑
- 控制信号中CS是片选信号,CS有效时(低电平),门G1、G2均被打开。
- OE为读出使能信号,OE有效时(低电平),门G2开启,当写命令WE=1时(高电平),门G1关闭,存储器进行读操作。
- 写操作时,WE=0,门G1开启,门G2关闭。
- 注意,门G1和G2是互锁的,一个开启时另一个必定关闭,这样保证了读时不写,写时不读。
3.2.3 读/写周期波形图
- 读周期
- 读出时间Taq
- 读周期时间Trc
- 写周期
- 写周期时间Twc
- 写时间twd
- 存取周期
- 读周期时间Trc = 写时间twd
3.3 DRAM存储器
3.3.1 DRAM存储位元的记忆原理
- SRAM存储器的存储位元是一个触发器,它具有两个稳定的状态。
- 而DRAM存储器的存储位元是由一个MOS晶体管和电容器组成的记忆电路,如图3.6所示。
3.3.2 DRAM芯片的逻辑结构
- 下面我们通过一个例子来看一下动态存储器的逻辑结构如图。
- 图3.7(a)示出1M×4位DRAM芯片的管脚图,其中有两个电源脚、两个地线脚,为了对称,还有一个空脚(NC)。
- 图3.7(b)是该芯片的逻辑结构图。与SRAM不同的是:
- 增加了行地址锁存器和列地址锁存器。由于DRAM存储器容量很大,地址线宽度相应要增加,这势必增加芯片地址线的管脚数目。为避免这种情况,采取的办法是分时传送地址码。若地址总线宽度为10位,先传送地址码A0~A9,由行选通信号RAS打入到行地址锁存器;然后传送地址码A10~A19,由列选通信号CRS打入到列地址锁存器。芯片内部两部分合起来,地址线宽度达20位,存储容量为1M×4位。
- 增加了刷新计数器和相应的控制电路。DRAM读出后必须刷新,而未读写的存储元也要定期刷新,而且要按行刷新,所以刷新计数器的长度等于行地址锁存器。刷新操作与读/写操作是交替进行的,所以通过2选1多路开关来提供刷新行地址或正常读/写的行地址。
3.3.3 读/写周期、刷新周期
- 读/写周期
- 读周期、写周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间,也就是连续两个读周期的时间间隔。通常为控制方便,读周期和写周期时间相等。
- 刷新周期
- 刷新周期:DRAM存储位元是基于电容器上的电荷量存储,这个电荷量随着时间和温度而减少,因此必须定期地刷新,以保持它们原来记忆的正确信息。
- 刷新操作有两种刷新方式:
- 集中式刷新:DRAM的所有行在每一个刷新周期中都被刷新。
- 例如刷新周期为8ms的内存来说,所有行的集中式刷新必须每隔8ms进行一次。为此将8ms时间分为两部分:前一段时间进行正常的读/写操作,后一段时间(8ms至正常读/写周期时间)做为集中刷新操作时间。
- 分散式刷新:每一行的刷新插入到正常的读/写周期之中。
- 例如p72图3.7所示的DRAM有1024行,如果刷新周期为8ms,则每一行必须每隔8ms÷1024=7.8us进行一次。
- 集中式刷新:DRAM的所有行在每一个刷新周期中都被刷新。
3.3.4 存储器容量的扩充
- 字长位数扩展
- 给定的芯片字长位数较短,不满足设计要求的存储器字长,此时需要用多片给定芯片扩展字长位数。三组信号线中,地址线和控制线公用而数据线单独分开连接。
- d=设计要求的存储器容量/选择芯片存储器容量
[例2] 利用1M×4位的SRAM芯片,设计一个存储容量为1M×8位的SRAM存储器。
解:所需芯片数量=(1M×8)/(1M×4)=2片
设计的存储器字长为8位,存储器容量不变。连接的
三组信号线与例相似,即地址线、控制线公用,数
据线分高4位、低4位,但数据线是双向的,与
SRAM芯片的I/O端相连接。见书上图3.9所示。
- 字存储容量扩展
- 给定的芯片存储容量较小(字数少),不满足设计要求的总存储容量,此时需要用多片给定芯片来扩展字数。三组信号组中给定芯片的地址总线和数据总线公用,控制总线中R/W公用,使能端EN不能公用,它由地址总线的高位段译码来决定片选信号。所需芯片数仍由(d=设计要求的存储器容量/选择芯片存储器容量)决定。
[例3]利用1M×8位的DRAM芯片设计2M×8位的DRAM存储器
解:所需芯片数d=(2M×8)/(1M×8)=2(片)
设计的存储器见书上图3.10所示。字长位数不变,地址总线
A0~A19同时连接到2片DRAM的地址输入端,地址总线最高位有
A20、A20,分别作为两片DRAM的片选信号,两个芯片不会同时工
作。
- 存储器模块条
- 存储器通常以插槽用模块条形式供应市场。这种模块条常称为内存条,它们是在一个条状形的小印制电路板上,用一定数量的存储器芯片,组成一个存储容量固定的存储模块。如图所示。
- 内存条有30脚、72脚、100脚、144脚、168脚等多种形式。
- 30脚内存条设计成8位数据线,存储容量从256KB~32MB。
- 72脚内存条设计成32位数据总线
- 100脚以上内存条既用于