2024考研计算机408
链接:https://pan.baidu.com/s/152XLyH64TlcLXwmU-zlAsQ?pwd=r7zf
提取码:r7zf
这里给大家总结一下catch计算有哪些内容?首先catch利用的是局部性原理,什么叫局部性原理呢?假如我们有一个catch快。每一行都可以保存四个变量。零一二三。那我们访问a0的时候。catch缺失将整个catch行调入。注意catch是整行整行的调入。那这一个cache行已经掉入了,那我们接下来访问a1a2a3就都不会缺失。这就是局部性原理,它自己以及它相邻的那些位置,在接下来访问的可能性是很大的,如果我们提前把它调入。
那就可以提高catch的利用率。然后是catch缺失率的计算。首先,它有一个通用的公式,缺失率就是总的缺失次数,除以总的catch访问次数。还是举个例子,假如我们要访问的是a0到。a7。那它涉及的其实是两个catch行。四五六七。它的缺失率是多少呢?总的缺失次数除以总的访问次数,假设每一个元素都只访问一次。那它的总的访问次数应该是八次。
缺失多少次呢?a0的时候会缺失一次,然后a1a2a3都不会缺失,因为访问a0的时候已经把第一行调入进来了。接下来,访问a4的时候也会缺失一次。访问a5,a6,a7都不会缺失,所以它的缺失率应该是二÷8等于25%。这里有个技巧。就是如果每一行的catch缺失情况,访问情况都一样的话,那就可以只讨论一行。比如说,
对于第一行来说,它是缺失。它是访问四次,缺失一次,而对于第二行来说,它也是访问四次,缺失一次,那这样的话,我们就可以只讨论一行。讨论第一行,它的缺失率就是25%,第二行的