计算机组成原理与汇编语言程序设计课后习题及解答详解.docx
《计算机组成原理与汇编语言程序设计课后习题及解答详解.docx》由会员分享,可在线阅读,更多相关《计算机组成原理与汇编语言程序设计课后习题及解答详解.docx(68页珍藏版)》请在冰豆网上搜索。
计算机组成原理与汇编语言程序设计课后习题及解答详解
计算机组成原理与汇编语言程序设计课后习题及解答
徐洁,俸远祯电子工业出版社
第1章习题一
1.什么是程序存储工作方式?
答:
计算机的工作方式——存储程序工作方式。
即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。
2.采用数字化方法表示信息有哪些优点?
用数字化方法表示信息的优点:
(1)抗干扰能力强,可靠性高。
(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。
(3)数字化的信息可以存储、信息传送也比较容易实现。
(4)可表示的信息类型与范围及其广泛,几乎没有限制。
(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。
3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。
4.数字计算机的主要特点是什么?
1.
(1)能在程序控制下自动连续地工作;
(2|)运算速度快;
(3)运算精度高;
(4) 具有很强的信息存储能力;
(5) 通用性强,应用领域及其广泛。
5.衡量计算机性能的基本指标有哪些?
答:
衡量计算机性能的基本指标:
(1)基本字长——参加一次运算的数的位数;
(2)数据通路宽度——数据总线一次能并行传送的位数;
(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。
(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。
(5)外存容量——常用字节数表示。
(6)配备的外围设备及其性能。
(7)系统软件配置。
7.系统软件一般包括哪些部分?
列举你所熟悉的三种系统软件。
系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。
例如WINDOWS98操作系统,C语言编译程序等,数据库管理系统。
8.对源程序的处理有哪两种基本方式?
对源程序的处理通常有两种处理方式:
解释方式和编译方式。
第2章习题二
1.将二进制数(101010.01)2转换为十进制数及BCD码。
解:
(101010.01)2=(42.25)10=(01000010.00100101)BCD
2.将八进制数(37.2)8转换为十进制数及BCD码.
解:
(37.2)8=(31.25)10=(00110001.00100101)BCD
3.将十六进制数(AC.E)转换为十进制数及BCD码.
解:
(AC.E)16=(172.875)10=(00010111001
4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。
解:
(75.34)10=(01001011.01010111)2=(213.256)8=(4B.57)16
5.将十进制数13/128转换为二进制数.
解:
(13/128)10=(1101/10000000)2=(0.0001101)2
6.分别写出下列各二进制数的原码、补码,字长(含一位数符)为8位。
(1)0
(2)-0 (3)0.1010 (4)-0.1010 (5)1010 (6)-1010
解:
原码 补码
0 00000000 00000000
-0 10000000 00000000
0.1010 0.1010000 0.1010000
-0.1010 1.1010000 1.0110000
1010 00001010 00001010
-1010 10001010 11110110
7.若X补=0.1010,则X原、真值等于什么?
解:
X补=0.1010,则X原=0.1010,真值X=0.1010
8.若X补=1.1010,则X原、真值等于什么?
解:
X补=1.1010,则X原=1.0110,真值X=-0.0110
9.某定点小数字长16位,含1位符号,原码表示,分别写出下列典型值的二进制代码与十进制真值。
(1)非0最小正数
(2)最大正数
(3)绝对值最小负数 (4)绝对值最大负数
解:
二进制代码 十进制真值
(1)非0最小正数 0.000000000000001 2-15
1-2-15
(3)绝对值最小负数 1.000000000000001 -2-15
(4)绝对值最大负数
10.某定点小数字长16位,含1位符号,补码表示,分别写出下列典型值的二进制代码与十进制真值。
(1)非0最小正数
(2)最大正数
(3)绝对值最小负数 (4)绝对值最大负数
解:
二进制代码 十进制真值
(1)非0最小正数 0.000000000000001 2-15
(4)绝对值最大负数 1.000000000000000 -1
11.某浮点数字长16位,其中阶码6位,含1位符号位,补码表示,以2为底;尾数10位(含1位数符),补码表示,规格化。
分别写出下列各典型值的二进制代码与十进制真值。
(1)非0最小正数
(2)最大正数
(3)绝对值最小负数 (4)绝对值最大负数
解:
二进制代码 十进制真值
(1)非0最小正数 100000,0.100000000
(2)最大正数
011111,0.111111111
(3)绝对值最小负数
100000,1.100000000
(4)绝对值最大负数
011111,1.000000000
14.减少指令中一个地址码位数的方法是什么?
答:
减少指令中一个地址码位数的方法是采用寄存器寻址方式。
15.某主存单元的地址码与存储单元内容对应关系如下:
地址码 存储内容
1000H A307H
1001H 0B3FH
1002H 1200H
1003H F03CH
1004H D024H
(1)若采用寄存器间接寻址读取操作数,指定寄存器R0的内容为1002H,则操作数是多少?
(2)若采用自增型寄存器间接寻址方式(R0)+,R0的内容为1000H,则操作数是多少?
指令执行后R0的内容是什么?
(3)若采用自减型寄存器间接寻址方式-(R1)+读取操作数,R1的内容为1003H,则操作数是多少?
指令执行后R1的内容是什么?
(4)若采用变址寻址方式X(R2),指令中给出形式地址d=3H,变址寄存器R2的内容为1000H,则操作数是多少?
解:
(1)操作数为1200H。
(2)操作数为A307H,指令执行后R0的内容1001H。
(3)操作数为F03CHH,指令执行后R0的内容1002H。
(4)操作数为F03CHH。
16.对I/O设备的编址方法有哪几种?
请稍作解释。
答:
对I/O设备的编址方法有两种:
外围设备单独编址和外围设备与主存统一编址。
外围设备单独编址:
为I/O接口中的有关寄存器分配I/O端口地址,一般由地址总线若干低位提供I/O端口地址,从而选择某个寄存器进行读/写。
外围设备与主存统一编址。
将I/O接口中的有关寄存器与主存单元统一编址,一般由地址码中高端(地址值大)的一段区域分配给I/O端口。
17.I/O的设置方法有哪几种?
请稍作解释。
答:
I/O指令的设置方法有三种:
(1)设置专用的I/O指令:
指令中的操作码明确规定某种输入/输出操作,CPU寄存器号,I/O端口地址。
应用于外围设备单独编址方式。
(2)用通用的数据传送指令实现I/O操作:
应用于外围设备与主存单元统一编址方式。
(3)通过I/O处理器或处理机控制I/O操作:
应用于采用协处理器或多处理机的系统。
第3章习题三
1.试说明串行进位和并行进位的不同之处。
答:
采用串行进位的加法器,是将n个加法器串接起来。
其中的进位是逐级形成的,每一级的进位直接依赖前一级的近位。
由于串行进位的延时时间较长,所以速度很慢。
采用并行进位的加法器中,各加法器的进位信号仅由进位产生函数Gi与进位传递函数Pi及最低位进位C0决定,而Gi和Pi之与本位的Ai和Bi有关,即Gi与Pi的形成是同时的,因此各级的进位输出Ci也是同时形成的。
并行进位有效地减少进位延时时间。
3.用变形补码计算[X]补+[Y]补,并指出是否溢出,说明是正溢还是负溢。
(1)[X]补=00110011 [Y]补=00101101
00 110011
+) 00 101101
01 100000
[X]补+[Y]补=01100000,符号位为01,为正溢。
(2)[X]补=00010110 [Y]补=00100101
00 110110
+) 00 100101
01 011011
[X]补+[Y]补=01011011,符号位为01,为正溢。
(3)[X]补=11110011 [Y]补=11101101
11 110011
+) 11 101101
11 100000
[X]补+[Y]补=11100000,符号位为11,结果正确。
(4)[X]补=11001101 [Y]补=11010011
11 001101
+) 11 010011
10 100000
[X]补+[Y]补=10100000,符号位为10,为负溢。
3.用变形补码计算[X]补-[Y]补,并指出是否溢出,说明是正溢还是负溢。
(1)[X]补=00110011 [Y]补=00101101
解:
[-Y]补=11010011
00 110011
+) 11 010011
00 000110
[X]补-[Y]补=00000110,符号位为00,结果正确。
(2)[X]补=00110011 [Y]补=11010011
解:
[-Y]补=00101101
00 110011
+) 00 101101
01 000000
[X]补-[Y]补=01000000,符号位为01,为正溢。
(3)[X]补=00100011 [Y]补=00110100
解:
[-Y]补=11001100
00 110011
+) 11 001100
11 111111
[X]补-[Y]补=11111111,符号位为11,结果正确。
(4)[X]补=00101010 [Y]补=11110111
解:
[-Y]补=00001001
00 101010
+) 00 001001
00 110011
[X]补-[Y]补=00110011,符号位为00,结果正确。
6.用无符号数一位乘法计算X×Y,写出规范的运算过程。
(1)X=1001 Y=1101
(2)X=1101 Y=1111
(3)X=1010 Y=1001
7.用无符号数不恢复余数法求X÷Y,写出运算过程,分别给出求得的商和余数。
(1)X=00101001 Y=1011
(2)X=00110110 Y=1111
(3)X=01011010 Y=1001
8.简要解释下列名词术语:
微命令,同步控制方式,指令周期,机器周期,时钟周期,时钟脉冲,指令流程,微指令,微程序,微周期,直接控制编码,分段直接译码法,分段间接译码法,增量方式,断定方式,垂直型微指令,水平型微指令。
答:
微命令——构成控制信号序列的最小单位。
例如打开或关闭某个控制门的电位信号,某个寄存器的打入脉冲等。
同步控制方式——同步控制方式是这样一种时序控制方式:
各种操作都由统一的时序信号同步定时,它的主要特征是有固定的时钟周期划分。
这意味着什么时间执行什么操作是事先安排好的。
一个基本操作占用一个时钟周期(节拍),某个操作发生的时刻由相应的脉冲边沿定时。
指令周期——指令周期是从取指令、分析指令到执行完该指令所需的时间。
不同的指令,其指令周期长短可以不同。
机器周期——在组合逻辑机控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期。
例如,取指令周期、存储器读周期、存储器写周期等。
时钟周期——一个机器周期的操作一般需分为几步完成。
因此,将一个机器周期划分为若干相等的时间段,每个时间段内完成一步基本操作,这个时间段用一个电平信号宽度对应,称为节拍或时钟周期。
指令流程——指令流程体现了计算机工作原理中一个核心内容:
CPU究竟怎样执行指令流程?
一般是给出一条特定的指令,以模型机CPU内部组成为背景,用寄存器传送级语句描述其读取与执行流程。
微指令——若干微命令的组合,以编码形式存放在控制存储器的一个单元中,控制实现一步操作。
一条微指令的功能就是给出完成指令某步操作所需的微操作控制信号和后继微指令地址。
微程序——一条微指令包含的微命令控制实现一步(一个时钟周期)机器操作;若干条微指令组成一小段微程序,解释实现一条机器指令;控制存储器中的微程序能解释实现全部指令系统。
微周期——通常指从控制存储器读取一条微命令并执行相应的微操作所需的时间。
直接控制编码——是指微指令的微命令字段中的每一位都代表一个微命令。
设计微指令时,选用或不选用某个微命令,只要将表示该微命令的对应位设置成1或0就可以了。
分段直接译码法——将微指令的微命令字段分成若干小段,把相斥性微命令组合在同一段中,而把相容性微命令组合在不同的段中,每个字段独立编码,每种编码代表一个微命令,且各字段编码单独定义,与其它字段无关,这被称为分段直接译码法。
分段间接译码法——是在直接译码法的基础上,进一步缩短字长的一种编码方法。
在这种编码法中,一个字段的含义不仅取决于本字段编码,还兼由其它字段来解释,以便使用较少的信息位表示更多的微命令。
增量方式——与工作程序用程序计数器产生指令地址相似。
在微程序控制器中,可设置一个微程序计数器μPC,在顺序执行指令时,后继微指令地址由现行微地址(即μPC的内容)加上一个增量(通常为1)来形成,遇到转移时,由微指令给出转移微地址,使微程序按新的顺序执行。
断定方式——指后继地址可由程序设计者指定,或者根据微指令所规定的测试结果直接决定后继微地址的全部或部分值。
垂直型微指令——垂直型微指令的特征是微指令较短,微指令的并行操作那里有限,一般一条微指令只能控制数据通路的一二种信息传送操作。
水平型微指令——它有如下特征:
微指令较长,微指令中的微操作具有高度的并行性,微指令编码简单。
优点是执行效率高,灵活性好,微程序条数较少。
9.试说明模型机中下列寄存器是作用:
通用寄存器,暂存器,IR,PC,MAR,MDR
答:
通用寄存器——是一组可编程访问,具有多种功能的寄存器。
本身在逻辑上只具有接收信息、存储信息和发送信息的作用,但通过编程与运算部件的配合可以实现多种功能,如可为ALU提供操作数并存放运算结果,也可用作变址寄存器、地址指针和计数器等。
暂存器——用来暂存从主存储器读出的数据以及从ALU输出端输出的运算结果。
IR——用来存放当前正在执行的一条指令。
PC——提供指令的地址,即指示程序的进程。
当现行指令执行完毕后,由PC提供后继指令的地址,并送往地址寄存器MAR。
MAR——用于存放CPU访问主存或I/O接口的地址。
MDR——用于存放CPU于主存或I/O接口之间传送的数据。
10.模型机的脉冲型微命令有哪些?
答:
模型机中的脉冲型微命令有:
CPR0,CPR1,CPR2,CPR3,CPIR,CPPC,CPSP,CPMDR,CPMAR,CPD,CPC,CPZ 。
11.何谓组合逻辑控制器?
何谓微程序控制器?
试比较它们的优缺点。
CPU通过组合逻辑电路产生微命令,相应的控制器称为组合逻辑控制器。
优点:
速度快。
缺点:
设计较凌乱,不易修改扩充,应用于快速CPU中。
CPU采用微程序控制方式来产生微命令,相应的控制器称为微程序控制器。
优点:
设计比较规整,易于修改扩充。
缺点:
速度较组合逻辑控制器慢。
12.拟出下述指令的读取与执行流程:
(1)MOV R0,R2
解:
FT0 PC→MAR
FT1 M→MDR→IR,PC+1→PC
ST0 R2→C
ET0 C→R0
(2)MOV R1,(PC)+
解:
FT0 PC→MAR
FT1 M→MDR→IR,PC+1→PC
ST0 PC→MAR
ST1 M→MDR→C
ST2 PC+1→Z
ST3 Z→PC
ET0 C→R0
(3)MOV -(SP),-(R1)
解:
FT0 PC→MAR
FT1 M→MDR→IR,PC+1→PC
ST0 R1-1→Z
ST1 Z→MAR,R1
ST2 M→MDR→C
DT0 SP-1→Z
DT2 Z→MAR,SP
ET0 C→MDR
ET1 MDR→M
(4)MOV (R0)+,X(R3)
解:
FT0 PC→MAR
FT1 M→MDR→IR,PC+1→PC
ST0 PC→MAR
ST1 M→MDR→D,PC+1→PC
ST2 D+R3→Z
ST3 Z→MAR
ST4 M→MDR→C
DT0 R0→MAR
DT1 R0+1→Z
DT2 Z→R0
ET0 C→MDR
ET1 MDR→M
(5)MOV (R0),(PC)+
解:
FT0 PC→MAR
FT1 M→MDR→IR,PC+1→PC
ST0 PC→MAR
ST1 M→MDR→C
ST2 PC+1→Z
ST3 Z→PC
DT0 R0→MAR
ET0 C→MDR
ET1 MDR→M
(6)MOV DI,(SP)+
解:
FT0 PC→MAR
FT1 M→MDR→IR,PC+1→PC
ST0 SP→MAR
ST1 M→MDR→C