12.设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10、、7.375、
-86.5所对应的机器数。要求 (1)阶码和尾数均为原码; (2)阶码和尾数均为补码; (3)阶码为移码,尾数为补码。
13.浮点数格式同上题,当阶码基值分别取2和16时, (1)说明2和16在浮点数中如何表示。
(2)基值不同对浮点数什么有影响?
(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。
14.设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除
阶符、数符各取1位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么? 15.什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采用什么机器数形式? 16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位
符号位,答案均用十进制表示。 (1)无符号数;
(2)原码表示的定点小数; (3)补码表示的定点小数; (4)补码表示的定点整数; (5)原码表示的定点整数;
(6)浮点数的格式为:阶符1位、阶码5位、数符1位、尾数9位(共16位)。分
别写出其正数和负数的表示范围;
(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的
真值范围。
17.设机器数字长为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,
算术右移一位、两位,讨论结果是否正确。
[x]原=0.0011010;[x]补=0.1010100;[x]反=1.0101111; [x]原=1.1101000;[x]补=1.1101000;[x]反=1.1101000; [x]原=1.0011001;[x]补=1.0011001;[x]反=1.0011001。 18.试比较逻辑移位和算术移位。
19.设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。 (1)A=
96451位。写出128?271024,B=,B=
??1332,求A+B
A+B
19(2)A=32?17128,求
(3)A=,求A+B (4)A=-87,B=53,求A+B (5)A=115,B=-24,求A+B
20.用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·y。 (1)x=0.110111,y=-0.101110 (2)x=-0.010111,y=-0.010101 (3)x=19,y=35
(4)x=0.11011,y=-0.11101
21.用原码加减交替法和补码加减交替法计算x÷y。 (1)x=0.100111,y=0.101011 (2)x=-0.10101,y=0.11011 (3)x=0.10100,y=-0.10001
3169,B=32 ,y=
22.设机器数字长为16位(含1位符号位),若一次移位需1?s,一次加法需1?s,试问原
码一位乘、补码一位乘、原码加减交替除和补码加减交替除法各最多需多少时间? 23.对于尾数为40位的浮点数(不包括符号位在内),若采用不同的机器数表示,试问当
尾数左规或右规时,最多移位次数各为多少? 24.按机器补码浮点运算步骤,计算[x+y]补
(1)x=2-011×0.101100,y=2-010×(-0.011100) (2)x=2-011×(-0.100010),y=2-010×(-0.011111) (3)x=2101×(-0.100101),y=2100×(-0.001111)
25.假设阶码取3位,尾数取6位(均不包括符号位),计算下列各题。 (1)[2 (2)[2 (3)[2
5
13(4)x=32?273211×1613×16]- [2×(
-4
-4
??91658)] )] )] )]
-3
]- [2×(]×[2×(
4
3
13×16??916 (4)[2×(
3
6
1115?3
16)]÷[2×(16-2
(5)[2×(-1)]×[2×
-6
7
5764?]
12 (6)[2×(-1)]÷[2×()] (7)3.3125+6.125 (8)14.75-2.4375 26.如何判断定点和浮点补码加减运算结果是否溢出,如何判断原码和补码定点除法运算结
果是否溢出?
27.设浮点数阶码取3位,尾数取6位(均不包括符号位),要求阶码用移码运算,尾数用
补码运算,计算x·y,且结果保留1倍字长。
-100
(1)x=2×0.101101,y=2-011×(-0.110101) (2)x=2-011×(-0.100111),y=2101×(-0.101011)
28.机器数格式同上题,要求阶码用移码运算,尾数用补码运算,计算x÷y。 (1)x=2101×0.100111,y=2011×(-0.101011) (2)x=2110×(-0.101101),y=2011×(-0.111100)
29.设机器字长为32位,用与非门和与或非门设计一个并行加法器(假设与非门的延迟时
间为30?s,与或非门的延迟时间为45?s),要求完成32位加法时间不得超过0.6?s。画出进位链及加法器逻辑框图。
30.设机器字长为16位,分别按4、4、4、4和5、5、3、3分组,
(1)画出按两种分组方案的单重分组并行进位链框图,并比较哪种方案运算速度快。 (2)画出按两种分组方案的双重分组并行进位链,并对这两种方案进行比较。 (3)用74181和74182画出单重和双重分组的并行进位链框图。 31.画出实现Booth算法的运算器框图。要求:
(1)寄存器和全加器均用方框表示,指出寄存器和全加器的位数; (2)说明加和移位的次数;
(3)详细画出最低位全加器的输入电路。
32.画出实现补码加减交替除法的运算器框图。要求:
(1)寄存器和全加器均用方框表示,指出寄存器和全加器的位数; (2)说明加和移位的次数;
(3)详细画出第5位(设n为最低位)全加器的输入电路; (4)画出上商的输入电路。
见习题文件夹
第七章 思考题与习题
1. 什么叫机器指令?什么叫指令系统?为什么说指令系统与机器的主要功能以及与硬件结构之间存在着密切关系?
2. 什么叫寻址方式?为什么要学习寻址方式? 3. 什么是指令字长、机器字长和存储字长?
4. 零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。
5. 对于二地址指令而言,操作数的物理地址可安排在什么地方?举例说明。 6. 试比较间接寻址和寄存器间址。 7. 试比较基址寻址和变址寻址。
8. 画出先变址再简址及先间址再变址的寻址过程示意图。
9. 画出SUB @ R1指令对操作数的寻址及减法过程的流程图。设被减数和结果存于ACC中, @表示间接寻址, R1寄存器的内容为2074H。
10. 画出执行ADD * -5指令(*为相对寻址特征)的信息流程图。设另一个操作数和结果
存于ACC中,并假设(PC)= 4000H。
11. 设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,
用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+ 1→PC的操作。试问当执行JMP * +8和JMP * -9指令时,转移指令第二字节的内容各为多少?
12. 某机主存容量为4M×16位,且存储字长等于指令字长,若该机指令系统可完成108种
操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:
(1)画出一地址指令格式并指出各字段的作用; (2)该指令直接寻址的最大范围; (3)一次间址和多次间址的寻址范围; (4)立即数的范围(十进制表示); (5)相对寻址的位移量(十进制表示);
(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便
于程序浮动?哪一种最适合处理数组问题?
(7)如何修改指令格式,使指令的寻址范围可扩大到4M?
(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。 13. 举例说明哪几种寻址方式在指令的执行阶段不访问存储器?哪几种寻址方式在指令的
执行阶段只需访问一次存储器?完成什么样的指令,包括取指令在内共需访问四次存储器?
14. 某机器共能完成78种操作,若指令字长为16位,试问一地址格式的指令地址码可取几
位?若想使指令的寻址范围扩大到216,可采用什么办法?举出三种不同的例子加以说明。
15. 某CPU内有32个32位的通用寄存器,设计一种能容纳64种操作的指令系统。假设指
令字长等于机器字长,试回答:
(1)如果主存可直接或间接寻址,采用“寄存器?存储器”型指令,能直接寻址的最
大存储空间是多少?画出指令格式并说明各字段的含义。
(2)如果采用通用寄存器作基址寄存器,则上述“寄存器?存储器”型指令的指令格
式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?
16. 某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64 ~ +63,16个通
用寄存器均可作为变址寄存器。采用扩展操作码技术,设计一套指令系统格式,满足下列寻址类型的要求:
(1)直接寻址的二地址指令3条; (2)变址寻址的一地址指令6条; (3)寄存器寻址的二地址指令8条; (4)直接寻址的一地址指令12条; (5)零地址指令32条。
试问还有多少种代码未用?若安排寄存器寻址的一地址指令,还能容纳多少条?
17. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地
址、一地址和二地址三种格式。若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种? 18. 什么是RISC?简述它的主要特点。 19. 试比较RISC和CISC。
20. RISC机中指令简单,有些常用的指令未被选用,它用什么方式来实现这些常用指令的
功能,举例说明。
第七章 指令系统习题部分答案
1、答:
① 机器指令:把每一条机器语言的语句叫机器指令。 指令系统:将全部机器指令的集合叫做机器的指令系统 ② 机器的指令系统集中反映了机器的功能
计算机设计者主要研究如何确定机器的指令系统,如何用硬件电路,芯片,设备来实现机器指令系统的功能,计算机的使用者则是依据机器提供的指令系统,使用汇编语言来编制各种程序。计算机使用者根据机器指令系统所描述的机器功能,能很清楚地了解计算机内部寄存器-存储器的结构。以及计算机能直接支持的各种数据类型。
2、答:
寻址方式实质确定本条指令的数据地址,以及下一条将要执行的指令地址的方法,他与硬件结构紧密相关,而且也直接影响指令格式和指令功能。
3、答:
指令字长即指机器指令中含二进制代码的总位数。 存储字长即指存储单元中二进制代码的个数。 机器字长即指CPU中寄存器的位数。 三这位数可以相等,也可以不等。
4、答:
① 零地址指令的操作数的地址隐含在堆栈指针SP中。
② 一地址指令中,另一个操作数地址可采用隐含寻址,另一操作数隐含在累加器ACC中。
5、答:
对于二地址指令,操作数的物理地址可安排在 两个主存单元