考纲(三)、存储器层次结构
(1)存储器的层次化结构
(2)主存储器与CPU的连接
(3)高速缓冲存储器(Cache)
- Cache的基本工作原理
- Cache和主存之间的映射方式
- Cache中主存块的替换算法与写策略
- 多层次Cache性能计算
(4)虚拟存储器
- 虚拟存储器的基本概念
- 页式虚拟存储器
- TLB(快表)
3.1 存储器的层次化结构
3.1.1 存储器的分类与性能指标
3.1.3 存储器的层次结构
- Reg - Cache - MM - 2ndS - 3rdS
- 二级存储系统:高速缓冲存储器(Cache)+ 主存储器
- 三级存储系统:Cache + 主存储器 + 辅存储器(虚拟存储器)
3.2 主存储器与CPU的连接
3.2.1 主存储器的存储单元电路
- *SRAM、DRAM、ROM存储器的工作原理
- SRAM 与 DRAM 的对比
3.2.2 主存储器存储芯片的内部结构
(1) 芯片容量的基本描述
存储位元 = 字单元数 X 每个字单元的位数:$2^n×m$
- 单位:$K=2{10}$,$M=2$,$G=2{30}$,$T=2$
- 【例】容量标识为 1K×2 的存储芯片:
- 意义:任意时刻可以(且只能)访问1024个独立字单元中的任一个;
- 有多少个存储位元:2048个(每个存储位元可存储 1 位二进制代码);
- 有多少条地址线:1024个(按字单元寻址,地址线数 = 字单元数)
- 需要多少条数据线:2条(一次访问一个字单元,数据线数 = 每个字单元的位数)
(2) 存储芯片的基本结构
(3) 存储芯片的地址结构
一维地址结构(线选法) | 二维地址结构(重合法) |
矩阵 $2^n×m$ ,选择线(W) $2^n$,数据线(D) $m$ | 矩阵 $2{\frac{n}{2}}×(2{2}}×m)$,选择线 $2{\frac{n}{2}}+2{2}}$,数据线 $m$ |
(4) 存储芯片实例 —— SRAM
SRAM 2114(1K×4)芯片结构图
(5) 存储芯片实例 —— DRAM
DRAM 4M×4 芯片结构图(内部包含刷新电路)
3.2.3 存储器的扩展
单片存储芯片不能满足存储系统的需求时,需进行存储扩展
(1) 位扩展 2$^n$×m
- 原因:存储字单元数量够(地址空间满足),但每个字的位数不够。
- 方法:多个存储器芯片的数据位空间拼在一起。
- 实例:
1K×4
的SRAM芯片构成1K×8
的存储器
(2) 字扩展 2$^n$×m
- 原因:每个字的位数够,存储字单元数量不够(地址空间不满足)。
- 方法:多个存储器芯片的字空间(地址空间)拼在一起。
- 实例:
1K×8
的SRAM芯片构成4K×8
的存储器
(3) 混合扩展 2$^n$×m
- 实例:
4K×4
的SRAM芯片构成16K×8
的存储器
(4) 扩展方法总结与示例
- 基本思路
- 确定每个芯片的地址管脚数、数据管脚数。
- 确定整个存储空间所需的地址总线和数据总线的数量。
- 计算所需芯片的数量,确定每个芯片在整个存储空间中的地址空间范围、位空间范围。
- 所有芯片的地址管脚全部连接到地址总线对应的地址线上。
- 同一字空间的芯片CS信号连在一起。
- 同一位空间的数据线连在一起,并连接到对应的数据总线上。
- 根据每个芯片的地址空间范围,设计芯片所需的片选信号逻辑,CS逻辑电路的输入一定是地址总线中,没有连接到芯片地址管脚上的那部分地址线。
- 统一读写控制。
- 示例 1:用3片16K×4的SRAM芯片和若干8K×4的SRAM芯片组成一个64K×8的按字节编址的存储器。点击显示详细步骤
- 示例 2
3.2.4 DRAM的刷新
(1) 为什么需要刷新?
- DRAM存储单元电路采用电容结构存储状态,在保护状态下,两级间存在漏电流,导致电容上的电荷出现变化,故必须在一个时间内重写数据,这个时间称为单元电路的刷新时间。(一般为4ms、8ms等。)
- 同时,由于读出操作是一种破坏性操作,读1时,Cs放电;读0时,Cs充电;所以读出操作后,原保存在Cs上的数据(电荷)被破坏,应该立即进行恢复(重写或刷新)。
(2) 刷新的原理是什么?
- 刷新由传感放大器在读出过程中同时完成,即读过程实际上就是一次刷新过程;
- DRAM的刷新,就是通过这样的读操作来实现的。
- 特点:①按行刷新,所有芯片同时进行;②刷新操作与CPU访问内存分开进行。
(3) 刷新的方式是什么?
集中刷新方式 | 分散刷新方式 | 分布式 (异步) 刷新方式 | |
原理 | 将刷新周期分成两部分:在一个时间段内,刷新存储器所有行,此时CPU停止访问内存;另一个时间段内,CPU可以访问内存,刷新电路不工作。 | CPU与刷新电路交替访问内存,一个存储周期刷新1行,下一个存储周期刷新另一行,直至最后1行后,又开始刷新第1行。 | 保证在一个刷新周期内将存储芯片内的所有行刷新一遍,可能等时间间距,也可能不等。 |
刷新间隔 | 刷新周期 | 刷新行数 × 存储周期 ≤ 刷新周期 | 刷新周期 |
示意图 | |||
特点 | 存在不能进行读写操作的死区时间 | ①不存在停止读写操作的死时间; ②但使得系统速度降低 | ①前两种方式的结合; ②可减少死时间,同时保证性能 |
3.3 高速缓冲存储器(Cache)