5、采用预取技术提高命中率 方法:不命中时,把M2存储器中相邻几个单元组成的一个数据块都取出来 送入M1存储器中。 计算公式:H=H+n-1 其中:H是采用预取技术之后的命中率 H是原来的命中率 n为数据块大小与数据重复使用次数的乘积 证明:采用预取技术,不命中率降低n倍: 1-H H+n-1 H=1 也可以采用另外一种证明方法 在原有命中率计算公式中,把访问次数扩大到n倍,这时,由于采用了预取 技术,命中次数为:mM+(m-1)M,不命中次数仍为M,因此新的命中率为 H=mN+(n-1)N2=N+(nM+nN2)-(M+N2)=H+n-1 nNi+nN2 ni+nN2 例3.3:在一个 Cache存储系统中,当 Cache的块大小为一个字时,命中率 为H=0.8;假设数据的重复利用率为5,计算 Cache的块大小为4个字时, Cache 存储系统的命中率是多少?假设T2=5T1,分别计算访问效率。 解:n=4×5=20,采用预取技术之后,命中率提高到: H+n-108+20-1 0.99 20 Cache的块大小为一个字时,H=0.8,访问效率为 e1=1/(0.8+5(1-0.8))=0.55 Cache的块大小为4个字时,H=0.99,访问效率为 e2=1/(0.99+5(1-0.99))=0.96 例3.4:在一个虚拟存储系统中,T2=10°T1,原来的命中率只有0.8,现采 用预取技术,访问磁盘存储器的数据块大小为4字,如果要求访问效率不低于 0.9,计算数据在主存储器中的重复利用率至少为多少? 解:假设数据在主存储器中的重复利用率为m,根据前面的给出关系 08+4096m-1 9 H H+(1-H)10 4096 解这个方程组,得到m=44,即数据在主存储器中的重复利用率至少为44 次。 3.1.2存储器的层次结构 多个层次的存储器: Register Files Buffers Lookahead)→ Cache → Main Memory→ Online storage→ Off-line Storage3—4 5、采用预取技术提高命中率 • 方法:不命中时,把 M2 存储器中相邻几个单元组成的一个数据块都取出来 送入 M1 存储器中。 • 计算公式: H H n n ' = + −1 其中:H’是采用预取技术之后的命中率 H 是原来的命中率 n 为数据块大小与数据重复使用次数的乘积 证明:采用预取技术,不命中率降低n倍: H H n H n n ' = − − = + − 1 1 1 也可以采用另外一种证明方法: 在原有命中率计算公式中,把访问次数扩大到 n 倍,这时,由于采用了预取 技术,命中次数为:nN1+(n-1)N2 ,不命中次数仍为 N2 ,因此新的命中率为: H nN n N nN nN N nN nN N N nN nN H n n ' ( ) ( ) ( ) = + − + = + + − + + = 1 2 + − 1 2 1 1 2 1 2 1 2 1 1 例 3.3:在一个 Cache 存储系统中,当 Cache 的块大小为一个字时,命中率 为 H=0.8;假设数据的重复利用率为 5,计算 Cache 的块大小为 4 个字时,Cache 存储系统的命中率是多少?假设 T2=5T1,分别计算访问效率。 解:n=4×5=20,采用预取技术之后,命中率提高到: H H n n ' . = . + − = + − = 1 08 20 1 20 0 99 Cache 的块大小为一个字时,H=0.8,访问效率为: e1=1/(0.8+5(1-0.8))=0.55… Cache 的块大小为 4 个字时,H=0.99,访问效率为: e2=1/(0.99+5(1-0.99))=0.96 例 3.4:在一个虚拟存储系统中,T2=105 T1,原来的命中率只有 0.8,现采 用预取技术,访问磁盘存储器的数据块大小为 4K 字,如果要求访问效率不低于 0.9,计算数据在主存储器中的重复利用率至少为多少? 解:假设数据在主存储器中的重复利用率为 m,根据前面的给出关系: 09 1 1 10 08 4096 1 4096 5 . ' ( ') ' . = + − = + − H H H m m , 解这个方程组,得到 m=44,即数据在主存储器中的重复利用率至少为 44 次。 3.1.2 存储器的层次结构 • 多个层次的存储器:Register Files Buffers(Lookahead) Cache Main Memory Online Storage Off-line Storage