计算机体系结构课后习题原版答案 - 张晨曦著 联系客服

发布时间 : 星期一 文章计算机体系结构课后习题原版答案 - 张晨曦著更新完毕开始阅读

解:标量流水处理机的时空图:

执行 分析 取指 14 时间

执行完12条指令需T1=14△t。

超标量流水处理机与超长指令字处理机的时空图:

执行 执行 分析 分析 取指 5 时间 取指 超长指令字处理机时空图 5 时间 超标量处理机时空图

超标量流水处理机中,每一个时钟周期同时启动4条指令。执行完12条指令需T2=5△t,相对于标量流水处理机的加速比为:

T14?tS2?1??2.8

T25?t超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。执行完12条

指令需T3=5△t,相对于标量流水处理机的加速比为:

T14?tS3?1??2.8

T35?t超流水处理机的时空图:

执行 分析 取指 4 5 5.75 时间

超流水处理机中,每1/4个时钟周期启动一条指令。执行完12条指令需T4=5.75△t,相对于标量流水处理机的加速比为:

T14?tS4?1??2.435

T45.75?t

第5章 存储层次

5.1解释下列术语

多级存储层次:采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。

全相联映象:主存中的任一块可以被放置到Cache中任意一个地方。

直接映象:主存中的每一块只能被放置到Cache中唯一的一个地方。

组相联映象:主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成若干组,每组由若干块构成)。

替换算法:由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。

LRU:选择最近最少被访问的块作为被替换的块。实际实现都是选择最久没有被访问的块作为被替换的块。

写直达法:在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。

写回法:只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。

按写分配法:写失效时,先把所写单元所在的块调入Cache,然后再进行写入。

不按写分配法:写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。

命中时间:访问Cache命中时所用的时间。

失效率:CPU访存时,在一级存储器中找不到所需信息的概率。

失效开销:CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。

强制性失效:当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。

容量失效:如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。

冲突失效:在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。

2:1Cache经验规则:大小为N的直接映象Cache的失效率约等于大小为N /2的两路组相联Cache的实效率。

相联度:在组相联中,每组Cache中的块数。

Victim Cache:位于Cache和存储器之间的又一级Cache,容量小,采用全相联策略。用于存放由于失效而被丢弃(替换)的那些块。每当失效发生时,在访问下一级存储器之前,先检查Victim Cache中是否含有所需块。

故障性预取:在预取时,若出现虚地址故障或违反保护权限,就会发生异常。

非故障性预取:在预取时,若出现虚地址故障或违反保护权限,不发生异常。

非阻塞Cache:Cache在等待预取数据返回时,还能继续提供指令和数据。

尽早重启动:在请求字没有到达时,CPU处于等待状态。一旦请求字到达,就立即发送给CPU,让等待的CPU尽早重启动,继续执行。

请求字优先:调块时,首先向存储器请求CPU所要的请求字。请求字一旦到达,就立即送

往CPU,让CPU继续执行,同时从存储器调入该块的其余部分。

虚拟Cache:地址使用虚地址的Cache。

多体交叉存储器:具有多个存储体,各体之间按字交叉的存储技术。

存储体冲突:多个请求要访问同一个体。

TLB:一个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本。

5.2 简述“Cache—主存”层次与“主存—辅存”层次的区别。 答: 存储层次 比较项目 目的 存储管理的实现 访问速度的比值 (第一级比第二级) 典型的块(页)大小 CPU对第二级的访问方式 不命中时CPU是否切换

5.3 地址映象方法有哪几种?它们各有什么优缺点?

答:(1) 全相联映象。实现查找的机制复杂,代价高,速度慢。Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。(2)直接映象。实现查找的机制简单,速度快。Cache空间的利用率较低,块冲突概率较高,因而Cache的失效率也高。(3)组相联映象。组相联是直接映象和全相联的一种折衷。

5.4 降低Cache失效率有哪几种方法?简述其基本思想。 答:常用的降低Cache失效率的方法有下面几种: (1) 增加Cache块大小。增加块大小利用了程序的空间局部性。 (2) 增加Cache的容量。 (3) 提高相联度,降低冲突失效。 (4) 伪相联Cache,降低冲突失效。当对伪相联Cache进行访问时,首先是按与直接映象相同的方式进行访问。如果命中,则从相应的块中取出所访问的数据,送给CPU,访问结束。如果不命中,就将索引字段的最高位取反,然后按照新索引去寻找“伪相联组”中的对应块。如果这一块的标识匹配,则称发生了“伪命中”。否则,就访问下一级存储器。

(5) 硬件预取技术。在处理器提出访问请求前预取指令和数据。 (6) 由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据

“Cache—主存”层次 为了弥补主存速度的不足 全部由专用硬件实现 几比一 几十个字节 可直接访问 不切换 “主存—辅存”层次 为了弥补主存容量的不足 主要由软件实现 几万比一 几百到几千个字节 均通过第一级 切换到其它进程