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