内容发布更新时间 : 2024/11/15 6:36:58星期一 下面是文章的全部内容请认真阅读。
4.9 设指令流水线由取指令、分析指令和执行指令3个部件构成,每个部件经过的时间为△t,连续流入12条指令。分别画出标量流水处理机以及ILP均为4的超标量处理机、超长指令字处理机、超流水处理机的时空图,并分别计算它们相对于标量流水处理机的加速比。
解:标量流水处理机的时空图:
执行 分析 取指 14 时间
执行完12条指令需T1=14△t。
超标量流水处理机与超长指令字处理机的时空图:
执行 执行 分析 分析 取指 5 时间 取指 超长指令字处理机时空图 5 时间 超标量处理机时空图
超标量流水处理机中,每一个时钟周期同时启动4条指令。执行完12条指令需T2=5△t,相对于标量流水处理机的加速
46
比为:
S2?T114?t??2.8T25?t
超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。执行完12条指令需T3=5△t,相对于标量流水处理机的加速比为:
S3?T114?t??2.8T35?t
超流水处理机的时空图:
执行 分析 取指 4 5 5.75 时间
超流水处理机中,每1/4个时钟周期启动一条指令。执行完12条指令需T4=5.75△t,相对于标量流水处理机的加速比为:
S4?T114?t??2.435T45.75?t
5.1解释下列术语
多级存储层次:采用不同的技术实现的存储器,处在离CPU
47
第5章 存储层次
不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。
全相联映象:主存中的任一块可以被放置到Cache中任意一个地方。
直接映象:主存中的每一块只能被放置到Cache中唯一的一个地方。
组相联映象:主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成若干组,每组由若干块构成)。
替换算法:由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。
LRU:选择最近最少被访问的块作为被替换的块。实际实现都是选择最久没有被访问的块作为被替换的块。
写直达法:在执行写操作时,不仅把信息写入Cache中相应的
48
块,而且也写入下一级存储器中相应的块。
写回法:只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。
按写分配法:写失效时,先把所写单元所在的块调入Cache,然后再进行写入。
不按写分配法:写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。
命中时间:访问Cache命中时所用的时间。
失效率:CPU访存时,在一级存储器中找不到所需信息的概率。
失效开销:CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。
强制性失效:当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。
容量失效:如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种
49
失效就称作容量失效。
冲突失效:在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。
2:1Cache经验规则:大小为N的直接映象Cache的失效率约等于大小为N /2的两路组相联Cache的实效率。
相联度:在组相联中,每组Cache中的块数。
Victim Cache:位于Cache和存储器之间的又一级Cache,容量小,采用全相联策略。用于存放由于失效而被丢弃(替换)的那些块。每当失效发生时,在访问下一级存储器之前,先检查Victim Cache中是否含有所需块。
故障性预取:在预取时,若出现虚地址故障或违反保护权限,就会发生异常。
非故障性预取:在预取时,若出现虚地址故障或违反保护权限,不发生异常。
非阻塞Cache:Cache在等待预取数据返回时,还能继续提供
50