第五章 存储层次
5.1 名词解释
1.存储层次——采用不同的技术实现的存储器,处在离 CPU 不同距离的层次上,目标是达到离 CPU
最近的存储器的速度,最远的存储器的容量。
2.全相联映象——主存中的任一块可以被放置到 Cache 中任意一个地方。
3.直接映象——主存中的每一块只能被放置到 Cache 中唯一的一个地方。
4.组相联映象——主存中的每一块可以放置到 Cache 中唯一的一组中任何一个地方(Cache 分成若干
组,每组由若干块构成)。
5.替换算法——由于主存中的块比 Cache 中的块多,所以当要从主存中调一个块到 Cache 中时,会出
现该块所映象到的一组(或一个)Cache 块已全部被占用的情况。这时,需要被迫腾出其中的某一
块,以接纳新调入的块。
6.LRU——选择最近最少被访问的块作为被替换的块。实际实现都是选择最久没有被访问的块作为被
替换的块。
7.写直达法——在执行写操作时,不仅把信息写入 Cache 中相应的块,而且也写入下一级存储器中相
应的块。
8.写回法——只把信息写入 Cache 中相应块,该块只有被替换时,才被写回主存。
9.按写分配法——写失效时,先把所写单元所在的块调入 Cache,然后再进行写入。
10.不按写分配法——写失效时,直接写入下一级存储器中,而不把相应的块调入 Cache。
11.写合并——在往缓冲器写入地址和数据时,如果缓冲器中存在被修改过的块,就检查其地址,看
看本次写入数据的地址是否和缓冲器内某个有效块的地址匹配。如果匹配,就将新数据与该块合并。
12.命中时间——访问 Cache 命中时所用的时间。
13.失效率——CPU 访存时,在一级存储器中找不到所需信息的概率。
14.失效开销——CPU 向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。
15.强制性失效——当第一次访问一个块时,该块不在 Cache 中,需要从下一级存储器中调入
Cache,这就是强制性失效。
16.容量失效——如果程序在执行时,所需要的块不能全部调入 Cache 中,则当某些块被替换后又重
新被访问,就会产生失效,这种失效就称作容量失效。
17.冲突失效——在组相联或直接映象 Cache 中,若太多的块映象到同一组(块)中,则会出现该组
中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。
18.2:1Cache 经验规则——大小为 N 的直接映象 Cache 的失效率约等于大小为 N /2 的两路组相联
Cache 的实效率。
19.相联度——在组相联中,每组 Cache 中的块数。
20.Victim Cache——位于 Cache 和存储器之间的又一级 Cache,容量小,采用全相联策略。用于存放
由于失效而被丢弃(替换)的那些块。每当失效发生时,在访问下一级存储器之前,先检查 Victim
Cache 中是否含有所需块。
21.伪相联 Cache——一种既能获得多路组相联 Cache 的低失效率,又能获得直接映象 Cache 的命中速
度的相联办法。
22.故障性预取——在预取时,若出现虚地址故障或违反保护权限,就会发生异常。
23.非故障性预取——在预取时,若出现虚地址故障或违反保护权限,不发生异常。
24.非阻塞 Cache——Cache 在等待预取数据返回时,还能继续提供指令和数据。
25.子块放置技术——把一个 Cache 块划分为若干小块,称为子块(sub-blocks),并为每个子块赋予
一位有效值,用于说明该子块中的数据是否有效。失效时,只需从下一级存储器调入一个子块。
26.尽早重启动——在请求字没有到达时,CPU 处于等待状态。一旦请求字到达,就立即发送给