目录
分类
存储器的分类
-
半导体存储器
-
磁表面存储器
-
光盘存储器
按存取方式
-
随机存储器
-
顺序存储器
-
半顺序存储器
按存储内容可变性
-
只读存储器
-
随机读写存储器
按在计算机的作用
-
主存储器:能够被CPU直接访问,速度较快,用于保存系统当前运行所需的程序和数据
-
辅助存储器:不能够被CPU直接访问,速度较慢,用于保存系统所有需的程序和数据
-
高速缓冲存储器:能够被CPU直接访问,速度快,用于保存系统当前运行频繁使用程序和数据
-
控制存储器:CPU内部的存储单元
技术指标
存储容量
指存储器能放置的二进制代码的总数
单位为字长 : 存储单元个数 * 存储字长
单位为字节 : 存储单元个数 * 存储字长 / 8
存取速度
存取时间(ns):分为写入和写出时间,从启动一次操做到完成所经历的时间
存取周期(ns):连续启动两次访问操作所需的最小时间间隔
存取周期 = 存取时间 + 复原时间
存储器带宽(位/秒):每秒从存储器进出信息的最大数量
SRAM存储器
- 优点:访问速度快,只要不掉电可以永久保存信息
- 缺点:集成度低,功耗大,价格高
SRAM存储器的构成
- 存储体:存储单元的集合,一个存储矩阵
- 地址译码器:将CPU的地址信息转换成存储单元通选信号的电路
- 译码驱动器:用于增强驱动能力的电路
- I/O电路:一般包括读写电路和放大电路
- 片选:决定当前芯片是否被CPU选中进行访问
- 读写控制电路
- 输出驱动电路:增强数据总线的驱动能力
- 地址线:n 根地址线对应n个单元
- 数据线:n 根数据线对应n个单元
- 控制线:读写信号R//W,R//W=1,读有效;R//W=0,写有效
更多信号线如下:
译码驱动的方式
- 单译码:备选单元由字线直接决定
- 双译码:被选单元由X,Y两个方向的地址所决定
- 读写信号要在地址和片选均起作用,一段时间后有效
- 读写期间不允许地址和数据发生改变
- 地址和数据要在整个周期内有效
DRAM存储器
- 优点:集成度高,功耗约为SRAM的1/6,价格低
- 缺点:访问速度慢,电容的放电作用会使信息丢失,要长期保存数据必须定期刷新存储单元
电路的构成
- 地址多路开关:刷新是提供刷新地址,否则提供读写地址
- 刷新定时器:固定的时间间隔刷新一次
- 刷新地址计时器:刷新按行进行,用于对所刷新的行进行计数
- 仲裁电路:对同时来自CPU 的访问和刷新进行仲裁
- 定时发生器:提供行地址选通/RAS、列地址选通/CAS和写信号/WE
刷新
原因:DRAM的基本存储元——电容,会随着时间和温度而减少
周期:从上一次对整个刷新结束到下一次对整个M全部刷新一遍为止的时间
方式:以存储矩阵的行为单位刷新
- 集中式:在一个刷新周期内,利用一段固定时间,依次对存储矩阵的所有行逐一刷新,在此期间停止对存储器的读/写操作
- 分散式:将每个系统工作周期分为两部分,前半部分用于DRAM读写保持,后半部分用于刷新
- 异步式:在一个刷新周期内,分散地刷新存储器的所有行
存储器的容量扩展
字扩展(地址):
每个单元位数不变,单元个数增加
存储芯片和CPU引脚的连接方法:
- 地址线与CPU低位地址线相连
- 数据线与CPU数据线直接相连
- 读写线直接与CPU读写线直接相连
- 片选信号:由CPU高位地址和访存信号产生
举个栗子:
位扩展(数据):
存储单元数不变,每个单元位数增加
存储芯片和CPU引脚的连接方法:
- 地址线与直接与CPU地址线相连
- 数据线分别与CPU数据线不同位相连
- 读写信号和片选信号直接与CPU相连
举个栗子:
字位扩展:
每个单位的位数和单元的个数都增加
扩展方法:先位扩展,再字扩展
只读存储器
掩模式ROM:数据在芯片制造过程中写入,不能更改
一次编程ROM:用户第一次使用时写入内容
多次编程ROM:可用紫外线照射或点擦除多次修改其中的内容
高速存储器
双端口存储器:同一存储体使用两组独立的读写控制电路,可并行操做,控制读写的顺序
多模块交叉存储器——顺序方式:
- 优点:扩充容量比较方便
- 缺点:限制了带宽
多模块交叉存储器——交叉方式:
- 优点:提高了带宽
- 缺点:限制了扩充容量
存储地址:高位——模块号,低位——模块内的字号
相关题目的举例:
Cache存储器
作用:
主存将要访问的数据提前送到Cache中,CPU访问时,先访问Cache,若没有再访问主存
原理:
在一段时间内,CPU执行的程序和访问的数据大部分都在某一段地址范围内
原因:
Cache的速度很快,可以节约时间,提高效率
结构模模块化:
- CPU 访问内存时,以字为单位
- Cache与内存交换信息时,以块为单位
- 一块为若干字
基本构成:
基本单位为字,若干字为一块
Cache的读操做:
- CPU发出有效的主存地址
- 经转换变成Cache地址
- 判断要访问的信息是否在Cache中
- 若在,直接获取数据
- 若不在,访问主存,并判断Cache是否已满
- 若没有满,则将其调入Cache中
- 若满,则替换某些块
Cache的写操做:
- CPU发出有效的主存地址
- 经转换变成Cache地址
- 判断要访问的信息是否在Cache中
- 若不在,则直接写入Cache中
- 若在,则使用策略写入Cache中
Cache命中率:
指CPU要访问的信息在Cache中的比率
主系统的平均访问时间:
系统的访问效率:
例题:
主存与Cache的地址映射:
主存地址变成Cache地址的方式
全相联映射
主存中的任意字块可任意调到Cache中的任一行中
- 优点:灵活性高,有空行就插入
- 缺点:成本高,速度太慢
直接映射
主存中的每一块只能调入Cache的特定行中
- 优点:实现简单,查找简单
- 缺点:灵活性差,有的地方即使空着,也不能占用
映射示意图:
组相联映射
- 优点:速度快,利用率高
映射方式:
例题展示: