《计算机组成与设计》习题解答 联系客服

发布时间 : 星期六 文章《计算机组成与设计》习题解答更新完毕开始阅读de5b7a671ed9ad51f01df26a

平均磁盘访问时间 = 平均寻道时间 + 平均旋转延时 + 传输时间 + 控制器延时 = 20ms + 5.6ms + 0.5KB/1.0MB/s + 2ms = 20+5.6+0.5+2ms = 28.1ms

20. 设磁盘接口的数据传输速率为20MB/s,旋转速度为5400rpm,寻道时间为10ms,每个磁道的容量为64KB,控制器延迟为0.5ms,磁盘采用一个cache存放数据以提高平均访问速度。

(1) 求该磁盘在磁盘cache不命中时的访问64KB数据的时间。 (2) 求该磁盘在磁盘cache命中时的访问64KB数据的时间,假定cache容量足够并忽略cache的访问时间。

(3) 当磁盘cache的命中率为0.8时,求磁盘的平均访问时间。

答:(1) 不命中访问时间=控制器延迟+寻道时间+旋转时间+数据传输时间 =0.5 + 10 + (1/2)(60/5400) + max{(64/64)( 60/5400),64K/20M} =0.5 + 10 + 5.56 + max{11.11,3.12} =27.17 ms

(2) 命中访问时间=控制器延迟+数据传输时间 =0.5+3.12=3.62 ms

(3) 平均访问时间=0.8×3.62+(1-0.8)×27.17=2.90+5.43=8.33 ms

第十章

10. 若计算机共有5级中断,中断响应的优先次序从高到低依次是1→2→3→4→5,若要将中断的优先次序改为1→4→5→2→3,试设计各级中断处理程序的中断级屏蔽位。 答:

- L1 L2 L3 L4 L5 L1 L2 L3 L4 L5 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 1 1

11. 在一个8级中断的系统中,硬件中断响应从高到低的优先顺序是1?2?3?4?5?6?7?8,设置中断屏蔽寄存器后,中断响应的优先顺序变为1?3?5?7?2?4?6?8,如果CPU在执行一个应用程序时有5、6、7、8级的四个中断同时到达,CPU在按优先顺序处理到第3个中断请求的过程中又有一个3级中断请求到达CPU,试画出CPU响应这些中断的顺序示意图。 答:中断相应的过程如下图所示:

原程序 1级 2级 3级 4级 5级 6级 7级 8级

中断响应的顺序为5,7,6,3,6,8。

13. 某计算机CPU有5个中断源D1、D2、D3、D4和D5,硬件的中断优先级从高到低分别是1级、2级、3级、4级和5级。软件设置的中断屏蔽字见下表。每个中断屏蔽字有5位中断屏蔽代码,其中,“0”表示该中断源开放,“1”表示该中断屏蔽源被屏蔽。

中断源 D1 D2 D3 D4 D5

中断屏蔽字 D1 D2 D3 D4 D5 1 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 1

(1) 当使用屏蔽字时,处理机响应各中断源的中断请求的先后次序是什么?实际上的中断处理次序是什么?

(2) 如果D1、D2、D3、D4和D5这5个中断源同时请求中断,画出处理机响应中断请求和实际运行中断服务程序过程的示意图。

答:(1) 当使用正常的中断屏蔽码时,处理机响应各中断源的中断请求的先后次序是根据优

先级从高到低的级别,分别是1级、2级、3级、4级和5级。实际处理的顺序是4级、5级、3级、2级和1级。

(2) 按照改变后的中断屏蔽码,D1、D2、D3、D4和D5这5个中断源同时请求中断时,处

理机响应中断源的中断请求和实际运行中断服务程序过程如下图所示。图中时间轴向下,箭头表示处理过程,没有箭头的垂直线表示响应的过程。

原程序 1级 2级 3级 4级 5级

14 一个DMA模块采用周期挪用方式从一个速率为9600bps的外围设备向存储器传输字符。CPU读取指令的速率为每秒100万条,每条指令一个字,问DMA模块对于CPU速率的影响有多少?

答:DMA每传输一个字符访问一次存储器,从而影响CPU的读取指令的操作。设DMA的访存周期为T,则DMA对CPU的影响比例为:9600×T/(8×1000000)。

20. 某32位计算机有2条选择通道和1条字节多路通道。每条选择通道支持2个磁盘和2个磁带设备。字节多路通道连接2个打印机、2个读卡机和10台终端。假定以下各设备的数据传输速率:

磁盘 800KB/s 磁带 200KB/s 打印机 6.6KB/s 读卡机 1.2KB/s 终端 1KB/s

问系统的输入输出传输速率最大值为多少?

答:选择通道的输入输出传输速率为800KB/s,字节多路通道的输入输出传输速率为 2×6.6KB/s + 2×1.2KB/s + 10×1KB/s = 25.6 KB/s 系统的输入输出传输速率最大值为 2×800KB/s + 25.6 KB/s = 1625.6 KB/s