《计算机组成原理与结构之cache命中率1.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理与结构之cache命中率1.ppt(22页珍藏版)》请在优知文库上搜索。
1、高速缓冲存储器高速缓冲存储器高速缓冲存储器高速缓冲存储器高速缓冲存储器1.1.地址映像地址映像“映像映像”,其物理意义就是位置的对应关,其物理意义就是位置的对应关系,地址变换是将主存地址变换成系,地址变换是将主存地址变换成CacheCache地地址。常见的映像方式主要有三种:址。常见的映像方式主要有三种:直接映像直接映像 全相联映像全相联映像 组相联映像组相联映像(1 1)直接映像如下图)直接映像如下图高速缓冲存储器之直接映像高速缓冲存储器之直接映像高速缓冲存储器之直接映像高速缓冲存储器之直接映像高速缓冲存储器之直接映像高速缓冲存储器之直接映像8高速缓冲存储器之直接映像高速缓冲存储器之直接映像
2、9 优点优点是实现简单,只需利用主是实现简单,只需利用主存地址存地址,按某些字段直接判断,按某些字段直接判断,即可确定所需字块是否已在即可确定所需字块是否已在CacheCache存储器中。存储器中。缺点缺点是不够灵活,即主存的字是不够灵活,即主存的字块只能对应唯一的块只能对应唯一的CacheCache存储存储器字块。因此器字块。因此,即使即使CacheCache存储存储器别的许多地址空着也不能占器别的许多地址空着也不能占用。这使得用。这使得CacheCache存储空间得存储空间得不到充分利用,并降低了命中不到充分利用,并降低了命中率。率。高速缓冲存储器之直接映像高速缓冲存储器之全相联映像高速缓
3、冲存储器之全相联映像12高速缓冲存储器之全相联映像高速缓冲存储器之组相联映像组相联映像方式的性能与复杂性介于直接映像和全相联组相联映像方式的性能与复杂性介于直接映像和全相联映像之间映像之间组间为直接映像,组内为全相联映像组间为直接映像,组内为全相联映像高速缓冲存储器之组相联映像CacheCache地址映像:考虑图书馆阅览室位置分配地址映像:考虑图书馆阅览室位置分配直接映像直接映像 每个人只能有一个位置可以坐。每个人只能有一个位置可以坐。全相联映像全相联映像 阅览室的位置随便坐。阅览室的位置随便坐。组相联映像组相联映像 每个人只能去指定的阅览室,每个人只能去指定的阅览室,但在这个阅览室内的位置可
4、以随便坐。但在这个阅览室内的位置可以随便坐。CacheCache地址映像地址映像16 设设NC表示表示Cache完成存取的总次数,完成存取的总次数,Nm表示主存表示主存完成存取的总次数,完成存取的总次数,h定义为命中率,则有:定义为命中率,则有:h=NC/(NC+Nm)若若tc 表示命中时的表示命中时的Cache存储周期,存储周期,tm表示未命中表示未命中时的主存的存储周期,时的主存的存储周期,1-h表示未命中率,则表示未命中率,则Cache、主存系统的平均访问时间主存系统的平均访问时间ta为:为:ta=h*tc+(1-h)*(tm+tc)即没有命中时,到主存中去取,然后放入到即没有命中时,到
5、主存中去取,然后放入到Cache中再中再执行。执行。设设e 表示访问效率则有:表示访问效率则有:e=tc/ta为提高访问效率,为提高访问效率,h 越接近越接近 1 越越 好。好。高速缓冲存储器之命中率高速缓冲存储器之命中率17 例题:例题:CPUCPU执行一段程序时,执行一段程序时,CacheCache完成存取的次数为完成存取的次数为19001900次,主存完成存取的次数为次,主存完成存取的次数为100100次,已知次,已知CacheCache存取存取周期周期tctc为为50ns,50ns,主存存取周期主存存取周期tmtm为为250ns,250ns,求求Cache/Cache/主存主存系统的平
6、均访问时间系统的平均访问时间tata和效率和效率e e。解:命中率解:命中率h h的计算的计算 h h =N NC C/(N/(NC C+Nm)=1900/(1900+100)=0.95+Nm)=1900/(1900+100)=0.95平均访问时间平均访问时间tata的计算的计算 ta ta=h h*tc+(1tc+(1h)h)*(tmtm+tc)+tc)=0.95=0.9550ns+0.0550ns+0.0530300ns 0ns=47.5ns+15ns=6=47.5ns+15ns=62.52.5nsns效率的计算效率的计算 e e =tc/ta=50ns/6tc/ta=50ns/62.52
7、.5ns=8ns=80 0%高速缓冲存储器之命中率18替换算法:来了一个新官,要替换掉一个老官,替换算法:来了一个新官,要替换掉一个老官,谁下?谁下?轮流坐庄:轮流坐庄:FIFO 看过去的业绩:看过去的业绩:LRU高速缓冲存储器之替换算法例:设一个容量为例:设一个容量为4 4个块的全相联个块的全相联Cache,Cache,分别采分别采用用FIFOFIFO和和LRULRU替换算法,假定访问的主存地址块替换算法,假定访问的主存地址块号序列为号序列为2 2、1111、2 2、9 9、7 7、6 6、4 4、3 3,画出每次,画出每次访问后访问后CacheCache中内容变化情况。中内容变化情况。高速缓冲存储器之替换算法高速缓冲存储器之替换算法高速缓冲存储器之替换算法