第7章 存储器分层体体系结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cache的基本工作原理
处理器 命中: 数据在高层存储器
缺失: 数据没有位于高层存储器
数据行或块
电子科技大学计算机科学与工程学院
术语
命中率 在高层存储器中找到访问数据的比例。 缺失率 在高层存储器中没有找到访问数据的比例。 缺失率 = 1 – 命中率
电子科技大学计算机科学与工程学院
术语
A. 只写Cache?
B. 只写Memory?
C. 同时时写Cache和Memory? D. 其它?
电子科技大学计算机科学与工程学院
基本的Cache设计-直接映射 主存中每一个页只能映射到某一固定的Cache页 中,直接映射有如下函数关系:
K = j mod Cache中的页数
K : Cache的页号 j : 主存的页号 n : Cache页号的位数 Cache中的页数 = 2n
电子科技大学计算机科学与工程学院
7.1 存储器概述
直接存取储器(DAM)
第1步:直接选取该区域
第2步:该区域内顺序存取
电子科技大学计算机科学与工程学院
7.1 存储器概述
按可更改性分类 只读存储器(ROM)
最初的信息是如 何写入的呢?
读/写存储器
电子科技大学计算机科学与工程学院
7.1 存储器概述
计算机组成与系统结构
Computer Organization And Systems Architecture
教师:张建
E-mail: Zj960514@163.com
电子科技大学计算机科学与工程学院
办公室: 主楼B1-707
引言
冯· 若依曼(Von · Nouma) 美籍匈牙利数学家 1903 – 1957
按功能分类 高速缓冲存储器 主存储器 辅助存储器 海量后备存储器
电子科技大学计算机科学与工程学院
主存储器基本框图
数据线
地址线
地 址 寄 存 器
地 址 译 码
读写控制信号
读写控制电路
电子科技大学计算机科学与工程学院
7.1.3 存储器的主要性能指标 存储器的主要性能指标
存储容量 单位:Byte、KB、MB、GB 存取周期 CPU连续访存中平均一次存取操作所需的 时间。 存储器的带宽 单位时间内传输的最大数据率,字节/秒
位扩展
在位数方向扩展(加大字长),使芯片的位数与 系统要求位数相一致的。
电子科技大学计算机科学与工程学院
7.3.2 存储器芯片的扩展
电子科技大学计算机科学与工程学院
字扩展
译码电路
电子科技大学计算机科学与工程学院
7.4 半导体只读存储器和Flash存储器
半导体只读存储器 掩膜只读存储器 可编程只读存储器 可擦除可编程只读存储器 电擦除电改写只读存储器
增长: 50% / 年
电子科技大学计算机科学与工程学院
“Moore’s Law”
Cache的基本工作原理
问题:存储器太小、太慢 办法:存储器系统分层结构
处理器
控制器
数据 路径
寄 存 器
L1 Cache (SRAM)
L2 Cache (SRAM)
存储器 (内存) (DRAM)
外存 (硬盘)
电子科技大学计算机科学与工程学院
9位
数据页(512B)
电子科技大学计算机科学与工程学院
基本的Cache设计-直接映射
CacheBiblioteka Baidu址结构的设计
必须与主存页 大小相同
Cache的容量为8KB,每页大小512B,分为16页
1位
有效位
7位
标记位 数据页(512B)
数据是否已存入标记
电子科技大学计算机科学与工程学院
基本的Cache设计-直接映射
需多片组合起来以扩展字长(位扩展)或字数(字
扩展)或字位全扩展。
位扩展
在位数方向扩展(加大字长),使芯片的位数与 系统要求位数相一致的。
电子科技大学计算机科学与工程学院
7.3.2 存储器芯片的扩展
当单个存储芯片的容量不能满足系统要求时,
需多片组合起来以扩展字长(位扩展)或字数(字
扩展)或字位全扩展。
电子科技大学计算机科学与工程学院
举例
假设一个直接映射的Cache,有16KB数据, 块大小4个字,地址32位,那么Cache总共有 多少位?(即Cache的大小)
参考答案:
MIPS中:32位/字=4字节/字 块大小:4字/块=16字节/块=128位/块 16KB分为:16K÷16=1K=1024(块)
数据 指令
但问题是:存储器太小、太慢?
电子科技大学计算机科学与工程学院
局部性原理
时间局部性
Really? 别骗我!
如果某个数据被访问,那么很快它有可
能再次被访问。 空间局部性 如果某个数据被访问,那么与它邻近的
数据有可能很快被访问。
电子科技大学计算机科学与工程学院
Cache的基本原理
DRAM的发展趋势 容量:4倍/3年
System Controller
(I/O Bus)
电子科技大学计算机科学与工程学院
Cache的原理 插入到CPU与主存间 CPU
由快速SRAM实现
存储程序的部分 指令 操作: 数据
Cache
命中(在Cache中) 未命中 (不在Cache中)
主存
电子科技大学计算机科学与工程学院
组号 组号
…
第0页 第1页
…
组号 7位
第15页 Cache
1组
定位Cache页, 读取组号
相等吗?
127组
据此判断内存目标页 是否在Cache中
电子科技大学计算机科学与工程学院
基本的Cache设计-直接映射
内存地址结构的设计
主存的容量为1MB,每页大小512B,分为2048页
7位
组号
4位
组内页号
存储程序概念
要运行的程序必须先调入内存,然后再执行。
Load
程序
Execute Memory
CPU
One by one
All
电子科技大学计算机科学与工程学院
7.1 存储器概述
存储器的分类
半导体存储器 1. 静态随机存储器 — SRAM 2. 动态随机存储器 — DRAM
3. 闪存 - Flash Memory 磁表面存储器:
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
动态存储器DRAM
假设要将“1”存 储在该单元中
1 1 1 1
1
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
从存储单元中读出数据
①预充电VB V1=“1”的电平 V0=“0”的电平 VB=(V1+V0 )/2 ③该点有充放电现象, 以此判断1/0
例题:
例7.2
(1)Cache的命中率?
访存次数: 未命中次数:
命中率:
电子科技大学计算机科学与工程学院
例题:
例7.2
(2)CPU的平均访存时间?
电子科技大学计算机科学与工程学院
实现Cache的4个关键问题
1:数据块放在Cache的什么地方? 2:如何在Cache中找到所需的数据块? 3:Cache未命中时如何转换数据块? 4:写数据时如何写?
速度:2倍/10年
电子科技大学计算机科学与工程学院
性能
1000 100 10 1
Cache的基本原理
CPU与Memory的速度差
DRAM CPU
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
Memory
Block 0 Block 1 … … … … … Block n-1
Cache
Tag … … … Tag Block 0 … … … Block m-1
电子科技大学计算机科学与工程学院
基本的Cache设计-全相联映射 地址结构设计
判断是否在Cache中
主存的容量为1MB,每页大小512B,分为2048页
VCD - Video Compact Disc 700MB
电子科技大学计算机科学与工程学院
7.1 存储器概述
存储器存取方式
随机存取存储器(RAM)
• • 可按地址随机地访问任一存储单元 访问时间与访问地址无关
顺序存取存储器(SAM) 必须按顺序访问,例如:磁带。 速度慢,现在已Out了。
电子科技大学计算机科学与工程学院
7.1.4 存储器的层次化结构
CPU Cache 主存储器
解决CPU与主存 与速度不匹配 的矛盾 解决大容量低成 本矛盾
冯· 若依曼计算 机体系结构
辅助存储器
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
六管静态MOS管存储单元
1 1
0
假设要将“1”存 储在该单元中
1 ②
1/0 1
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
从动态存储器的工作原理可知: • 集成度高,功耗低,位成本低。 • 由于电容存存漏电现象,需周期刷新。
• 是破坏性读出,需读后重写。
电子科技大学计算机科学与工程学院
7.3.2 存储器芯片的扩展
当单个存储芯片的容量不能满足系统要求时,
1 1
0
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
静态RAM的组成
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
静态存储器(SRAM)的特点: (1) 无需进行数据的刷新,外围电路简单。 (2) 速度快。 (3) 管数较多,成本高。
(4) 功耗大,双稳态触以器中始终有一个MOS
半导体Flash存储器
电子科技大学计算机科学与工程学院
7.5 并存储器结构技术
连续编址方式
译码电路
电子科技大学计算机科学与工程学院
7.5 并存储器结构技术
交叉编址方式
译码电路
电子科技大学计算机科学与工程学院
7.6 高速缓冲存储器
存储器向处理器提供指令和数据
处理器 控制器 数据路径 存储器 输出 输入
容量、转速
容量、存储周期
例:2GB 60ns
例: 200GB 7200转/分
电子科技大学计算机科学与工程学院
7.1 存储器概述
光盘存储器: 1. CD-ROM:只读性光盘
2. WORM:写入式(只能写一次)
3. CD-RW:可擦/写光盘 DVD - Digital Versatile Disc 4.7GB
电子科技大学计算机科学与工程学院
举例 1bit
有效位
有效位
18bit
标记位
标记位
128bit
数据块0
数据块1
…
有效位
…
数据块1023
1024
标记位
电子科技大学计算机科学与工程学院
举例
参考答案: 对于内存地址100005
对于前面例子,若内存地址分别 为100005和0x100005的字节将分别 6249块? 6250块?6251块? 映到Cache 的哪一块?
19 12 11 9 8 0 0000101 010 XXXXXXXXX
V Tag Data … …
DATA
HIT
0
1 1
0000101
0010111 0100100
…
… …
…
1
…
1110101 =
电子科技大学计算机科学与工程学院
基本的Cache设计-直接映射
特点:
硬件实现容易; Cache利用率低;
管导通。
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
静态RAM芯片举例
电子科技大学计算机科学与工程学院
7.2.4 半导体随机存取存储器
6264引脚功能说明:
• A12~A0:地址线 • D7~D0:数据线 • CE:片选信号 • WE:写信号 • OE:读信号 • NC:未使用
6250块 ∴ 该内存地址位于第????? 块
电子科技大学计算机科学与工程学院
举例 参考答案: 对于内存地址0x100005
十六进制 二进制
1
0
0
0
0
5
0001 0000 0000 0000 0000 0101 10位
电子科技大学计算机科学与工程学院
基本的Cache设计-全相联映射
主存中每一个页可映射到任意一个Cache页中。
命中时间
访问高层存储器所需的时间。
判断时间 + 数据传送时间
缺失代价 将数据块从低层搬到高层存储器并送到 处理器所需的时间。
电子科技大学计算机科学与工程学院
当前计算机的存储器结构
Processor L1 Cache L2 Cache Main Memory (DRAM)
Graphics Processor
电子科技大学计算机科学与工程学院
基本的Cache设计-直接映射
假定:
主存的容量为1MB,每页大小512B,分为2048页; Cache的容量为8KB,每页大小512B,分为16页;
二者必须 相等
电子科技大学计算机科学与工程学院
基本的Cache设计-直接映射
主存
第0页 第1页 … 第15页 第16页 第17页 … 第31页 … 第2032页 第2033页 … 第2047页 0组 7 组号 XX 4 组内页号 YY 9 页内地址 ZZ