17、 对I/O指令的设置方法有哪几种?请稍作解释。 (P.52. )
答:常见I/O指令的设置方法: (1)设置专用的I/O指令
(2)用通用的数据传送指令实现I/O操作 (3)通过I/O处理器或处理机控制I/O操作
第三章习题参考答案
1、试说明串行进位和并行进位方式的不同之处。 (P.61.) 答:
串行进位中进位是逐级形成的,每一级的进位直接依赖于前一级的进位,延迟时间较长,但节省器件,成本低。
并行进位中,各位进位信号都有独自的进位形成逻辑,每位进位信号的产生时间都相同,与低位进位无关,可有效地减少进位延迟时间。但这是以增加逻辑线路为代价的。
2、用74181和74182芯片构成一个64位的ALU,采用分级分组并行进位链。画出逻辑框图,并注明输入、输出等。
参考(P.63. 图3-6)
答:P.63. 图3-6 画出了一个16位的并行进位ALU结构 (每个74181芯片处理4位,16位需要4片74181芯片,组间用1片74182芯片产生组间并行进位。) 64位ALU,可采用4组图3-6 的结构,每组处理16位,再用1片74182,处理组间进位。
3、用变形补码计算[X]补+[Y]补,并指出是否溢出,说明是正溢还是负溢。
(P.66.) 答:
(1)[X]补=00,110011 [Y]补=00,101101 [X]补+[Y]补= 01,100000,正溢出 (2)[X]补=00,010110 [Y]补=00,100101 [X]补+[Y]补= 00,111011 无溢出 (3)[X]补=00,1110011 [Y]补=11,101101 [X]补+[Y]补= 11,100000,无溢出 (4)[X]补=11,001101 [Y]补=11,010011
[X]补+[Y]补= 10,100000,负溢出
4、用变形补码计算[X]补-[Y]补,并指出是否溢出。 (P.64. P.66. ) 答:
(1)[X]补=00,110011 [Y]补=00,101101 [-Y]补=11,010011 [X]补- [Y]补= [X]补+[-Y]补= 00,000110
(2)[X]补=00,110011 [Y]补=11,010011 [-Y]补=00,101101 [X]补- [Y]补= [X]补+[-Y]补= 01,100000
(3)[X]补=00,100011 [Y]补=00,110100 [-Y]补=11,001100 [X]补- [Y]补= [X]补+[-Y]补= 11,101111
(4)[X]补=11,101010 [Y]补=11,110111 [-Y]补=00,110111 [X]补- [Y]补= [X]补+[-Y]补= 11,110011
5、设两个浮点数X=2x 0.1101112,Y=2x (-0.101001)2,其浮点格式为:阶码4位,尾数8位,且均用双符号位补码表示。试按浮点加减运算规则计算[X]补+[Y]补和[X]补-[Y]补 (P.70.)
答:按照浮点格式:阶码4位,尾数8位,且均用双符号位补码表示 阶码尾数
[X]浮= 1101 ; 00.110111 [Y]浮= 1110 ; 11.010111
执行[X]补+[Y]补 的过程: (1) 对阶
求阶差 [Ex]补= 1101 [Ey]补=1110 [-Ey]补=0010
[△E] = [Ex]补- [Ey]补 = [Ex]补+ [-Ey]补=1101 + 0010 = 1111
[△E] = -1 表明X 的阶码较小,按对阶规则,将X 尾数右移一位,其阶码加1,得: [X]浮= 1110 ; 00. 0110111 按舍0入1的原则 [X]浮= 1110 ; 00. 011100
(2) 尾数求和
00.011100+11.010111=11.110011
3 规格化及判溢出
尾数不是规格化的数,需要左移2位,规格化,11.110011 -> 11.001100 阶码减2 : 1100
[X]补+[Y]补=1100; 11.001100
-011-010