cache存储器.ppt
合集下载
第4章 存储器
2.数据总线匹配和存储器接口
奇 存 储 体 (512KB) 偶 存 储 体 (512KB)
00001H 00003H 00005H · · ·
00000H 00002H 00004H · · ·
FFFFFHH
FFFFEHH
A19~A1
D15~D8
BHE
D7~D0
A0
图4.23 8086的存储体组织
字选择线
。
位 线
T1
C
D
图4.8
单管动态存储元
2. DRAM存储芯片实例(见图4.9)
4.2.3 存储器芯片的读/写时序
tCYC tRAS RAS
CAS
tCAS
地址
行地址 tRCS
列地址 tRCH
tCYC:读周期时间 tRAS:RAS脉冲宽度 tCAS:CAS脉冲宽度 tRCS:读命令建立时间 tRCH:读命令保持时间 tDOH:数据输出保持时间
4.1 存储器系统概述
4.1.0 存储器系统的Cache—主存层次结构
硬件管理
CPU
Cache
主存储器
图4.0 Cache—主存存储层次
4.1.1 存储器分类
1.按存储介质分类 (1)半导体存储器 (2)磁表面存储器 (3)光盘存储器 2.按存取方式分类 (1)随机存储器RAM (2)只读存储器ROM (3)顺序存储器SAM (4)相联存储器 3. 按在计算机中的作用分类 (1)主存储器 (2)外存储器 (3)高速度缓冲存储器(Cache) (4)控制存储器 4. 按信息的可保存性分类
R/W 32K×8
D7~D0
R/W D7 ~D0
图4.26
内存与CPU的连接框图
第四章-存储器04-高速缓冲存储器
Cache 000 001 010 011 100 101 110 111 000 001 010 011 100 101 110 111
调入
4.1、地址映象——直接映像
例2:设一个Cache中有8块,访问主存进行读操作的块地址依次为: 10110、11010、10110、11010、10000、00100、10010, 求每次访问时Cache的内容。
硬件完成功能: 访存地址 转成 Cache地址 辅助存储器
Cache 的全部功能都是 由硬件完成的, 对程序员来说是透明的。
4.1、地址映象
映象:其物理意义就是位置的对应关系,将主存地址变成Cache地址。
常见的映象方式主要有三种: 1)直接映象 2)全相联映象 3)组相联映象
CPU Cache 字 数据总线 字
2位 主存区号标记 00 主存块号 比较 3位 区内块号 100 Cache块号 未命中 访问内存 000 001 010 011 100 101 110 111 块内地址 块内地址
Cache
000 001 010 011 100 101 110 111
调入
块表 000 001 010 011 100 101 110 111
4、高速缓冲存储器(Cache)
考研试题精选:
假设:CPU执行某段程序时,共访问Cache 3800 次,访问主存200 次,已知Cache存取周期为50ns,主存存取周期为250ns。
求:Cache—主存系统的平均存取时间和效率。 解: 系统命中率 h = 3800 / 3800 + 200 = 0.95
Cache
000 001 010 011 100 101 110 111 调入
块表 000 10 001 010 11 011 100 101 110 10 111
Cache基础知识介绍ppt课件
31 Address Tag Entry Offset 0
11
• 组相联映射方式下cache的内部结构。
Entry
Way 0 Way 1 Way 2
Address Tag 0 Address Tag 1 Address Tag 2
Data Data Data
Way n-1 Way n
Address Tag n-1 Address Tag n
14
+ 提高cache的性能也就是要降低主存的平均
存取时间 主存平均存取时间=命中时间+未命中率*未 命中惩罚
+ 提高cache的性能有以下三种方法:减少命
中时间,减少未命中率,减少未命中惩罚。
15
影响命中率的硬件因素主要有以下四点: + Cache的容量。 + Cache与主存储器交换信息的单位量(cache line size)。 + Cache的组织方式 + Cache的替换算法
+ Cache又叫高速缓冲存储器,位于CPU与内
存之间,是一种特殊的存储器子系统。 + 目前比较常见的是两极cache结构,即cache 系统由一级高速缓存L1 cache和二级高速缓 存L2 cache组成,L1 cache通常又分为数据 cache(I-Cache)和指令cache(D-Cache), 它们分别用来存放数据和执行这些数据的 指令。
9
10
+ 块:块是cache与主存的传输单位。 + 路(way): 路是组相联映射方式的cache结构中的 +
+ +
+
基本存储单位,每一路存储一个块的数据。 组(entry):组是组相联映射方式的cache对块进行 管理的单位。 区 (tag) :块的地址对应的主存储器中的区。 块内偏移地址(offset): 用来标示块内一个字节的 地址。 组相联映射方式下主存储器的地址空间由,区,组 和块内偏移地址组成。
11
• 组相联映射方式下cache的内部结构。
Entry
Way 0 Way 1 Way 2
Address Tag 0 Address Tag 1 Address Tag 2
Data Data Data
Way n-1 Way n
Address Tag n-1 Address Tag n
14
+ 提高cache的性能也就是要降低主存的平均
存取时间 主存平均存取时间=命中时间+未命中率*未 命中惩罚
+ 提高cache的性能有以下三种方法:减少命
中时间,减少未命中率,减少未命中惩罚。
15
影响命中率的硬件因素主要有以下四点: + Cache的容量。 + Cache与主存储器交换信息的单位量(cache line size)。 + Cache的组织方式 + Cache的替换算法
+ Cache又叫高速缓冲存储器,位于CPU与内
存之间,是一种特殊的存储器子系统。 + 目前比较常见的是两极cache结构,即cache 系统由一级高速缓存L1 cache和二级高速缓 存L2 cache组成,L1 cache通常又分为数据 cache(I-Cache)和指令cache(D-Cache), 它们分别用来存放数据和执行这些数据的 指令。
9
10
+ 块:块是cache与主存的传输单位。 + 路(way): 路是组相联映射方式的cache结构中的 +
+ +
+
基本存储单位,每一路存储一个块的数据。 组(entry):组是组相联映射方式的cache对块进行 管理的单位。 区 (tag) :块的地址对应的主存储器中的区。 块内偏移地址(offset): 用来标示块内一个字节的 地址。 组相联映射方式下主存储器的地址空间由,区,组 和块内偏移地址组成。
cache结构与操作.ppt
e tc
tc
11
ta htc (1 h)tm h (1 h)r r (1 r)h
(4-4)
其中,r=tm/tc,表示访问主存慢于访问 Cache的倍率。r的取值一般是5-10 。
例【4-1】设CPU执行一般程序时,访问 Cache次数Nc=1500,访问主存次数Nm=90,又假 设访问Cache存取周期为50ns,访问主存存取周期 为300ns,试求h、r、ta以及e的值
存储器系统的层次关 系
2、Cache命中率
从微机系统来看,增加Cache的目 的,就是要在性能上使主存的平均访问 时间尽可能接近Cache的访问时间,即 保证在大多数情况下,CPU访问Cache, 而不是访问主存。
在 某 一 程 序 执 行 期 间 , 设 Nc 表 示 CPU 访 问 Cache 的 总 次 数 , Nm 表 示 CPU 访 问 主 存 的 总 次数,h为命中率,则
·优点:灵活,不易产生冲突; 缺点:比较电路难于实现,且效率低,速度慢
• 例:设访问存储器地址的块号序列为22、26、 22、26、16、4、16、18,采用全相联映射方 式时,Cache行分配情况
2.直接映射方式
某一主存块只能能映射到Cache的特定行
i = j mod m 其中: i:Cache的行号; j:主存的块号; m:Cache的总行数
解:
h Nc 1500 0.943
N cNm 1500 90
r tm 300 ns 6 tc 50ns
ta=htc+(1-h)tm=0.943×50ns+(1-0.943)×300ns=64.25ns
e tc 50ns 77.82% ta 64.25ns
4.6.2 Cache组织方式
Cache基础知识介绍ppt课件
+ CPU在访问内存时,首先判断所要访问的内容是否在 cache中,如果在,则称为命中(hit),此时CPU直接从 cache中调用该内容;否则称为未命中(miss), CPU会 通过cache对主存中的相应内容进行操作。
5
Cache与主存之间可以采取的地址映射方式有 以下三种:
+ 全相联映射方式 + 直接相联映射方式 + 组组相联映射方式
9
10
+ 块:块是cache与主存的传输单位。 + 路(way): 路是组相联映射方式的cache结构中的
基本存储单位,每一路存储一个块的数据。 + 组(entry):组是组相联映射方式的cache对块进行
管理的单位。 + 区 (tag) :块的地址对应的主存储器中的区。 + 块内偏移地址(offset): 用来标示块内一个字节的
存。 优点:速度较高。 缺点:可靠性较差,控制操作比较复杂。
20
+ 对于多个主设备的共享存储总线系统,如带有DMA 的系统,或者多处理器系统,由于其他的主设备也 可以改变主存的内容,而这种改变是cache无法得知 的,因此必须对cache的一致性问题进行处理。
CPU
Cache
X`
DMA
主存储器
X``
7
+ 直接相联方式 地址映射规则: 主存储器中一块只能映射到 cache的一个特定的块中。 (1) 主存与cache分成相同大小的数据块。 (2) 主存容量应是cache容量的整数倍,将主存 空间按cache的容量分成区,主存中每一区的 块数与cache的总块数相等。 (3) 主存中某区的一块存入cache时只能存入缓 存中块号相同的位置。 优点:地址映射方式简单,数据访问时,只需 检查区号是否相等即可,因而可以得到比较快 的访问速度,硬件设备简单。 缺点:替换操作频繁,命中率比较低。
5
Cache与主存之间可以采取的地址映射方式有 以下三种:
+ 全相联映射方式 + 直接相联映射方式 + 组组相联映射方式
9
10
+ 块:块是cache与主存的传输单位。 + 路(way): 路是组相联映射方式的cache结构中的
基本存储单位,每一路存储一个块的数据。 + 组(entry):组是组相联映射方式的cache对块进行
管理的单位。 + 区 (tag) :块的地址对应的主存储器中的区。 + 块内偏移地址(offset): 用来标示块内一个字节的
存。 优点:速度较高。 缺点:可靠性较差,控制操作比较复杂。
20
+ 对于多个主设备的共享存储总线系统,如带有DMA 的系统,或者多处理器系统,由于其他的主设备也 可以改变主存的内容,而这种改变是cache无法得知 的,因此必须对cache的一致性问题进行处理。
CPU
Cache
X`
DMA
主存储器
X``
7
+ 直接相联方式 地址映射规则: 主存储器中一块只能映射到 cache的一个特定的块中。 (1) 主存与cache分成相同大小的数据块。 (2) 主存容量应是cache容量的整数倍,将主存 空间按cache的容量分成区,主存中每一区的 块数与cache的总块数相等。 (3) 主存中某区的一块存入cache时只能存入缓 存中块号相同的位置。 优点:地址映射方式简单,数据访问时,只需 检查区号是否相等即可,因而可以得到比较快 的访问速度,硬件设备简单。 缺点:替换操作频繁,命中率比较低。
高速缓冲存储器(Cache)
数字电子技术
高速缓冲存储器 (Cache)
1.1 Cache的结构和工作 原理
如图6-18所示为Cache的结构和工作原理图。
图6-1Cache存储体:存放由主存调入的指令与数据块。 (2)地址转换部件:建立目录表以实现主存地址到缓存地址 的转换。 (3)替换部件:在缓存已满时按一定策略进行数据块替换, 并修改地址转换部件。
图6-21 例6.2.3的地址格式、目录表格式
2.直接相联方式
地址映象规则:主存储器中一块只能映象到Cache的一个特定的块中。
(1)主存与缓存分成相同大小的数据块。 (2)主存容量应是缓存容量的整数倍,将主存空间按缓存的容量 分成区,主存中每一区的块数与缓存的总块数相等。 (3)主存中某区的一块存入缓存时只能存入缓存中块号相同的位 置。
数字电子技术
图6-19 Cache的全相联映像方式
如图6-20所示为全相联地址转换图。
图6-20 全相联地址转换图
例1.1 某处理器的主存容量为1 MB,Cache的容量为32 KB,每块 的大小为16个字,试画出主、缓存的地址格式、目录表格式,并 计算每块的容量。
解: 如图6-21所示画划出主、缓存的地址格式、目录表格式。
3.组相联方式
组相联的映象规则主要包括以下几点。
(1)主存和Cache按同样大小划分成块。 (2)主存和Cache按同样大小划分成组。 (3)主存容量是缓存容量的整数倍,将主存空间按缓冲区的大 小分成区,主存中每一区的组数与缓存的组数相同。 (4)当主存的数据调入缓存时,主存与缓存的组号应相等,也 就是各区中的某一块只能存入缓存的同组号的空间内,但组内 各块地址之间则可以任意存放,即从主存的组到Cache的组之间 采用直接映象方式;在两个对应的组内部采用全相联映象方式。
高速缓冲存储器 (Cache)
1.1 Cache的结构和工作 原理
如图6-18所示为Cache的结构和工作原理图。
图6-1Cache存储体:存放由主存调入的指令与数据块。 (2)地址转换部件:建立目录表以实现主存地址到缓存地址 的转换。 (3)替换部件:在缓存已满时按一定策略进行数据块替换, 并修改地址转换部件。
图6-21 例6.2.3的地址格式、目录表格式
2.直接相联方式
地址映象规则:主存储器中一块只能映象到Cache的一个特定的块中。
(1)主存与缓存分成相同大小的数据块。 (2)主存容量应是缓存容量的整数倍,将主存空间按缓存的容量 分成区,主存中每一区的块数与缓存的总块数相等。 (3)主存中某区的一块存入缓存时只能存入缓存中块号相同的位 置。
数字电子技术
图6-19 Cache的全相联映像方式
如图6-20所示为全相联地址转换图。
图6-20 全相联地址转换图
例1.1 某处理器的主存容量为1 MB,Cache的容量为32 KB,每块 的大小为16个字,试画出主、缓存的地址格式、目录表格式,并 计算每块的容量。
解: 如图6-21所示画划出主、缓存的地址格式、目录表格式。
3.组相联方式
组相联的映象规则主要包括以下几点。
(1)主存和Cache按同样大小划分成块。 (2)主存和Cache按同样大小划分成组。 (3)主存容量是缓存容量的整数倍,将主存空间按缓冲区的大 小分成区,主存中每一区的组数与缓存的组数相同。 (4)当主存的数据调入缓存时,主存与缓存的组号应相等,也 就是各区中的某一块只能存入缓存的同组号的空间内,但组内 各块地址之间则可以任意存放,即从主存的组到Cache的组之间 采用直接映象方式;在两个对应的组内部采用全相联映象方式。
《高速缓冲存储器》PPT课件
2021/3/8
20
不命中时处理方式 等待主存储器 任务切换
2021/3/8
3
来自处理机
主存地址
块号
块内地址
不命中
已 装 不 进
还 命中
可 装 入
主存-Cache 地址映象变换机构
Cache 替换 策略
访主存 装入Cache
块号
块内地址
Cache 地址
访主存 替换Cache
高速缓冲存储器Cache
Cache 单字宽
多字宽
地址变换的硬件容易实现;
地址变换的速度要快;
主存空间利用率要高;
发生块冲突的概率要小
2021/3/8
7
四种方式
全相联映象与变换
直接映象与变换
组相联映像与变换
段相联映象
2021/3/8
8
全相联映象与变换
定义及规则
映象规则:主存中的任意一块都可以映象到 Cache中的任意一块。
如果Cache的块数为Cb,主存的块数为Mb, 映象关系共有:Cb×Mb种。
11
主存地址 相联比较
块号B
块号b 命中
块内地址
块内地址w Cache地址
B
b
主存块号B Cache块号b 有效位 目录表(由相联存储器组成,共Cb个字)
2021/3/8
12
直接映象与变换
定义及规则
映象规则:主存中一块只能映象到Cache的一个特 定的块中。
计算公式: b=B mod Cb,其中:
比较结果不相等, 有效位为0, 表示Cache中的这一块 是空的
比较结果不相等, 有效位为1, 表示原来在Cache中的 这一块是有用的
存储层次--CACHE基本知识PPT48页
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
存储层次--CACHE基本知识
16、人民应该为法律而战斗,就像为 了城墙 而战斗 一样。 ——赫 拉克利 特 17、人类对于不公正的行为加以指责 ,并非 因为他 们愿意 做出这 种行为 ,而是 惟恐自 己会成 为这种 行为的 牺牲者 。—— 柏拉图 18、制定法律法令,就是为了不让强 者做什 么事都 横行霸 道。— —奥维 德 19、法律是社会的习惯和思想的结晶 。—— 托·伍·威尔逊 20、人们嘴上挂着的法律,其真实含 义是财 富。— —爱献 生
第十讲(cache存储器)要点课件
详细描述
当缓存满了,需要替换数据块时,LFU算法会选择最不经常使用的数据块进行替换。这种算法能够提 高缓存命中率,但实现起来较为复杂,需要记录每个数据块的访问频率。
04
Cache存储器的性能分析
Cache存储器的命中率
01
02
03
命中率
衡量Cache存储器效率的 重要指标,指程序访问 Cache成功命中的次数与 总访问次数的比值。
影响因素
Cache容量、块大小、程 序特性、替换策略等。
优化策略
根据程序特性调整Cache 容量和块大小,采用合适 的替换策略,以提高命中 率。
Cache存储器的效率
效率
指Cache存储器完成一次 访问所需的时间与直接访 问存储器所需时间的比值 。
影响因素
Cache访问速度、块大小 、Cache层次结构等。
第十讲(cache存储器)要点 课件
contents
目录
• Cache存储器概述 • Cache存储器与主存的映射方式 • Cache存储器的替换算法 • Cache存储器的性能分析 • Cache存储器的优化策略
01
Cache存储器概述
Cache存储器的定义
01
Cache存储器是一种高速缓冲存 储器,用于暂时存储CPU经常访 问的指令和数据,以便快速访问 和提高系统性能。
组相联映射
总结词
一种折中的映射方式,将主存中的块分组,每组内的 块映射到Cache的固定块位置。
详细描述
组相联映射方式中,将主存中的块分成若干组,每组 内的块具有固定的对应关系。Cache被划分为与主存 组数相同的组,每个组中的块可以存储主存中对应组 内的任意一块数据。当访问主存时,首先确定访问的 块属于哪个组,然后在Cache中查找该组对应的块, 如果有则将数据读入Cache块中,否则需要将数据从 主存中读取并替换掉Cache中的某块数据。这种方式 的优点是查找时间较短且具有一定的灵活性,缺点是 仍然存在Cache浪费的问题。
当缓存满了,需要替换数据块时,LFU算法会选择最不经常使用的数据块进行替换。这种算法能够提 高缓存命中率,但实现起来较为复杂,需要记录每个数据块的访问频率。
04
Cache存储器的性能分析
Cache存储器的命中率
01
02
03
命中率
衡量Cache存储器效率的 重要指标,指程序访问 Cache成功命中的次数与 总访问次数的比值。
影响因素
Cache容量、块大小、程 序特性、替换策略等。
优化策略
根据程序特性调整Cache 容量和块大小,采用合适 的替换策略,以提高命中 率。
Cache存储器的效率
效率
指Cache存储器完成一次 访问所需的时间与直接访 问存储器所需时间的比值 。
影响因素
Cache访问速度、块大小 、Cache层次结构等。
第十讲(cache存储器)要点 课件
contents
目录
• Cache存储器概述 • Cache存储器与主存的映射方式 • Cache存储器的替换算法 • Cache存储器的性能分析 • Cache存储器的优化策略
01
Cache存储器概述
Cache存储器的定义
01
Cache存储器是一种高速缓冲存 储器,用于暂时存储CPU经常访 问的指令和数据,以便快速访问 和提高系统性能。
组相联映射
总结词
一种折中的映射方式,将主存中的块分组,每组内的 块映射到Cache的固定块位置。
详细描述
组相联映射方式中,将主存中的块分成若干组,每组 内的块具有固定的对应关系。Cache被划分为与主存 组数相同的组,每个组中的块可以存储主存中对应组 内的任意一块数据。当访问主存时,首先确定访问的 块属于哪个组,然后在Cache中查找该组对应的块, 如果有则将数据读入Cache块中,否则需要将数据从 主存中读取并替换掉Cache中的某块数据。这种方式 的优点是查找时间较短且具有一定的灵活性,缺点是 仍然存在Cache浪费的问题。
Cache-简介PPT课件
还有和写回法类似的写一次法:基本策略和写 回法相同,不过在第一次命中的时候同时更新 Cache和下级的内容。
.
37
4) 写缺失策略
Write allocate(写分配):在发生写缺 失的时候,在直接写下级Cache/主存的 同时,还将该缺失数据写入本级Cache, 此策略一般和Write Back一起使用
缺点是不够灵活。因为主存的2t个组(t 为CACHE标记的位数)只能对应于唯一的 Cache存储器行,即使Cache中有许多地 址空着也不能占用,因而使Cache存储空 间得不到充分利用。
.
21
(3)组相联映像方式
它是直接映像与全相联映像的折衷方案.它将 把Cache存储器分为若干个组,每组包含若干 个行.组间采用直接映像,而组内的则采用全 相联映像。主存的某一块可以映像到CACHE指 定组内的任意行中。
字的位数=b =LOG2(每块的字数. )=LOG2(K)
8
.
9
.
10
.
11
(2)直接映像方式
主存中的每一块只能映像到CACHE中的一 个固定行的位置。
直接映像函数可定义为: i= j mod m
其中,i是Cache的行号,j是主存的 块号,m为CACHE的行数。
.
12
主存的组数= (主存的块数/CACHE的行 数)=256/8=32组
.
48
5) cache lock & unlock
lock: 由于cache size < mem(L3) size,因此总会有不 够用替换的时候,但是某些应用场景下,我们不希望 某些读入cache的line被替换掉,引入了lock命令(通常 是tag的1 bit)
被lock的行不会在执行替换的时候被别人替换掉。 unlock: 清除lock 位 lock_en (在 lock_en=1---lock_en=0期间读入的
.
37
4) 写缺失策略
Write allocate(写分配):在发生写缺 失的时候,在直接写下级Cache/主存的 同时,还将该缺失数据写入本级Cache, 此策略一般和Write Back一起使用
缺点是不够灵活。因为主存的2t个组(t 为CACHE标记的位数)只能对应于唯一的 Cache存储器行,即使Cache中有许多地 址空着也不能占用,因而使Cache存储空 间得不到充分利用。
.
21
(3)组相联映像方式
它是直接映像与全相联映像的折衷方案.它将 把Cache存储器分为若干个组,每组包含若干 个行.组间采用直接映像,而组内的则采用全 相联映像。主存的某一块可以映像到CACHE指 定组内的任意行中。
字的位数=b =LOG2(每块的字数. )=LOG2(K)
8
.
9
.
10
.
11
(2)直接映像方式
主存中的每一块只能映像到CACHE中的一 个固定行的位置。
直接映像函数可定义为: i= j mod m
其中,i是Cache的行号,j是主存的 块号,m为CACHE的行数。
.
12
主存的组数= (主存的块数/CACHE的行 数)=256/8=32组
.
48
5) cache lock & unlock
lock: 由于cache size < mem(L3) size,因此总会有不 够用替换的时候,但是某些应用场景下,我们不希望 某些读入cache的line被替换掉,引入了lock命令(通常 是tag的1 bit)
被lock的行不会在执行替换的时候被别人替换掉。 unlock: 清除lock 位 lock_en (在 lock_en=1---lock_en=0期间读入的
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主存地址长度=(s+w)位 寻址单元数=2s+w个字或字节 块大小=行大小=2w个字或字节 主存的块数=2s 每组的行数=k 每组的v=2d cache的行数=kv 标记大小=(s-d)位
3、替换策略
• cache工作原理要求它尽量保存最新数据,必然要产生替换。
• 对直接映射的cache来说,只要把此特定位置上的原主存块换 出cache即可。
e=1/(r+(1-r)h)=1/(5+(1-5)×0.95)=83.3%
ta=tc/e=50ns/0.833=60ns
2、主存与cache的地址映射
无论选择那种映射方式,都要把主存和cache 划分为同样大小的“块”。
选择哪种映射方式,要考虑: •硬件是否容易实现 •地址变换的速度是否快 •主存空间的利用率是否高 •主存装入一块时,发生冲突的概率 以下我们介绍三种映射方法:
h=Nc/(Nc+Nm)
(3.4)
若tc表示命中时的cache访问时间,tm表示未命中时的主存
访问时间,1-h表示未命中率,则cache/主存系统的平均访问时
间ta为: ta=htc+(1-h)tm
(3.5)
设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有:
为提高访问效率,命中率h越接近1越好,r值以5—10为宜, 不宜太大。命中率h与程序的行为、cache的容量、组织方式、 块的大小有关。
2.Cache的设计依据:CPU这次访问过的数据,下次有很大的可 能也是访问附近的数据。
3.CPU与Cache之间的数据传送是以字为单位
4.主存与Cache之间的数据传送是以块为单位
5.CPU读主存时,便把地址同时送给Cache和主存,Cache控 制逻辑依据地址判断此字是否在Cache中,若在此字立即传送 给CPU ,否则,则用主存读周期把此字从主存读出送到CPU ,与此同时,把含有这个字的整个数据块从主存读出送到 cache中。
二、Cache基本原理
地址映射; 替换策略; 写一致性; 性能评价。
cache基本原理小结:
1.Cache是介于CPU和主存M2之间的小容量存储器,但存取 速度比主存快。主存容量配置几百MB的情况下,cache的典 型值是几百KB。cache能高速地向CPU提供指令和数据,从而 加快了程序的执行速度。从功能上看,它是主存的缓冲存储器 ,由高速的SRAM组成。为追求高速,包括管理在内的全部功 能由硬件实现,因而对程序员是透明的。
• 对全相联和组相联cache来说, 就要从允许存放新主存块的若 干特定行中选取一行换法 近期最少使用法
随机替换
★最不经常使用(LFU) LFU算法将一段时间内被访问次数最少的那行数据换出。
一、全相联的映射方式
映射方法(多对多)
主存内容可以拷贝到任意行
地址变换
1、将地址分为两部分(块号和字),在内存块写入Cache时, 同时写入块号标记; 2、CPU给出访问地址后,也将地址分为两部分(块号和字), 比较电路块号与Cache 表中的标记进行比较,相同表示命中, 访问相应单元;如果没有命中访问内存,CPU 直接访问内存, 并将被访问内存的相对应块写入Cache。 3、特点: 优点:冲突概率小,Cache的利用高。 缺点:比较器难实现,需要一个访问速度很快代价高的相联存 储器 4、应用场合: 适用于小容量的Cache
主存地址长度=(s+w)位 寻址单元数=2s+w个字或字节 块大小=行大小=2w个字或字节 主存的块数=2s cache的行数=m=2r 标记大小=(s-r)位
三、组相联映射方式
组相联映射方式是前两者的组合 Cache分组,组间采用直接映射方式,组内采用全相联的映射 方式 Cache分组U,组内容量V 映射方法(一对多) q= j mod u 主存第j块内容拷贝到Cache的q组中的某行 地址变换 设主存地址x,看是不是在cache中,先y= x mod u,则在y组 中一次查找 分析:比全相联容易实现,冲突低 v=1,则为直接相联映射方式 u=1,则为全相联映射方式 v的取值一般比较小, 一般是2的幂,称之为v路组相联cache.
三、cache的命中率
增加cache的目的,就是在性能上使主存的平均读出时间尽 可能接近cache的读出时间。因此,cache的命中率应接近于1。由 于程序访问的局部性 ,这是可能的。 在一个程序执行期间, 设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总 次数,h定义为命中率,则有
【例5】CPU执行一段程序时,cache完成存取的次数为1900 次,主存完成存取的次数为100次,已知cache存取周期为 50ns,主存存取周期为250ns,求cache/主存系统的效率和 平均访问时间。
【解】 h=Nc/(Nc+Nm)=1900/(1900+100)=0.95
r=tm/tc=250ns/50ns=5
cache存储器
1、cache基本原理
一、功能
解决CPU和主存之间的速度不匹配问题。一般采用高速的 SRAM构成。CPU和主存之间的速度差别很大采用两级或多级 Cache系统。早期的一级Cache在CPU内,二级在主板上。现 在的CPU内带L1 Cahe和L2 Cahe。全由硬件调度,对用户透明 。
2、基本原理 ⑴利用行号选择相应行; ⑵把行标记与CPU访问地址进行比较,相同表示命 中,访问Cache; ⑶如果没有命中,访问内 存,并将相应块写入 Cache
3、特点 优点:比较电路少m倍线路,所以硬件实现简单, Cache地址为主存地址的低几位,不需变换。 缺点:冲突概率高(抖动) 4、应用场合 适合大容量Cache
二、直接映射方式 1、映射方法(一对多)如:
⑴i= j mod m ⑵主存第j块内容拷贝到Cache的i行 ⑶一般I和m都是2N级
[例]cache容量16字,主存容量256字,则地址2,18, 34…..242等都存放在cache的地址2内,如果第一次2在cache 中,下次访问34内容,则不管cache其他位置的内容访问情况 ,都会引起2块内容的替换