目录
(2)顺序访问存储器 SAM(Sequential Access)
存储器是计算机运行过程中信息存储交换的中心设备,从这个意义上说,现代计算机系统是以存储器为中心的。
存储器有两种基本操作 —— 读和写。
- 读操作:从存储器中读出信息,不破坏原有内容。
- 写操作:把信息写入存储器中,新的数据覆盖原有内容。
一、存储系统的层次结构
(典型结构)三级存储体系结构:高速缓存(Cache)—— 主存 —— 外存
- Cache:容量小、速度高
- 主存:容量较大、速度较高
- 外存:容量大、速度慢
当CPU要访问一个数据时,一般先在 Cache 中查找,通过对给出的主存地址码的分析,可以判断出所访问的主存存储区的内容是否已复制到 Cache 中。若所需访问的主存区间已经被复制到 Cache 中,则直接从 Cache 中读取,称为 Cache 访问命中。若当前访问区间内容不在 Cache 中,称为 Cache 访问未命中,此时需从主存中读取信息,并将当前数据所在的数据块整体调入并更新 Cache 。为此,需要实现主存地址与 Cache 物理地址之间的映射变换,并采取某种调度算法进行Cache内容的更新和替换。
二、存储器的分类
1. 按存储介质分类
(考点)红字部分考填空题。
(1)半导体存储器
① 静态存储器:利用 双稳态触发器 存储信息。
特点:非破坏性读出、有源器件(电源供电->功耗较大)、信息易失(断电->信息丢失)、速度快、集成度低(元器件多->集成度低->容量小)、功耗较大
应用场合:主要作高速缓存和小容量主存。
② 动态存储器:利用 电容存储的电荷 存储信息。
特点:需要刷新、速度低(充放电要耗费时间)、集成度高(因为元器件可以做得很小)、功耗小
应用场合:适合于作为大容量主存。
(2)磁表面存储器
利用磁层上不同方向的 磁化区域 表示信息。
特点:非破坏性读出、长期保存信息、容量大、速度慢
应用场合:适合于作辅存/外存/外部存储器。
(3)光盘存储器(只读)
利用激光对光盘表面的记录膜进行照射后是否出现融坑表示信息。
有反光 —— 1,无反光 —— 0
特点:非破坏性读出、长期保存信息、容量大、速度慢
应用场合:适合于作辅存/外存/外部存储器。
2. 按存取方式分类
(1)随机访问存储器 RAM(Random Access)
随机存取方式:
- 可按地址访问任一存储单元 ;
- 访问时间与被访问单元的地址无关。
RAM 和 ROM
两者采用的都是随机存取方式。
不同的是:ROM 是只读的,RAM 是可读可写的。在程序执行过程中,ROM 存储区只能读出信息,不能修改,而 RAM 区可以读出,也可以修改信息。
ROM 中的内容掉电时不易失, RAM 中的内容掉电时易失。
按照所用存储器芯片类型,RAM 分为:
- 静态随机访问存储器 SRAM(Static)
- 动态随机访问存储器 DRAM(Dynamic)
ROM 有:
- 固存:用户不能编程
- PROM:用户可一次编程
- EPROM:用户可多次编程(紫外线擦除)
- EPPROM:用户可多次编程(电擦除)
(2)顺序访问存储器 SAM(Sequential Access)
顺序存取方式:访问时,读/写部件按顺序查找目标地址,因此访问时间与数据位置有关。
比如:磁带。
这种顺序存取方式不适合主存,只能用于外部辅助存储器。虽然顺序存储速率较慢,但磁带的存储容量大,每位价格低。
(3)直接访问存储器 DAM(Direct Access)
直接存取方式:访问时,读/写部件先直接指向一个小区域,再在该区域内顺序查找。访问时间与数据位置有关。
比如:磁盘、光盘。
磁盘的存取方式介于纯随机存取方式与纯顺序存取方式之间,由于它首先直接指向存储器中某个较小的局部区域,不必都从头开始顺序寻址,因而称为直接访问存储器,以区别磁带那样的纯顺序存取方式。
直接存取方式的存取时间与信息所在位置有关,但快于顺序存取方式,所以适合调用较频繁的外存,作为主存的直接后援。
三、存储器的技术指标
(1)存取时间 TA
存取时间:从存储器收到读写命令,到存储器读出或写入信息所需要的时间。
(2)存取周期 TM
存取周期:存储器做连续访问操作过程中一次完整的存取操作所需的全部时间,即本次存取开始到下一次存取开始之间的距离。
(3)数据传输率 R
单位时间内存取的信息数量,又称带宽。
133M 代表该内存条每秒钟存取数据 133 百万次,Bps 的 p 是 per 的缩写。
四、半导体存储器
由于半导体存储器具有极高的存取速度、较大的存储容量等显著特点。因此,主存都采用半导体芯片组成。可读可写的半导体存储器有:
- 双极性存储单元
- 静态 MOS 存储单元
- 动态 MOS 存储单元
1. 静态 MOS 存储单元
(1)组成
(2)基本原理
(3)状态定义
“1”:T1截止,T2导通(A = H,B = L)
“0”:T1导通,T2截止(A = L,B = H)
左侧绿色端点为 A,右侧绿色端点为 B(忘记画了)。
(4)工作状态
a. 写入
b. 读出
c. 保持
小结:
只要 Vcc 电源正常向电路供电,便能维持存储信息不变;如若掉电,信息将不存在。 因此称为 静态易失存储单元。
静态 MOS 存储单元是 非破坏性读出,读出后不需重写。
上述存放 1 位二进制信息的存储电路称为一个 位单元。
2. 静态 MOS 存储芯片
(1)外特性
如何实现内部位存储单元阵列?
假设存储器为 1024 × 4 位。
1. 一维地址译码的位选方式
存储阵列的每一行对应一个字,共用一根字线。
缺点:当地址线增加时,译码器的复杂度按 2^n 增加。
绿线:发读写信号,控制读写电路。
2. 二维地址译码的位选方式
行选中,列选中,每次只能读出一位。
优点:译码线少。
缺点:需要多个位单元构成一个字。
(2)内部寻址逻辑
寻址空间为 1K,静态 MOS 存储芯片共有 1K×4 个位单元,被分成 4 个位平面,按矩阵排列。
每个平面 1K ×1 位,每平面矩阵排成 64行×16列。
二维视图
三维视图
一次性能出来 4 位。这 4 位拥有相同的行地址和列地址。
3. 动态 MOS 存储单元
① 四管单元
(1)组成
(2)定义
“1”:T1截止,T2导通;C1无电荷,C2有电荷(A = H,B = L)
“0”:T1导通,T2截止;C1有电荷,C2无电荷(A = L,B = H)
(3)写入
图示过程为写 0 。
(4)保持
(考点)为什么称为动态存储器?
MOS 管断开后,难以使泄漏电阻达到无穷大,电容总会存在泄漏通路。时间过长,电容上的电荷会通过泄漏电阻放电,导致所存储的信息丢失。为此,经过一定时间后就需要对存储内容重写一遍,也就是对存储 1 的电容重新充电,称为 刷新 。这种存储器需要定期刷新才能保持信息不变,所以被称为 动态存储器 。
(5)读出
图示过程为读 0 。读 0 的同时,W 通过 T4 对 C1 充电,可补充泄漏掉的电荷。
由此可见,四管单元为 非破坏性读出,且读出的过程可起 刷新 作用。(考点)
② 单管单元
(1)组成
(2)定义
“0”:C 无电荷或电荷量少;
“1”:C 有电荷或电荷量多。
(3)写入
(4)读出
(考点)单管单元是 破坏性读出,读出后需要 重写 。
对于单管动态存储器,读出时会自动重写补充电荷,即读一次就重写一次。
(5)保持
4. 动态 MOS 存储芯片
(1)外特性
(2)多管 DRAM 片内刷新结构图
对整个存储器来说,各存储芯片可以同时刷新。每块 DRAM 芯片则是以行为单位、逐行进行刷新,每次刷新 1 行,所需时间为 1 个刷新周期。
如果某存储器有若干块 DRAM 芯片,其中容量最大的一种芯片的行数 R = 128,则要求在 64ms 中至少应安排 128 个刷新周期。
多管 DRAM 芯片内部:
我们并不关心实际的数据,因此不需要把数据送到地址总线上。
刷新操作本质上也是在访问存储器。刷新时,由于是以存储芯片刷新矩阵中的 1 行存储电路为固定操作对象、逐行刷新,因此行地址计数器只需要提供明确的刷新行地址即可实现对存储芯片的信息写入。
刷新操作:① 发读信号 ② 给行地址
刷新操作是定时进行的、固定频率的,是系统自动安排的。
五、动态存储器的刷新
1. 刷新的定义和原因
定义:定期向电容补充电荷。
原因:动态存储器依靠电容电荷存储信息。电容电荷随时间推移将缓慢释放/泄漏,因此需要定期对原存信息为 1 的电容补充电荷。
刷新与重写的区别?
重写是因为对存储电路进行破坏性地读取信息,需要对存储电路执行恢复性重写,它是由读操作引起的。刷新与是否进行了读操作无关,只要是动态存储器,都需要定时刷新,其目的是保持电路中原来存储的信息。
2. 最大刷新间隔
大多数 DRAM 要求:2 - 64ms 内须对所有单元刷新一遍。
3. 刷新方法
各动态芯片可同时刷新,片内按行刷新。
刷新时的几个基本概念:
- 刷新周期:刷新一行所用的时间。
- 刷新周期数:刷新一块芯片所需的周期数由芯片矩阵的 行数 决定。
刷新操作本质上也是在访问存储器。
由此可知,对主存的不同访问有:
- CPU 访存:由 CPU 提供行地址、列地址进行随机访问。
- 芯片刷新:由刷新地址计数器提供行地址进行定时刷新。
4. 刷新周期的安排方式
要求在最大刷新间隔时间内对全部存储单元刷新一遍,假设最大刷新间隔时间 = 2ms 。
(1)集中刷新
集中刷新:在最大刷新间隔时间内集中地安排若干刷新周期,其余时间不安排刷新。
在死区期间不能使用存储器。
(2)分散刷新
分散刷新:将每个存取周期分为两段,前段用于正常读写,后段用于刷新。
在最大刷新间隔时间内,出现的正常访存次数通常会远大于芯片的行数,这就存在存储单元可能会被过度刷新的情况,既挤占了正常访存的机会,还浪费了刷新资源。
(3)异步刷新
异步刷新:按行决定所需刷新周期,并分散在最大刷新间隔时间内。
一块动态存储芯片共 128 行,2ms / 128 = 15.6 μs。即每隔 15.6 μs 提出一次刷新请求,刷新一行;在 2ms 内刷新完全部 128 行。