哈工大(威海)计算机组成原理答案(唐朔飞 第二版)(5)

2019-05-27 21:28

31.假设某设备向CPU传送信息的最高频率是40 000次/秒,而相应的中断处理程序其执行时间为40?s,试问该外设是否可用程序中断方式与主机交换信息,为什么?

解:该设备向CPU传送信息的时间间隔 =1/40K=0.025×103=25?s < 40?s

则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢,当其还未结束中断处理程序时,外设已经传来了新的数据,这也是为什么高速外设适合用DAM传送的原因。

举例说明: (输入) 假设初始CPU空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU发第一个中断请求,CPU立即响应; I/O设备匀速运行, 25?s后,第二个中断请求到来,CPU正在执行中断程序接收第一个数据, 40?s时响应; 50?s后,第三个中断请求到来,CPU正在执行中断程序接收第二个数据,要到80?s时响应; 75?s后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;

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

解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。 道容量=1KB×8?16 =1K ×8 ×8 ?16=1K ×4=4K字

数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒

一个字的传送时间=1/200K字/秒?5?s(注:在此1K=1024,来自数据块单位缩写。)

由上计算知:5 ?s<<25 ?s,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。 注意,不能采用交替访问的形式(CPU执行指令20us,DMA5us,因为25us是指令最长执行时间而不是主存存取周期)

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交换; 讨论:

问题1:这里的传送速度指I/O设备与主存间,还是I/O与CPU之间? 答:视具体传送方式而定,程序查询、程序中断为I/O与CPU之间交换,DMA为I/O与主存间交换。

问题2:主动性应以CPU的操作方式看,而不是以I/O的操作方式看。 程序查询方式:以缓冲器容量(块、二进制数字)为单位传送;? ? 程序中断方式:以向量地址中的数据(二进制编码)为单位传送; DMA:传送单位根据数据线的根数而定;?

34.解释周期挪用,分析周期挪用可能会出现的几种情况。

答:若出现DMA和CPU同时访问内存,CPU总是将总线占有权让给DMA,通常把DMA的这种占有称为窃取或挪用,而窃取的时间一般为一个存取周期,故又把DMA占用的存取周期称为窃取周期或挪用周期。而且,在DMA窃取存取周期时,CPU尚能继续做内部操作(如乘法运算)。 可能出现的情况见P203

35.试从5个方面比较程序中断方式和DMA方式的区别

中断方式

DMA 方式

(1) 数据传送 (2) 响应时间 (3) 处理异常情况 (4) 中断请求 (5) 优先级

程序 硬件 指令执行结束 存取周期结束

能 不能 传送数据 后处理 低 高

第六章

3. 设x为整数,[x]补=1,x1x2x3x4x5,若要求 x < -16,试问 x1~x5 应取何值?

解:若要x < -16,需 x1=0,x2~x5 任意。(注:负数绝对值大的反而小。)

4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。

-13/64,29/128,100,-87

解:真值与不同机器码对应关系如下:

真 值 十进制 二进制 原 码 反 码 补 码 -13/64 -0.00 1101 1.001 1010 1.110 0101 1.110 0110 29/128 0.001 1101 0.001 1101 0.001 1101 0.001 1101 100 110 0100 0,110 0100 0,110 0100 0,110 0100 -87 -101 0111 1,101 0111 1,010 1000 1,010 1001

5.略

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]补。

注意: 1)绝对值小的负数其值反而大,且负数的绝对值越小,其补码值越大。因此, 当x<0、y<0时,若[x]补>[y]补,必有x>y。 2)补码的符号位和数值位为一体,不可分开分析。 3)完整的答案应分四种情况分析,但也可通过充分分析一种不成立的情况获得正确答案。 4)由于补码0的符号位为0,因此x、y=0可归纳到>0的一类情况讨论。 9.略

12.设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符) 。写出51/128、27/1024、7.375、-86.5所对应的机器数。要求如下: (1)阶码和尾数均为原码; (2)阶码和尾数均为补码; (3)阶码为移码,尾数为补码。 (注:题意中应补充规格化数的要求。) 解: 将十进制数转换为二进制: x1=51/128=(0.011 001 1)2 =2-1 ?(0.110 011)2

x2= -27/1024=(-0.000 001 101 1)2 =2-5 ?(-0.110 11)2 x3=7.375=(111.011)2 =23 ?(0.111 011)2

x4= -86.5=(-1 010 110.1)2 =27 ?(-0.101 011 01)2 则以上各数的浮点规格化数为: (1)[x1]浮=1,0001;0.110 011 000 0 (2)[x1]浮=1,1111;0.110 011 000 0 (3)[x1]浮=0,1111;0.110 011 000 0 (1)[x2]浮=1,0101;1.110 110 000 0 (2)[x2]浮=1,1011;1.001 010 000 0 (3)[x2]浮=0,1011;1.001 010 000 0 (1)[x3]浮=0,0011;0.111 011 000 0 (2)[x3]浮=0,0011;0.111 011 000 0 (3)[x3]浮=1,0011;0.111 011 000 0 (1)[x4]浮=0,0111;1.101 011 010 0 (2)[x4]浮=0,0111;1.010 100 110 0 (3)[x4]浮=1,0111;1.010 100 110 0

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

解:若要保证数的最大精度,应取阶的基=2。

若要表示±6万间的十进制数,由于32768(215)< 6万 <65536(216),则:阶码除阶符外还应取5位(向上取2的幂)。 故:尾数位数=32-1-1-5=25位

按此格式,该浮点数上溢的条件为:阶码 ? 32 该浮点数格式如下:

1 5 1 25 阶符 阶 值

数符 尾 数 16. 设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。 (1)无符号数;

(2)原码表示的定点小数; (3)补码表示的定点小数; (4)补码表示的定点整数; (5)原码表示的定点整数;

(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出正数和负数的表示范围; (注:加条件:阶原尾原非规格化数。)

(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。 解:(1)无符号整数:0 ~216 - 1,即:0 ~ 65535;

无符号小数:0 ~1 - 2-16 ,即:0 ~ 0.99998;

(2)原码定点小数:-1 + 2-15 ~1 - 2-15 ,即:-0.99997 ~ 0.99997 (3)补码定点小数:- 1 ~1 - 2-15 ,即:-1 ~0.99997 (4)补码定点整数:-215 ~215 - 1 ,即:-32768 ~32767 (5)原码定点整数:-215 + 1 ~215 - 1,即:-32767 ~32767

(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:

最大负数= 1,11 111;1.000 000 001 ,即 -2-9?2-31

最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)?231

-931 -9-31

则负数表示范围为:-(1-2)?2—— -2?2

最大正数= 0,11 111;0.111 111 111,即 (1-2-9)?231 最小正数= 1,11 111;0.000 000 001,即 2-9?2-31 则正数表示范围为:2-9?2-31 ——(1-2-9)?231

(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则 最大负数=1,00 000;1.011 111 111,即 -2-1?2-32 最小负数=0,11 111;1.000 000 000,即 -1?231 则负数表示范围为:-1?231 —— -2-1?2-32

最大正数=0,11 111;0.111 111 111,即 (1-2-9)?231 最小正数=1,00 000;0.100 000 000,即 2-1?2-32 则正数表示范围为:2-1?2-32 ——(1-2-9)?231

17.算术以为结果判断 真值为正 负数原码 负数补码 负数反码 ←丢1,出错 ←丢1,出错 ←丢0,出错 ←丢0,出错 →丢1,影响精度 →丢1,影响精度 →丢1,影响精度 →丢0,影响精度

加减乘除请自行查看书本例题

第七章


哈工大(威海)计算机组成原理答案(唐朔飞 第二版)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:外文翻译--MySQL和JSP的Web应用程序

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: