第五章 存储层次
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处于等待状态。一旦请求字到达,就立即发送给CPU,
让等待的CPU尽早重启动,继续执行。