1.存储器分类
-
按
在计算机系统中的作用
- 内部存储器 : 可以和CPU直接交换信息,主要包括
Cache
和主存
- 外部存储器 : 又称
辅存
,CPU不能直接访问,存储大量,暂时不运行的程序和数据
以及需永久性保存的信息
- 离线存储器 : 主要对在线存储数据进行备份
- 控制存储器 : 又称
微程序存储器
,用于在微程序控制的计算机系统中存放微程序
,位于CPU内部
- 内部存储器 : 可以和CPU直接交换信息,主要包括
-
按
存储介质
- 半导体存储器 (主要用作
内部存储器
)- 按
制造工艺
- 双极型存储器 :由TTL晶体管构成,特点:
速度快
,集成度低
,功耗大
,位价格高
,常用作Cache - 金属氧化物半导体存储器 :即
MOS型存储器
,特点:集成度高
,功耗低
,位价格低
,速度比双极型慢
,主存
主要由MOS型存储器
组成
- 双极型存储器 :由TTL晶体管构成,特点:
- 按
信息的可保存性
- 电易失型:断电数据丢失,多数RAM属于该类型
- 非电易失型:断电数据不丢失,各种ROM属于该类型,也有极少数RAM属于该类型
- 按
- 磁表面存储器 : 磁性材料为记录介质,磁头在磁层上读写,特点:
容量大
,价格低
,存取速度慢
- 按
磁体形状不同
- 磁盘存储器 常作辅助存储器
- 磁带存储器 常作离线存储器
- 按
- 光盘存储器 : 磁性材料为记录介质,
激光
进行信息存取,特点:容量大
,存取方便
,位价格低
,易于保存
- 半导体存储器 (主要用作
-
按
存取方式
- RAM 随机访问存储器:任何存储单元的内容都能被
随机存取
,存取时间与存储单元物理位置无关- 静态 SRAM:只需
加电
所存储信息便能稳定保持
,特点:速度快
,信息稳定
,不需刷新电路
,使用方便灵活
,集成度低
,功耗大
,成本高
,常作高速缓存存储器 - 动态 DRAM:
MOS管
的栅极分布电容
的充放电
来保存信息,需定时
对电容电荷充电
,即刷新
来维持信息稳定性,特点:集成度高
,功耗低
,价格低
,比SRAM慢
,主存主要由DRAM组成
- 静态 SRAM:只需
- ROM 只读存储器: 存取方式
随机存取
,工作时只能读不能写
,最大特点:非易失性
,高可靠性
,与SRAM DRAM相比,断电信息不消失
按照写入方式
可分为- MROM :掩膜式存储器,存储信息由生产厂家生产过程一次性写入,
元件的有无
表示二进制信息0 ,1。制成后不能改写,只适合存储永久性程序和数据
- PROM:使用专门的
PROM写入器
写入且只能写入一次,一次编程型ROM - EPROM:使用
专用编程器
写入,可进行多次擦除和再写入,可按位或字节随机读写,缺点:速度慢
,不灵活
- EEPROM:
电擦除技术
实现数据的擦除和再写入,可重写次数有限,改写不需专用编程器,使用方便灵活 - Flash Memory:闪存,
电擦写型ROM
,特点:速度快
,成本低
,容量大
,低功耗
- MROM :掩膜式存储器,存储信息由生产厂家生产过程一次性写入,
- SAM 顺序存取存储器:信息读写顺序完全按照其在存储介质上的顺序进行,
信息存取时间与所在物理位置有关
,平均存取速度较慢,磁带
属于该类 - DAM 直接存取存储器:先
快速定位
到信息所在一段小区域,然后在该区域对信息顺序
准确定位,磁盘
,光盘
属于该类 - AM 相联存储器:按
存储单元中存放的全部或部分内容
进行访问,主要应用于需快速检索
的场合
- RAM 随机访问存储器:任何存储单元的内容都能被
2.主存储器性能指标
- 存储容量
其表示格式与主存寻址方式
有关,- 按字编址
存储容量 = 存储单元个数 × 存储字长 ,单位是位(b)
- 按字节编址
存储容量 = 存储单元个数 × 存储字长 / 8 ,单位是字节(B)
- 按字编址
- 存取速度
- 存取时间:
指启动一次存储器读或写操作到完成该操作所需要的时间
- 读出时间:存储器
收到有效地址
开始,到产生有效输出
所需的时间 - 写入时间:存储器
收到有效地址
开始,到数据写入被选中单元
所需的时间
- 读出时间:存储器
- 存取周期:
指连续启动两次存储器操作所需的最小时间间隔
,略大于存取时间
存取周期 = 存取时间 + 恢复时间
- 存取时间:
- 存储器带宽:
单位时间存储器存取的信息量
存储器带宽 = 每个存取周期可访问位数 / 存取周期
提高存储器带宽的方式:缩短存取周期
,增加存储字长
,增加存储体
3.主存储器基本组成
主要由存储体
,寻址系统
,读写系统
,控制电路
组成
存储元:用于
存放二进制位
的基本器件(或电路)
被称为存储元或者存储元件
存储单元:由若干存储元
组成,对主存的读写存取以存储单元
为单位,是信息读写的基本单位,每个存储单元具有独立的地址
存储体:又称存储矩阵
,存储阵列
,是存储单元
的集合,用来存储二进制信息
- 寻址系统
地址译码器接收来自MAR
的n位地址
后进行译码,经译码和驱动
后产生2^n
个地址选择信号
,每条译码线
都需与其所控制的所有存储单元相联
,负载
很大,驱动器是为了提高译码线驱动负载能力
- 读写系统
MDR
用来缓存CPU送来的数据,或从存储单元中读出的数据 - 控制电路
读操作时,
CPU提供主存要访问的单元地址——> 主存寻址系统进行译码
——> 译码完成选中指定单元——>CPU通过控制总线发送读命令
——>主存读写电路将存储单元数据发送到数据总线传送给CPU
在主存的寻址系统中,译码器进行地址译码
的方式主要有两种:
-
线选法:单译码结构,译码结果
直接选中一个存储单元的所有位
,每一根字线
连接一个存储字
,如图4根地址线可以选中2^4=16
个存储单元,需要16套驱动电路
,特点:译码结构简单
,器件用量大
,成本高
,适合高速小容量存储器
-
重合法:双译码结构,特点:
可减少译码输出线根数
,器件用量少
,成本低
实现原理:将地址码
分为行地址
和列地址
两组,分别由行地址译码器
,列地址译码器
进行译码,行列译码重合点
即为所选中的存储元
,这些存储元
构成芯片的一个存储单元
。如图地址线宽度为10位,采用重合法,行,列地址各5位,行列译码器
都只需完成5条地址线到2^5=32
个存储单元的译码,总共需要32+32=64
套驱动电路
4.SRAM
-
基本特征:
- 只要保持
电源供电
,SRAM就能稳定地保存数据
- 使用一个
双稳态触发器
作为存储元
,加电时存储元将保持记忆二进制位
- 读非破坏性:读出操作不会影响所存储的信息,
断电信息丢失
- 只要保持
-
SRAM芯片逻辑符号方框图
- CE信号:芯片使能信号,完成
片选
功能,低电平
有效 - OE信号:读/输出使能信号,
低电平
有效 - WE信号:写/输入使能信号,
低电平
有效
CE为低电平且WE为低电平,输入三态门打开,数据写入存储器,
CE为低电平且WE为高电平,输出三态门打开,存储器的数据输出到数据线
方框图中间需表示芯片容量和类型,容量按照存储单元个数
*存储字长
表示
- CE信号:芯片使能信号,完成
5.DRAM
- 基本特征:
- 存储元由
MOS晶体管
和电容
组成, - 电容存储电荷来记录二进制信息
0,1
- 需定时补充电荷充电,又称
刷新
, - 读破坏性:执行读操作后,
被读单元内容会被清零
,读出后必须进行再生操作
,再生:把刚读出的内容立即写回去
- 存储元由
- DRAM刷新
由于DRAM存储元中的电容会因为电荷泄漏
而引起DRAM所存信息衰减
,如果不及时补充,就会造成存储元的信息丢失- 最大刷新间隔:把DRAM
能维持信息的最长时间
称为最大刷新间隔
- 刷新方式:安排
存储体
中各行的刷新时间
的策略
- 需注意的点:
- DRAM对存储矩阵
按行刷新
- 必须在
最大刷新间隔
内,对所有存储元
安排一次刷新
- 一个刷新周期刷新一行,也即一个存取周期刷新一行,刷新周期 = 存取周期
- 刷新时需提供:
行地址
,刷新信号
,这样同一行所有存储元
都被选中进行刷新操作 - 刷新所需的行地址由DRAM芯片
内部刷新计数器
提供
- DRAM对存储矩阵
- DRAM刷新方式
-
集中式刷新:将
全部存储单元
的刷新操作集中在一段时间
内完成
在整个最大刷新间隔中,前一部分用于正常的读
,写
,保持信息
,后一部分对所有存储单元
进行刷新操作,刷新时不能正常使用存储器
特点:存在访存死时间,死区
,影响系统执行效率,目前很少使用
-
分散式刷新:将刷新操作分散到
每个存取周期内
完成,即每个存取周期的前半段
用于读,写,保持信息
,后半段
用于刷新
特点:不存在死时间
,存取周期扩大一倍
,存在时间浪费,较少使用。
-
异步式刷新:是前两种方式的结合,将所有行的刷新操作
平均分配
在最大刷新间隔
内,在一个刷新间隔内,每行会且仅会被刷新一次
特点:不存在死区
,充分利用了最大刷新间隔
-
- 最大刷新间隔:把DRAM
- DRAM芯片逻辑符号方框图
由于DRAM芯片集成度高
,故容量大
,故地址引脚
数目大幅增加
- 特点:
- 将地址分为
行地址
,列地址
- 行列地址
分时复用
同一组地址引脚
- 引入
行选通信号RAS
,列选通信号CAS
- DRAM芯片
每增加一根地址引脚
,相当于行,列地址各增加一位,芯片容量
扩大4倍
- 省略
CS引脚
,片选功能由RAS引脚
兼任
- 注意的点
-
WE
信号是读写控制信号
,说明是写操作
还是读操作
-
n 是地址码总位数,由于行列地址分时复用地址线,且下标
从0开始
,故只需n/2-1
条地址线, -
m是DRAM存储单元的
存储字长
,每一位由一根数据线传输 - DRAM芯片逻辑符号方框图的中央也需要标出芯片
类型
和容量
,容量表示形式:存储单元个数 * 存储字长
-
- 将地址分为
- 特点:
6.存储器容量扩展方式
下面以SRAM为例介绍3种容量扩展方式
- 位扩展:指将多片存储芯片连接起来以
增加存储器的存储字长
- 特点:
- 扩展后的存储器总字数 = 单个芯片的总字数
- 所需芯片数量 = 存储器总字长 / 芯片字长
- 特点:
- 字扩展:将多片存储芯片连接起来以
扩充存储器的总字数
- 特点:
- 字扩展后 存储字长 = 单个芯片字长
- 所需芯片数量 = 存储器总容量 / 单个芯片容量
- 将各个存储器芯片的
数据线
,读写控制线
分别并联
- 地址线分为
高位
,低位
两部分,低位
直接与各芯片地址引脚
相连,高位
输入到片选译码器
产生各芯片的片选信号线
- 特点:
- 字位扩展:既增加
存储字数
,又增加存储字长
- 特点:
- 所需芯片数量 = 存储器总容量 * 存储器总字长 / (芯片容量 * 芯片字长)
- 读写控制线
并联
,数据线沿位方向同名端并联引出
- 存储器地址线分为
高位
,低位
两部分,低位直接与各芯片地址引脚
相连,高位输入到片选译码器
产生片选信号 - 每根片选信号连接
字方向
所有芯片的片选端
- 特点:
- 对DRAM芯片进行容量扩展与SRAM有一些区别,主要如下:
- DRAM芯片地址引脚采用
多路复用技术
,片地址分为行地址和列地址分时输入
,这要求DRAM地址线通过地址多路选择器
与总线连通 - DRAM为减少引脚数,所以
不设片选引脚
,通常将片选信号与行地址选通信号复合后通过RAS引脚
输入芯片 - DRAM芯片需要在
刷新地址计数
,刷新计时
等外围电路支持下,才能正确完成刷新操作
- DRAM芯片地址引脚采用
7.存储器与系统总线的连接
存储芯片与系统总线在连接时,主要涉及地址线
,数据线
,控制线
的连接
- 数据线的连接 :存储器的数据线的位数必须与系统总线的数据线的位数一致,并进行
逐位连接
- 地址线的连接 :单片存储器的地址线与系统总线的地址线
一一对应
,对于经过字扩展
形成的存储器,系统总线的地址线数多于单个存储芯片的地址线数,此时,系统总线地址线低位与存储芯片地址线相连,而高位常用于形成存储芯片片选信号
- 控制线的连接 :主要是读写控制线,通常总线的读写控制线直接与存储芯片的读写控制端相连,通常
高电平为读
,低电平为写
- MREQ信号:访存控制信号,低电平有效,CPU使用MREQ信号来
区分访存和访问I/O操作
下图给出了一个存储器通过系统总线与CPU连接的例子,由2个1K * 8位
的ROM芯片和6个1K * 8位
的RAM芯片共同构成一个8K*8位的存储器 - ROM一般用于存放系统程序,占用
低位地址空间
- RAM一般存放用户程序,占用
高位地址空间
- 3/8译码器
G2A
,G2B
低电平有效,G1
高电平有效,三者同时有效时译码器才能工作 - 芯片选择的一个原则:当字扩展和位扩展所用芯片一样多时,选
位扩展
- MREQ信号:访存控制信号,低电平有效,CPU使用MREQ信号来
8.高速主存储器
主要介绍两种:
- 双端口存储器:
空间并行技术
- 多体交叉存储器:
时间并行技术
- 双端口存储器:指同一个存储器具有
两组相互独立的读写控制电路
,可并行操作
,允许两个独立的CPU
或者I/O控制器
同时进行存储单元的读写- 每一个端口都有自己的
片选控制
和输出驱动控制
- 任一端口被选中时,可以对
整个存储体任意单元
进行读写操作 - 当两个端口所访问的存储单元
地址不相同
时,两个端口可以并行执行
,不会发生冲突 - 当两个端口
同时访问
的同一存储单元
,发生读写冲突
,冲突解决方法:设置BUSY标志
,由芯片上判断逻辑
决定对哪个端口优先进行读写操作,而暂时关闭另一个被延迟的端口
- 双端口存储器适用场合:
- 实现
CPU与DMA同时访存
-
多处理机
系统中,实现彼此的数据交换
- 为CPU内部运算器的两个
输入端
同时提供数据
- 实现
- 每一个端口都有自己的
- 多体交叉存储器:可
扩充容量
,减少CPU访存等待时间
,主存
通常采用多体结构
- 多体结构的存储体编址方式:
- 顺序编址(高位交叉):
高位选体
,低位体内选字
- 每个存储体
地址是连续的
,即连续地址的存储单元分布在相同的存储体中 - 按照
程序访问局部性原理
,当前指令和数据的存取与后续指令和数据的存取只能在同一个存储体内进行,无法实现多存储体的并行访问
- 目的:
扩充容量
,通过冗余提高可靠性
- 每个存储体
- 交叉编址(低位交叉):
低位选体
,高位体内选字
- 每个存储体的
地址是不连续的
,即连续地址的存储单元分布在不同的存储体中 - 主存地址低位字段选择不同存储体,高位字段指向存储体内部的存储字
- 按照
程序访问的局部性原理
,当前指令或数据的存取与后续指令和数据的存取可以并行进行
,因此可提高CPU的访存速度
- CPU对存储体的访问方式:
- 一个存取周期内,
同时访问多个存储体
,这些存储体分时使用总线
- 一个存取周期内,
分时访问每个存储体
,即对于有n个存储体的存储器,每隔 1/n 个存取周期访问一个存储体,可在一个存取周期内连续访问
n个存储体,各个存储体的读写过程重叠进行
下图展示了按第二种访问方式,具有M0~M34个存储体的多体低地址交叉存储器的时序,每隔1/4个存取周期
启动一个存储体
,在一个存取周期内可以分时访问
4个存储体,除了第一个存取周期外,每个存取周期可提供4个存储字
- 一个存取周期内,
- 每个存储体的
- 顺序编址(高位交叉):
- 多体结构的存储体编址方式:
- 双端口存储器:指同一个存储器具有