唐朔飞主编计算机组成原理课后答案

发布时间 : 星期一 文章唐朔飞主编计算机组成原理课后答案更新完毕开始阅读

不需要CPU查询。因此,程序查询方式,CPU与I/O串行工作,而程序中断方式CPU与I/O并行工作。

26. 什么是多重中断?实现多重中断的必要条件是什么?

解:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。

实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

28. CPU对DMA请求和中断请求的响应时间是否相同?为什么?

解:不相同:中断请求响应时间是在指令周期结束的时刻,而DMA请求响应的时间是在存取周期结束的时刻。

31. 假设某设备向CPU传送信息的最高频率是40 000次/秒,而相应的中断处理程序其执行时间为40us,试问该外设是否可用程序中断方式与主机交换信息,为什么? 解:中断时间间隔 =1/40K=0.025×10^-3=25us < 40us 则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行时间大于中断的间隔时间

32. 设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25us,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案 解:磁盘与CPU之间的传输率 8*1K*3000/60 =400KB/s

DMA传输间隔时间 2/400K = 5us

由于:5us<<25us,所以不能采用一条指令执行结束响应DMA请求的方案,应采取存取周期结束响应的方案。

33. 试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。 (1)数据传送依赖软件还是硬件; (2)传送数据的基本单位; (3)并行性; (4)主动性; (5)传输速度; (6)经济性; (7)应用对象。 解:比较如下:

(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。

(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。

(3)程序查询方式传送时,CPU与I/O设备串行工作;程序中断方式时,CPU与I/O设备并行工作,现行程序与I/O传送串行进行; DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行

(4)程序查询方式时,CPU主动查询I/O设备状态;程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。

(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢;

程序查询方式软件额外开销时间基本没有,因此传输速度比中断快; DMA方式基本由硬件实现传送,因此速度最快;

注意:程序中断方式虽然CPU运行效率比程序查询高,但传输速度却比程序查询慢。

(6)程序查询接口硬件结构最简单,因此最经济; 程序中断接口硬件结构稍微复杂一些,因此较经济; DMA控制器硬件结构最复杂,因此成本最高; (7)程序查询方式适用于中、低速设备的I/O交换; 程序中断方式适用于中、低速、实时处理过程; DMA方式适用于高速设备的I/O交换;

第6章

*号开始的题目不重要

1. 最少用几位二进制数即可表示任一五位长的十进制正整数?

解:五位长的十进制正整数中,最大的数99999满足条件:2^16(=65536)<99999<2^17(=131072),故最少用17位二进制数即可表示任一五位长的十进制正整数。 4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87 解:真值与不同机器码对应关系如下: 十进制 -13/64 29/128 二进制 -0.00 1101 0.001 1101 原码 1.001 1010 0.001 1101 0,110 0100 1,101 0111 反码 1.110 0101 0.001 110 0,110 0100 1,010 1000 补码 1.110 0110 0.001 1101 0,110 0100 1,010 1001 100 110 0100 -87 -101 0111 5. 已知[x]补,求[x]原和x。

[x1]补=1.1100; [x2]补=1.1001; [x3]补=0.1110; [x4]补=1. 0000; [x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000; 解:[x]补与[x]原、x的对应关系如下:

[x]补 1.1100 1.1001 0.1110 1.0000 1,0101 1,1100 0,0111 1,0000 [x]原 1.0100 1.0111 0.1110 无 1,1011 1,0100 0,0111 无 x(二进制) -0.0100 -0.0111 +0.1110 -1.0000 -1011 -0100 +0111 -10000 x(十进制) -1/4 -7/16 +7/8 -1 -11 -4 +7 -16

*6. 设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,[x]补=[x]原成立。

解:当x为小数时,

若x ? 0,则[x]补=[x]原成立;

若x < 0,[x]补= 2+x ;[x]原=1-x 则有 2+x=1-x 因此x=-1/2; 当x为整数时,

若x ? 0,则[x]补=[x]原成立;

若x < 0,[x]补=2^8 +x [x]原= 2^7-x 则有 2^8+x=2^7 –x 因此x=-64;

*7. 设x为真值,x*为绝对值,说明[-x*]补=[-x]补能否成立。 解:当x为真值,x*为绝对值时,[-x*]补=[-x]补不能成立。 [-x*]补=[-x]补的结论只在x>=0时成立。当x<0时,由于[-x*]补是一个负值,而[-x]补是一个正值,因此此时[-x*]补不等于[-x]补。 *8. 讨论若[x]补>[y]补,是否有x>y?

解:若[x]补>[y]补,不一定有x>y。 [x]补> [y]补时 x > y的结论只在 x > 0、y > 0,及 x<0、y<0时成立。当x>0、 y<0时,有x>y,但由于负数补码的符号位为1,则[x]补<[y]补。同样,当x<0、 y >0时,有x < y,但[x]补>[y]补。

9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)? 解:真值和机器数的对应关系如下: 十六进制 9BH 真值 二进制 十进制 二进制 十进制 无符号数 1001 1011 155 1111 1111 255 原码 -11 011 -27 -111 1111 -127 反码 -1100100 -100 -0000000 -0 补码 -1100101 -101 -0000001 -1 移码 +11011 +27 +1111111 +127 FFH 10. 在整数定点机中,设机器数采用一位符号位,写出±0的原码、补码、反码和移码,得出什么结论?

真值 +0 -0 原码 0,00…0 1,00…0 补码 0,00…0 0,00…0 反码 0,00…0 1,11…1 移码 1,00…0 1,00…0 结论:补、移码0的表示唯一,原、反码不唯一。

12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、27/1024、7.375、-86.5所对应的机器数。要求如下: (1)阶码和尾数均为原码; (2)阶码和尾数均为补码; (3)阶码为移码,尾数为补码。

答:x1=51/128=(25+24+21+20)/27=(0.011 001 1)2 =2-1 ?(0.110 011)2

[x1]原=1,0001;0.110 011 000 0 [x1] =1,1111;0.110 011 000 0 [x1] =0,1111;0.110 011 000 0

x2= -27/1024=(24+23+21+20)/2 10=(-0.000 001 101 1)2 =2-5?(-0.110 11)2

[x2]原=1,0101;1.110 110 000 0 [x2]补=1,1011;1.001 010 000 0

[x2]阶移,尾补=0,1011;1.001 010 000 0 x3=7.375=(111.011)2

=23?(0.111 011)2 [x3]原=0,0011;0.111 011 000 0 [x3]补=0,0011;0.111 011 000 0

[x3]阶移,尾补=1,0011;0.111 011 000 0 x4= -86.5=(-1 010 110.1)2 =27?(-0.101 011 01)2 则以上各数的浮点规格化数为: [x4]原=0,0111;1.101 011 010 0 [x4]补=0,0111;1.010 100 110 0

[x4]阶移,尾补=1,0111;1.010 100 110 0

14. 设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?

答:若要表示±6万间的十进制数,由于32768(215)< 6万<65536(216),保证最大精度的情况下,阶码需5位,尾数25位

17. 设机器数字长为8位(含1位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。

[x1]原=0.001 1010; [x2]原=1.110 1000; [x3]原=1.001 1001; [y1]补=0.101 0100; [y2]补=1.110 1000; [y3]补=1.001 1001; [z1]反=1.010 1111; [z2]反=1.110 1000; [z3]反=1.001 1001。 解:算术左移一位:

[x1]原=0.011 0100;正确

[x2]原=1.101 0000;溢出(丢1)出错 [x3]原=1. 011 0010;正确

[y1]补=0. 010 1000;溢出(丢1)出错 [y2]补=1.101 0000;正确

[y3]补=1.011 0010;溢出(丢0)出错 [z1]反=1. 101 1111;溢出(丢0)出错 [z2]反=1. 101 0001;正确

[z3]反=1.011 0011;溢出(丢0)出错 算术左移两位:

[x1]原=0.110 1000;正确

[x2]原=1.010 0000;溢出(丢11)出错 [x3]原=1. 110 0100;正确

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