6.2. 已知X=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。
(1)X > 1/2; (2)X 1/8;
(3)1/4 X > 1/16
解: (1)若要X > 1/2,只要a1=1,a2~a6不全为0即可
(a2 or a3 or a4 or a5 or a6 = 1);
(2)若要X 1/8,只要a1~a3不全为0即可
(a1 or a2 or a3 =1), a4~a6可任取0或1;
(3)若要1/4 X > 1/16,只要a1=0,a2可任取0或1;
当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0(a5 or a6=1;
若a3=1,则a4~a6可任取0或1;
当a2=1时, a3~a6可任取0或1。
6.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-92-31
最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)231
则负数表示范围为:-(1-2-9)231 —— -2-92-31
最大正数= 0,11 111;0.111 111 111,即 (1-2-9)231
最小正数= 1,11 111;0.000 000 001,即 2-92-31
则正数表示范围为:2-92-31 ——(1-2-9)231
(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则
最大负数=1,00 000;1.011 111 111,即 -2-12-32
最小负数=0,11 111;1.000 000 000,即 -1231
则负数表示范围为:-1231 —— -2-12-32
最大正数=0,11 111;0.111 111 111,即 (1-2-9)231
最小正数=1,00 000;0.100 000 000,即 2-12-32
则正数表示范围为:2-12-32 ——(1-2-9)231
29. 设浮点数阶码取3位,尾数取6位(均不包括符号位),要求阶码用移码运算,尾数用补码运算,计算x·y,且结果保留1倍字长。
(1)x=2-100× 0.101101,
y=2-011×(-0.110101);
(2)x=2-011×(-0.100111),
y=2101×(-0.101011)。
解:先将x、y转换成机器数形式:
(1)[x]阶移尾补=0,100;0.101 101
[y]阶移尾补=0,101;1.001 011
1)阶码相加:
[Ex]移+[Ey]补=00,100+11,101
=00,001(无溢出)
2)尾数相乘: (算法一:补码两位乘比较法)
部分积 乘数 yn+1
+ 2 + 2 + 0 0 0 . 0 0 0 1 1 1 . 0 1 0 1 1 1 . 0 1 0 1 1 1 . 1 1 0 1 1 1 . 0 1 0 1 1 1 . 0 0 0 1 1 1 . 1 1 0 0 0 0 . 1 0 1 0 0 0 . 0 1 1 0 0 0 0 1 1 0 1 1
1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 . 0 1 1 1 1 0 1 1 .0 1 1 0 1 1 0
+[-x]补
0 1 0 1
+[-x]补
1 . 0 0 1
+[x]补
1 1
2 0 0 0 . 0 0 0 1 1 1 1 0 1 1 1 1 1 1 . 0
+ 1 1 1 . 0 1 0 0 1 1 +[-x]补
1 1 1 . 0 1 1 0 1 0 1 0 1 1 1 1 0 0(清0)
2)尾数相乘: (算法二:补码一位乘比较法)
部分积 yn+1
0 0 . 0 0 0 0 0 0 1 . 0 0 1 + 1 1 . 0 1 0 0 1 1 1 1 . 0 1 0 0 1 1
1 1 1 . 1 0 1 0 0 1 1 1 .0 0 1 1 1 . 1 1 0 1 0 0 1 1 1 .0 + 0 0 . 1 0 1 1 0 1 0 0 . 1 0 0 0 0 1 乘数 0 1 1 0
+[-x]补
1 0 1 1 — +0
0 1 0 1
+[x]补
1 0 0 . 0 1 0 0 0 0 1 1 1 1 . 0 0 1 0
+ 1 1 . 0 1 0 0 1 1 +[-x]补
1 1 . 1 0 0 0 1 1
1 1 1 . 1 1 0 0 0 1 1 1 1 1 + 0 0 . 1 0 1 1 0 1 0 0 . 0 1 1 1 1 0
1 0 0 . 0 0 1 1 1 1 0 1 1 1 1 0 0 . 0 0 0 1 1 1 1 0 1 1 + 1 1 . 0 1 0 0 1 1 1 1 . 0 1 1 0 1 0 1 0 1 1 [Mx × My]补=1.011 010(101 111 00)
3)结果规格化:已是规格化数。
4)舍入:设采用0舍1入法,应入:
1 . 0 0 1 +[x]补
1 1. 0 0 — +0
1 1 1. 0
+[-x]补
1 0. — (清0)
1
[x×y]阶移尾补=0,001;1.011 011
5)溢出:无
x×y=2-111×(-0.100 101)
(2)x=2-011×(-0.100 111)
y=2101×(-0.101 011)
[x]阶移尾补=0,101;1.011 001
[y]阶移尾补=1,101;1.010 101
1)阶码相加:
[Ex]移+[Ey]补=00,101+00,101
=01,010(无溢出)
[Mx × My]补=0.011 010(001 101 00)
9.14. 设单总线计算机结构如图9.5所示,其中M为主存,XR为变址寄存器,EAR为有效地址寄存器,LATCH为锁存器。假设指令地址已存于PC中,画出“LDA *D”和“SUB X,D”指令周期信息流程图,并列出相应的控制信号序列。
说明:
(1)“LDA *D”指令字中*表示相对寻址,D为相对位移量。
(2)“SUB X,D”指令字中X为变址寄存器XR,D为形式地址。
(3)寄存器的输入和输出均受控制信号控制,例如,PCi表示PC的输入控制信号,MDRo表示MDR的输出控制信号。
(4)凡是需要经过总线实现寄存器之间的传送,需要在流程图中注明,如PCBusMAR,相应控制信号为PCo和MARi。
解:(1)“LDA *D”指令周期信息流程图及微操作控制信号如下:
PC→BUS→MAR取指周期PCo,MARiMARo,1→R,MDRiMDRo,IRi+1PCo,Ad(IR)o,EARiEARo,MARiMARo,1→R,MDRiMDRo,ACCiM(MAR)→MDRMDR→BUS→IRPC+1→PCPC+Ad(IR)→EAR执行周期EAR→BUS→MARM(MAR)→MDRMDR→BUS→ACC
(2)“SUB X,D” 指令周期信息流程图及微操作控制信号如下:
取指周期执行周期
PC→BUS→MARPCo,MARiM(MAR)→MDRMARo,1→R,MDRiMDR→BUS→IRMDRo,IRiPC+1→PC+1PC+Ad(IR)→EARPCo,Ad(IR)o,EARiEAR→BUS→MAREARo,MARiM(MAR)→MDRMARo,1→R,MDRiMDR→BUS→XMDRo,ACCiACC-X→LATCHACCo,Xo,Ki=-,LATCHiLATCH→BUS→ACCLATCHo,ACCi
因篇幅问题不能全部显示,请点此查看更多更全内容