编辑: liubingb | 2019-12-24 |
设机器数的字长
8 位(含一位符号位) ,分别写出下列各二进制数的原码、补码和反 码:0,0.1000,-0.1111,1101. [解] 真值原码补码反码00.1000 0.1111 -0.1111 0,0000000 0.1000000 0.1111000 1.1111000 0,0000000 0.1000000 0.1111000 1.0001000 0,0000000 0.1000000 0.1111000 1.0000111 3. 已知下列数的原码表示, 分别写出它们的补码表示: [X1]原=0.10100, [X2]原=1.10111. [解] [X1]补=0.10100,[X2]补=1.01001 4.已知下列数的补码表示,分别写出它们的真值:[X1]补=0.10100,[X2]补=1.10111. [解] X1=0.10100,X2=-0.01001 7.设[X]补=1.A1A2A3A4A5A6, (1)若要 X >
-1/2,A1~A6 要满足什么条件? (2)若要 -1/8 ≥ X ≥ -1/4,A1~A6 要满足什么条件? [解](1)∵ [-1/2]补=1.100000 ∴ X >
-1/2 的条件是:1.A1A2A3A4A5A6 >
1.100000 即A1(A2+A3+A4+A5+A6)=1 (2)∵ [-1/8]补=1.111000 [-1/4]补=1.110000 ∴-1/8 ≥ X ≥ -1/4 的条件是: 1.A1A2A3A4A5A6 ≤1.111000 并且 1.A1A2A3A4A5A6≥1.110000 即A1A2(A3 A4 A5 A6 + A3)=1 简化为:A1A2(A4 A5 A6 + A3)=1 9.某机字长
16 位,问在下列几种情况下所能表示数值的范围: (1)无符号整数 (2)用原码表示定点小数 (3)用补码表示定点小数 (4)用原码表示定点整数 (5)用补码表示定点整数 [解](1) 0≤X≤(2
16 -1) (2) -(1-2 -15 )≤X≤(1-2 -15 ) 计算机组成原理 讲义
132 (3) -1≤X≤(1-2 -15 ) (4) -(1-2 -15 )≤X≤(2 -15 -1) (5) -2
15 ≤X≤(2 -15 -1) 12.某浮点数字长
16 位,其中阶码部分
6 位(含一位阶符) ,移码表示,以2为底;
尾 数部分
10 位(含1位数符,位于尾数最高位) ,补码表示,规格化.分别写出下列各题的二 进制代码与十进制真值. (1)非零最小正数 (2)最大正数 (3)绝对值最小负数 (4)绝对值最大负数 [解](1)非零最小正数: 000000, 0.100000000;
2 -1 *2 -2
5 =2 -33 . (2)最大正数: 111111, 0.111111111;
(1-2 -9 )*2
2 5 -1 = (1-2 -9 )*2
31 (3)绝对值最小负数:000000, 1.011111111;
-(2 -1 +2 -9 )*2 -2
5 . (4)绝对值最大负数:111111, 1.000000000;
-1*2
2 5 -1 = -2
31 . 15.某浮点数字长
32 位,格式如下.其中阶码部分
8 位,以2为底,移码表示;
尾数 部分一共
24 位(含1位数符) ,补码表示.现有一浮点代码为(8C5A3E00)16,试写出它所表 示的十进制真值.
0 7
8 9
31 阶码 数符 尾数 [解] (8C5A3E00)16 =
1000 1100
0101 1010
0011 1110
0000 0000 B 真值:+0.10110100011111*2
12 =(101101000111.11)2=(2887.75)10 17.将下列十进制数转换为 IEEE 短浮点数: (1)28.75;
(3)-0.625;
(5)-1000.5. [解] (1) 28.75=11100.11=1.110011*2
4 符号位=0 阶码=127+4=131 IEEE 短浮点数格式:0,10000011,110
0110 0000
0000 0000
0000 即41E60000H (3)-0.625=0.101= -1.01*2 -1 符号位=1 阶码=127-1=126 IEEE 短浮点数格式:1,01111110,010
0000 0000
0000 0000
0000 即BF200000H 第二部分 习题解答
133 (5)-1000.5=1111101000.1=1.1111010001*2
9 符号位=1 阶码=127+9=136 IEEE 短浮点数格式:1,10001000,111
1010 0010
0000 0000
0000 即C47A2000H 18.将下列 IEEE 短浮点数转换为十进制数: (1)11000000
11110000 00000000
00000000 (3)01000011
10011001 00000000
00000000 [解](1)1,10000001,11100000000000000000000 符号位=1 阶码=129-127=2 1.111*2
2 =111.1B=7.5 ∴结果=-7.5 (3)0,10000111,00110010000000000000000 符号位=0 阶码=135-127=8 1.0011001*2
8 =100110010B=306. ∴结果=306. 20.以下列形式表示(5382)10. (1)8421 码;
(2)余3码;
(3)2421 码;
(4)二进制码 [解] (1)0101
0011 1000 0010;
(2)1000
0110 1011 0101;
(3)1011
0011 1110 0010;
(4)1010100000110. 21.填写下列代码的奇偶校验位,现设为奇校验:
1 0
1 0
0 0
0 1
0 0
0 1
1 0
0 1
0 1
0 0
1 1
1 0 [解]
3 个代码的校验位分别是;
0,0,1. 补充题 2-1.已知[X]补=3EH, [Y]补=DCH, 求:[2X]补,[2Y]补,[1/2 X]补,[1/4 Y]补,[X]原,[Y]原,[X]反,[Y]反,[X]移,[Y]移 [解] [2X]补=7CH;
[X/2]补=1FH;
[X]原=3EH;
[X]反=3EH;
[X]移=BEH [2Y]补=B8H;
[Y/4]补=F7H;
[Y]原=A4H;
[Y]反=DBH;
[Y]移=5CH 计算机组成原理 讲义
134 第3章 指令系统 (教材P78) 3.某机为定长指令字结构,指令长度为
16 位,每个操作数的地址码长
6 位,指令分为 无操作数、单操作数和双操作数三类.若双操作数指令已有 K 种,无操作数指令已有 L 种, 为单操作数最多可能有多少种?上述三类指令各自允许的最大指令条数是多少? [解] (1)设单操作数指令有 X 条, 则((24 -K)?26 - X)?26 >
= L 即,X ≤ (24 -K)?26 - (L /
26 ) ∴ 最多还可以设计出单操作数指令 ?(24 -K)?26 - (L/26 )? 条. (2) 双操作数指令的最大指令数:24 -1;
单操作数指令的最大指令数:15?26 -1 (假定双操作数指令仅
1 条,为无操作数指令留出
1 个扩展窗口) ;
无操作数指令的最大指令数:216 -212 -26 (其中
212 为表示某条二地址指令占用的编码数,26 为表示某条单地址指令占 用的编码数,此时双操作数和单操作数指令各仅有
1 条) 4.设某机为定长指令字结构,指令长度为
12 位,每个地址码占
3 位,试提出一种分配 方案,使该指令系统包含:4 条三地址指令,8 条二地址指令,180 条单地址指令. [解]
4 条三地址指令:
000 XXX YYY ZZZ ??
011 XXX YYY ZZZ
8 条二地址指令:
100 000 XXX YYY ??
100 111 XXX YYY
180 条单地址指令:101
000 000 XXX ??
111 110
011 XXX 5.指令格式同题 4,能否构成:三地址指令
4 条,单地址指令
255 条,零地址指令
64 条?为什么? [解] 不能构成这样的指令系统. 这是因为,如果三地址指令有
4 条,单地址指令有
255 条,则零地址指令的条数最多只 能有: [(2
3 -4)*2
6 -255]*2
3 =
8 3 位3位3位3位三地址指令: 可从
2 3 种编码中选
4 种,剩4个编码 单地址指令: 可从扩展出 4*2
6 个编码种选
255 种,剩1个编码 零地址指令: 剩下
1 个编码与
3 位地址只能扩展出 1*2
3 个编码
4 位6位6位第二部分 习题解答
135 7.试比较间接寻址和寄存器间址. [解] 间接寻址方式其有效地址在内存中,操作数也在内存中;
寄存器寻址方式其有效 地址在 CPU 内的寄存器中,操作数在内存中.所以前者寻找操作数较慢. 补充题 3-1.根据操作数所在的位置,指出其寻址方式的名称. (1) 操作数在寄存器中 (2) 操作数的地址在通用寄存器中 (3) 操作数在指令中 (4) 操作数的地址在指令中 (5) 操作数地址的地址在指令中 (6) 操作数的地址为寄存器内容与位移量之和(寄存器分别为基址寄存器,变址寄存器 和程序计数器) (7) 操作数为某二进制位 (8) 操作数为栈顶元素 [解] 各小题对应寻址方式的名称是: (1)寄存器寻址 (2)寄存器间址 (3)立即寻址 (4)直接寻址 (5)间接寻址 (6)分别为基址、变址和自相对寻址 (7)位寻址 (8)堆栈寻址 10.某机字长为
16 位,主存容量为 64K 字,指令格式为单字长单地址,共有
64 条指令. 试说明: (1) 若只采用直接寻址方式,指令能访问多少主存单元? (2) 为扩充指令的寻址范围, 可采用直接/间接寻址方式, 若只增加一位直接/间接标志, 指令可寻址范围为多少?指令直接寻址的范围为多少? (3) 采用页面寻址方式, 若只增加一位 Z/C (零页/现行页) 标志, 指令寻址范围为多少? 指令直接寻址范围为多少? (4) 采用(2)、(3)两种方式结合,指令的寻址范围为多少?指令直接寻址范围为多少? [解] 该计算机共有
64 条指令,所以指令的操作码需要占
6 位,其余
10 位地址码字段. (1) 只采用直接寻址方式时,不需要标识寻址方式,地址码字段的
10 位全都作为直接 地址,所以指令能访问主存单元数为 1K 字( 0~2
10 -1 单元).
6 位10 位OP A (2) 采用直接/间接寻址方式时,需从
10 位的地址字段........