计算机体系结构课后习题

发布时间 : 星期一 文章计算机体系结构课后习题更新完毕开始阅读

4.4 假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。

(1) 求程序执行的CPI。

(2) 相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快? 解:(1)程序执行的CPI = 没有分支的基本CPI(1) + 分支带来的额外开销 分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。

分支带来的额外开销= 15% * (90%命中×10%预测错误×4 + 10%没命中×3)= 0.099 所以,程序执行的CPI = 1 + 0.099 = 1.099

(2)采用固定的2 个时钟周期延迟的分支处理CPI = 1 + 15%×2 = 1.3 由(1)(2)可知分支目标缓冲方法执行速度快。

4.5 假设分支目标缓冲的命中率为90%,程序中无条件转移指令的比例为5%,没有无条件转移指令的程序CPI值为1。假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的CPI值为多少?

解:设每条无条件转移指令的延迟为x,则有:

1+5%×x=1.1

x=2

当分支目标缓冲命中时,无条件转移指令的延迟为0。 所以 程序的CPI = 1 + 2 × 5% ×(1 -90%) =1.01

第5章 存储层次

5.1解释下列术语

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

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

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

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

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

5.2 简述“Cache—主存”层次与“主存—辅存”层次的区别。

答: 存储层次 比较项目 目的 存储管理的实现 访问速度的比值 (第一级比第二级) 典型的块(页)大小 CPU对第二级的访问方式 不命中时CPU是否切换 “Cache—主存”层次 为了弥补主存速度的不足 全部由专用硬件实现 几比一 几十个字节 可直接访问 不切换 “主存—辅存”层次 为了弥补主存容量的不足 主要由软件实现 几万比一 几百到几千个字节 均通过第一级 切换到其它进程

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

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

5.7 在“Cache—主存”层次中,主存的更新算法有哪两种?它们各有什么特点? 答:(1)写直达法。易于实现,而且下一级存储器中的数据总是最新的。 (2)写回法。速度快,“写”操作能以Cache存储器的速度进行。而且对于同一单元的多个写最后只需一次写回下一级存储器,有些“写”只到达Cache,不到达主存,因而所使用的存储器频带较低。

5.8 组相联Cache的失效率比相同容量直接映象Cache的失效率低。由此能否得出结论:采用组相联一定能带来性能上的提高?为什么?

答:不一定。因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多路选择开关。

5.9 写出三级Cache的平均访问时间的公式。

解:平均访存时间 = 命中时间+失效率×失效开销 只有第I层失效时才会访问第I+1。

设三级Cache的命中率分别为HL1、 Hl2、 HL3,失效率分别为Ml1、Ml2、ML3,第三级Cache的失效开销为PL3。

平均访问时间TA =HL1+Ml1{Hl2+Ml2(HL3+ML3×PL3)}

5.10 假设对指令Cache的访问占全部访问的75%;而对数据Cache的访问占全部访问的25%。Cache的命中时间为1个时钟周期,失效开销为50 个时钟周期,在混合Cache中一次load或store操作访问Cache的命中时间都要增加一个时钟周期,32KB的指令Cache的失效率为0.39%,32KB的数据Cache的失效率为4.82%,64KB的混合Cache的失效率为1.35%。又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种Cache的失效率更低?两种情况下平均访存时间各是多少?

解:(1)根据题意,约75%的访存为取指令。 因此,分离Cache的总体失效率为:(75%×0.15%)+(25%×3.77%)=1.055%;

容量为128KB的混合Cache的失效率略低一些,只有0.95%。 (2)平均访存时间公式可以分为指令访问和数据访问两部分:

平均访存时间=指令所占的百分比×(读命中时间+读失效率×失效开销)+ 数据所占的百分比×(数据命中时间+数据失效率×失效开销)

所以,两种结构的平均访存时间分别为:

分离Cache的平均访存时间=75%×(1+0.15%×50)+25%×(1+3.77%×50) =(75%×1.075)+(25%×2.885)=1.5275

混合Cache的平均访存时间=75%×(1+0.95%×50)+25%×(1+1+0.95%×50) =(75%×1.475)+(25%×2.475)=1.725

因此,尽管分离Cache的实际失效率比混合Cache的高,但其平均访存时间反而较低。分离Cache提供了两个端口,消除了结构相关。

第6章输入输出系统

6.1 解释以下术语

响应时间:从用户键入命令开始,到得到结果所花的时间。

通道:专门负责整个计算机系统输入/输出工作的专用处理机,能执行有限的一组输入输出指令。

通道流量:指一个通道在数据传送期间,单位时间内能够传送的数据量。

虚拟DMA:它允许DMA设备直接使用虚拟地址,并在DMA传送的过程中由硬件将虚拟地址转换为物理地址。

异步I/O:允许进程在发出I/O请求后继续执行,直到该进程真正访问这些数据而它们又尚未就绪时,才被挂起。

6.2 假设一台计算机的I/O处理时间占10%,当其CPU性能改进为原来的100倍,而I/O性能仅改进为原来的2倍时,系统总体性能会有什么样的变化?

解:加速比?1?16.94

10%/2?90%/100

6.4 同步总线和异步总线各有什么优缺点?

答:(1) 同步总线。同步总线上所有设备通过统一的总线系统时钟进行同步。同步总线成本低,因为它不需要设备之间互相确定时序的逻辑。但是其缺点是总线操作必须以相同的速度运行。 (2) 异步总线。异步总线上的设备之间没有统一的系统时钟,设备自己内部定时。设备之间的信息传送用总线发送器和接收器控制。异步总线容易适应更广泛的设备类型,扩充总线时不用担心时钟时序和时钟同步问题。但在传输时,异步总线需要额外的同步开销。

6.5计算机系统字长32位,包含两个选择通道和一个多路通道,每个选择通道上连接了两台磁盘机和两台磁带机,多路通道上连接了了两台行式打印机,两台读卡机,10台终端,假定各设备的传输率如下:

磁盘机:800KBps 磁带机:200KBps 行打机:6.6KBps 读卡机:1.2KBps 终 端:1KBps

计算该计算机系统的最大I/O数据传输率。

解:本题要求计算通道的吞吐率,而且机器有一个多路通道,这就有两种可能:字节多路通道和数组多路通道。因为如果将多路通道组织成数组多路通道,某个时刻通道只能为一台设备传送数据,所以它的传输率是所有设备的传输率的最大值,而如果将它组织成字节多路通道,该通道的最大传输率就是所有设备的传输率之和。 所以在本题中,从性能上考虑,应组织成字节多路通道形式。 所以此类通道的最大传输率为:

(1)fBYTE=∑fi=f打印机传输率×2+f读卡机传输率×2+f终端传输率×10=25.6KBps (i=1..14) (2)两个选择通道连接的设备相同,所以只要计算其中一个通道的传输率既可。因为磁盘机的传输率大于磁带机。所以此类通道的传输率为:

max{800,200}=800KBps

所以本系统的最大数据传输率为: f系统=2×800+25.6=1625.6KBps。

6.6 简述通道完成一次数据传输的主要过程。 答:(1)在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道。 (2) 通道处理机执行CPU为它组织的通道程序,完成指定的数据I/O工作。 (3) 通道程序结束后向CPU发中断请求。CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对I/O中断请求进行处理。

6.7 试比较三种通道的优缺点及适用场合。 答:(1)字节多路通道。一种简单的共享通道,主要为多台低速或中速的外围设备服务。(2)数组多路通道。适于为高速设备服务。(3)选择通道。为多台高速外围设备(如磁盘存储器等)服务的。

6.8 一个字节多路通道连接有6台设备,它们的数据传输率如下表所示。

设备名称 D1 D2 D3 D4 D5 D6 数据传输速率(B/ms) 50 50 40 25 25 10 (1) 计算该通道的实际工作流量。

(2) 若通道的最大流量等于实际工作流量,求通道的工作周期Ts+TD。 解:(1)通道实际流量为

fbyte??fi?50?50?40?25?25?10?200B/ms

i?16(2)由于通道的最大流量等于实际工作流量,即有

fmax?byte?1?200B/ms

TS?TD可得,通道的工作周期Ts+TD = 5μs。

联系合同范文客服:xxxxx#qq.com(#替换为@)