高速缓冲存储器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生存的性能基础。
(3)Cache介于CPU和主存之间,它的工作数倍于主存,
全部功能由硬件实现,并且对程序是透明的。见图3-37 。
7/
高速缓冲存储器(Cache)
– Cache基本结构
(1)如图3-38所示,Cache和主存都分成块,每块由 若干个(字节)组成,“块”相似于“主存-辅存” 层次中的“页”。
高速缓冲存储器(Cache)
–Cache的读操作
CPU进行读存储器作时,根据其送出的主存地址区分两 种不同情况: (1)一种是需要的信息已在Cache中,那末直接访问 Cache就行了; (2)另一种是所需信息不在Cache中,就要把该单元 所在的块从主存调Cache。后一种情况又有两种实现方 法:一种是将块调入Cache后再读入CPU;另一种读直 达(读直达通路)。在调入新的块时,如果Cache已占 满,这就产生替换,由替换控制部件按已定的替换算法 实现。
8/
高速缓冲存储器(Cache)
– Cache的设计要求
(1)在价格允许的前提下,提高命中率和缩短访问时间, 尽可能减少因不命中造成的时间延迟以及尽可能减少为 修改主存所化的时间开销。
(2)为了使Cache能与CPU在速度上相匹配,一般采用 与CPU相同的半导体工艺所制成的大规模集成电路芯片。 为了更好地发挥Cache的高速性,在物理位置上,使 Cache尽量靠近处理机或就在处理机中,而不放在主存 模块中。
11/
高速缓冲存储器(Biblioteka Baiduache)
–Cache的写操作
Cache中的块是主存中相应块的副本。如果程序执
行过程中要对某块的某单元进行写操作,有两种方法:
(1)标志交换方式(写回法):即只向Cache写入,
并用标志注明,直至该块在替换中被排挤出来,才将该
块写回主存,代替未经修改的原本;
12/
高速缓冲存储器(Cache)
9/
–Cache 写直达通路
在Cache发生块失效时,由于主存调块的时间是微秒 级,不能在此时采用切换任务(即程序换道)方式来 减少CPU等待时间,所以,除了Cache到CPU的通路 外,在主存和CPU之间还有直接通路。这样,在 Cache块失效时,就不必等主存把所需单元所在块调 入Cache后,再由CPU对其进行读取;而是使Cache 调块与CPU访问主存同时进行;同样,也可实现CPU 直接写入主存的写直达。故Cache既是“Cache-主存” 层次中的一级,又是CPU与主存间的一个旁视存储器。
– 近期最少使用算法(LRU)
3/
高速缓冲存储器(Cache)
–为了弥补主存速度不足,在存储体系结构中出现了
“高速缓冲-主存”层次,使之从CPU观察,如同具有
Cache的速度,又具有主存的容量。
–Cache的容量不断地增大,Cache的管理实现全硬化,
Cache的部件已高度集成
4/
高速缓冲存储器(Cache)
(2)主存地址通过主存-Cache地址映象变换机构判
定该字所在块是否已在Cache中。如在,则主存地址 变换成Cache地址,访问Cache;如不在,则发生 Cache块失效(Cache不命中),需访问主存,且 将包含该字的一块信息装入Cache。若Cache已满, 则按某种替换策略,把该块替换进Cache。
由于Cache的地址变换和块替换算法的实现均依靠硬 件,故“Cache-主存”层次对系统程序员和用户都 是透明的,且Cache对CPU与主存间的信息通信也是
透明的。对于Cache的透明性所可能引发的问题及其
影响需要慎重对待。
14/
高速缓冲存储器(Cache)
– 任务切换对失效率的影响 由于Cache的容量不可能很大(与主存相比), 多个进程的工作区很难同时都留驻Cache。因 此,在任务切换时造成Cache失效。失效率大 小和任务切换的频度有关,即与任务切换的 平均时间间隔QSW有关。
(t,T)表示,也称之为工作集合。 根据程序访问局部 化性质,W(t,T)随时间的变化是相当缓慢的。把这 个集合从主存中移至(读出)一个能高速访问的小容量 存储器内,供程序在一段时间内随时访问,大大减少程
序访问主存的次数,从而加速程序的运行。
6/
高速缓冲存储器(Cache)
(2)这个介于主存和CPU之间的高速小容量存储器就称 为Cache。所以,程序访问局部化性质是Cache得以实现 的原理基础,而高速(能与CPU匹配)则是Cache得以
如果进程切换发生在用户程序因为系统运行管理程
序、处理I/O中断或时钟中断时,QSW值越小,表明
由管理程序切换至原来的用户程序越块,Cache中
15/
高速缓冲存储器(Cache)
设从Cache为空(指新进程所需内容全部不在Cache内) 到Cache全部被装满,这一段时间内的失效率为冷启动
(CoId-Start)失效率;而从Cache为现行进程装满后测
出的失效率为热启动(Warm-start)失效率。
16/
高速缓冲存储器(Cache)
(1)QSW和Cache容量对失效率的影响
• Cache基本结构和工作原理
– 访问局部化
在一个较短的时间间隔内,程序所产生的访存
地址往往集中在存储器地址空间的小范围内。指令
地址分布基本上是连续的,循环程序段和子程序段
要反复多次执行。因此,对此类地址的访问具有时 间上集中分布的倾向。
5/
高速缓冲存储器(Cache)
–几个定义:
(1)在时间间隔(t—T,t)内被访问的信息集合用W
(2)写直达法:即在写入Cache的同时,也写入
主存,使原本和副本同时修改。
(3)还有一种写操作情况:当被修改的单元不 在Cache,写操作可直接对主存进行,而不必 把包含该单元的块调入Cache后再修改,因为 程序访问局部化对写操作不很明显。
13/
高速缓冲存储器(Cache)
– Cache的透明性
第 7 讲 存储系统结构(3)
李元金 计算机与信息工程学院 E-mail: liyuanjin11@126.com
1/
• 教学目标
– 理解并掌握Cache基本结构、工作原理与性能计 算 – 理解并掌握虚拟存储器的工作原理
• 教学内容
– 高速缓冲存储器(Cache) – 虚拟存储器
2/
复习
– 随机法(RAND-Random) – 先进先出法(FIFO)