计算机组成原理与汇编+习题答案.docx
- 文档编号:30434195
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:51
- 大小:45.02KB
计算机组成原理与汇编+习题答案.docx
《计算机组成原理与汇编+习题答案.docx》由会员分享,可在线阅读,更多相关《计算机组成原理与汇编+习题答案.docx(51页珍藏版)》请在冰豆网上搜索。
计算机组成原理与汇编+习题答案
《计算机组成原理与汇编语言》课后习题及作业答案
第一章习题参考答案
1、什么是存储程序工作方式?
(P.2.)
答:
(1)事先编制程序
(2)实现存储程序
(3)自动、连续地执行程序
2、采用数字化方法表示信息有哪些优点?
(P.5.)
答:
(1)抗干扰能力强,可靠性高
(2)在表示数值时,可以获得很宽的表示范围以及很高的精度。
(3)数字化的信息可以存储,信息传送也比较容易实现。
(4)可表示的信息类型与范围及其广泛,几乎没有限制。
(5)能用逻辑代数等数字逻辑技术进行信息处理,着就形成了计算机硬件设计的基础。
3、如果有7X9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。
0000000
0001000
0010100
0100010
0111110
0100010
0100010
0100010
0000000
4、数字计算机的主要特点是什么?
(P.16.)
答:
(1)能在程序控制下自动连续地工作
(2)运算速度快
(3)运算精度高
(4)具有很强的信息存储能力
(5)通用性强,应用领域极其广泛
5、衡量计算机的基本指标有哪些?
(P.17.)
答:
(1)基本字长
(2)数据通路宽度
(3)运算速度
(4)主存储器容量
(5)外存容量
(6)配置的外围设备及其性能
(7)系统软件配置
6、举出一种实际计算机,列举出各部件、设备的技术性能及常配置的软件?
略
7、软件系统一般包含哪些部分?
列举你熟悉的三种系统软件。
(P.9.)
答:
系统软件是一组使计算机良好运行而编制的基础软件。
它包括:
(1)操作系统如:
Windows2000,Linux,Unix
(2)编译程序、解释程序如:
C++编译程序,Peal解释程序
(3)各种软件平台如:
数据库管理系统
8、对源程序的处理有哪两种基本方式?
(P.11.)
答:
对源程序的处理有解释和编译两种类型。
解释方式是边解释边执行。
如:
BASIC它的优点是支持人机对话方式的程序设计,可以边执行边修改;所需要的主存空间较小。
但这种方式执行速度较慢,不能解释那些前后关联较多,较难理解的程序设计语言。
编译方式是将源程序全部翻译成机器语言的指令序列,称为目标程序(目标代码)。
执行时,计算机将直接执行目标程序,不再需要源程序与翻译程序。
在执行程序时,所需主存小,执行速度也较快。
第二章习题参考答案
1、将二进制数(101010.01)2转换为十进制数及BCD码
(P.25.)
答:
(101010.01)2=1x25+1x23+1x21+1x2-2=(42.25)10
=(01000010.00100101)BCD
2、将八进制数(37.2)8转换为十进制数及BCD码
(P.25.)
答:
(37.2)8=3x81+7x80+2x8-1=(31.25)10
=(00110001.00100101)BCD
3、将十六进制数(AC.E)16转换为十进制数及BCD码
(P.25.)
答:
(AC.E)16=10x161+12x160+14x16-1=(172.875)10
=(000101110010.100001110101)BCD
4、将十进制数(75.34)10转换为二进制数及八进制数、十六进制数
(P.25.)
答:
(73.34)10=(1001001.010101011)2
=(111.253)8
=(49.55)16
5、将十进制数(13/128)10转换为二进制数
(P.25.)
答:
(13/128)10=(1101/10000000)2=(1101/27)2
=(0.0001101)2
6、分别写出下列各二进制数的原码、补码、字长(含一位数符)为8位
(P30.)
答:
(1)0原码=00000000补码=00000000
(2)-0原码=10000000补码=无
(3)0.1010原码=01010000补码=01010000
(4)-0.1010原码=11010000补码=10110000
(5)1010原码=00001010补码=00001010
(6)-1010原码=10001010补码=11110110
7、若X补=0.1010,则X原、真值等于什么?
(P.33.)
答:
X补=0.1010,X原=0.1010,真值=+0.1010
8、若X补=1.1010,则X原、真值等于什么?
(P.33.)
答:
X补=1.1010,X原=1.0110,真值=-0.0110
9、某定点小数字长16位,含1位符号,原码表示,分别写出下列典型值的二进制代码与十进制真值。
(P.35.)
答:
真值代码
非零最小正数+2-150000000000000001
最大正数1-2-150111111111111111
绝对值最小负数-2-151000000000000001
绝对值最大负数-(1-2-15)111111*********1
10、某定点小数字长16位,含1位符号,补码表示,分别写出下列典型值的二进制代码与十进制真值。
真值跟上面的不变的,表示方法变下
(P.35.)
答:
真值代码
非零最小正数+2-150000000000000001
最大正数1-2-150111111111111111
绝对值最小负数-2-15111111*********1
绝对值最大负数-11000000000000000
11、某浮点数字长16位,其中阶码6位,含1位阶符,补码表示,以2为底;尾数10位(含1位数符),补码表示,规格化。
分别写出下列各典型值的二进制代码与十进制真值。
(P.37.m=5,n=9)真值=2E*M
答:
代码真值
非零最小正数100000,0.100000000略
最大正数011111,0.111111111略
绝对值最小负数100000,1.100000000略
绝对值最大负数011111,1.000000000略
12、若采用图2-2IEEE754短浮点数格式,请将十进制数37.25写成浮点数,列出其二进制代码序列。
(P.37.)
答:
(37.25)10=(100101.01)2=(0.10010101x2110)2110就是6
0,00000110,10010101000000000000000
13、简化地址结构的基本途径是什么?
(P.42.)
答:
采用隐地址(隐含约定)可以简化指令地址结构,即减少指令中的显地址数。
14、减少指令中一个地址码位数的方法是什么?
(P.46.)
答:
采用寄存器寻址方式、寄存器间址方式可以使指令中为给出一个地址所需的位数减少。
15、某主存部分单元的地址码与存储内容对应关系如下:
地址码存储内容
1000HA307H
1001H0B3FH
1002H1200H
1003HF03CH
1004HD024H
(1)若采用寄存器间址方式读取操作数,指定R0的内容为1002H则操作数是多少?
(2)若采用自增型寄存器间址方式(R0)+,R0内容为1000H,则操作数是多少,指令执行完后,R0内容是什么?
(3)若采用自增减型寄存器间址方式-(R1),R1内容为1003H,则操作数是多少,指令执行完后,R1内容是什么?
(4)若采用变址寻址方式,X(R2),指令中给出形式地址d=3H,变址寄存器R2内容为1000H,则操作数是多少?
(P.47.)
答:
(1)操作数为1200H
(2)操作数为A307H,R0=1001H
(3)操作数为1200H,R1=1002H
(4)操作数为F03CH
16、对I/O设备的编址方法有哪几种?
请稍作解释。
(P.52.)
答:
I/O设备的编址方法有两类
(1)外围设备单独编址
为每台设备分配一个设备码。
或为I/O接口中的有关寄存器分配I/O端口地址,。
(2)外围设备统一编址
将I/O接口中的有关寄存器与主存单元统一编址,为它们分配统一的总线地址。
17、对I/O指令的设置方法有哪几种?
请稍作解释。
(P.52.)
答:
常见I/O指令的设置方法:
(1)设置专用的I/O指令
(2)用通用的数据传送指令实现I/O操作
(3)通过I/O处理器或处理机控制I/O操作
第三章习题参考答案
1、试说明串行进位和并行进位方式的不同之处。
(P.61.)
答:
串行进位中进位是逐级形成的,每一级的进位直接依赖于前一级的进位,延迟时间较长,但节省器件,成本低。
并行进位中,各位进位信号都有独自的进位形成逻辑,每位进位信号的产生时间都相同,与低位进位无关,可有效地减少进位延迟时间。
但这是以增加逻辑线路为代价的。
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,001001
[X]补-[Y]补=[X]补+[-Y]补=11,110011
5、设两个浮点数X=2-011x0.1101112,Y=2-010x(-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
溢出问题:
-4≤E≤3而Ex+y=-4未溢出
4不用舍入
由于是左规,结果不需要舍入。
[X]补+[Y]补=1100;11.001100
=2-100x(0.110111)2
执行[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)尾数相减
[Mx]补=00.011100[My]补=11.010111[-My]补=00.101001
[Mx]补-[My]补=[Mx]补+[-My]补=00.011100+00.101001=01.000101
3规格化及判溢出
溢出问题:
尾数数符为01,发生正溢出,结果不正确。
6、用无符号数一位乘法计算X*Y,写出规范的运算过程。
(P.74.)(绿色数字代表部分积,紫色代表部分积进位,红色是被乘数,褐色是乘数)
答:
(1) X=1001Y=1101
B(被乘数)1001
CaA(部分积)C(乘数)
000001101
000001101
+B1001
C0=01001
01001110
+00000
C0=00100
00100111
+B1001
C0=01011
01011011
+B1001
C0=01110
01110101
X*Y=01110101
(2) X=1101Y=1111
B(被乘数)1101
CaA(部分积)C(乘数)
000001111
000001111
+B1101
C0=01101
01101111
+B1101
C0=10011
10011111
+B1101
C0=10110
10110111
+B1101
C0=11000
1100 0011
X*Y=11000011
(3)X=1010Y=1001
B(被乘数)1010
CaA(部分积)C(乘数)
000001001
000001001
+B1010
C0=01010
01010100
+00000
C0=00101
00101010
+00000
C0=00010
00010101
+B1010
C0=01011
01011010
X*Y=01011010
7、用无符号数不恢复余数法求X÷Y,写出运算过程,分别给出求得的尚和余数。
(P.76.)
答:
(红色是被除数,褐色是除数)
(1) X=00101001Y=1011
B(除数)01011[-B]补=10101
A(被除数高位)C(被除数低位)
000101001初始状态
<-001010010A、C左移一位
+)-B10101减除数
A<0110100010A<0,商0,下步左移后+B
<-101000100A、C左移一位
+)+B01011加除数
A<0111110100A<0,商0,下步左移后+B
<-111101000A、C左移一位
+)+B01011加除数
A>0010011001A>0,商1,下步左移后-B
<-100110010A、C左移一位
+)-B10101减除数
A>0010000011A>0,商1
余数商
X÷Y=0011余1000
(2) X=00110110Y=1111
B(除数)01111[-B]补=10001
A(被除数高位)C(被除数低位)
000110110初始状态
<-001101100A、C左移一位
+)-B10001减除数
A<0101111100A<0,商0,下步左移后+B
<-011111000A、C左移一位
+)+B01111加除数
A<0111101000A<0,商0,下步左移后+B
<-111010000A、C左移一位
+)+B01111加除数
A>0011000001A>0,商1,下步左移后-B
<-110000010A、C左移一位
+)-B10001减除数
A>0010010011A>0,商1
余数商
X÷Y=0011余1001
(3)X=01011010Y=1001
B(除数)01001[-B]补=10111
A(被除数高位)C(被除数低位)
001011010初始状态
<-010110100A、C左移一位
+)-B10111减除数
A>0000100101A>0,商1,下步左移后-B
<-001001010A、C左移一位
+)-B10111减除数
A<0110111010A<0,商0,下步左移后+B
<-101110100A、C左移一位
+)+B01001加除数
A>0000000101A>0,商1,下步左移
<-000001010A、C左移一位,
余数商(因为余数为0,商补0)
X÷Y=1010余0000
8、简要解释下列名词术语:
答:
微命令:
(p.81.)微操作命令是最基本的控制信号,通常是指直接作用于部件或控制门电路的控制信号,简称微命令。
同步控制方式:
(p.84.)同步控制方式是指各项操作由统一的时序信号进行同步控制,,各个微操作必须在规定时间内完成,到达规定时间就自动执行后继的微操作。
指令周期:
(p.85.)指令周期是指从取指令、分析指令到执行完该指令所需的时间。
不同的指令,其指令周期的长短也可以不同。
机器周期:
(p.85.)在组合逻辑控制器中,通常将指令周期划分为几个不同的阶段,每个阶段所需的时间,称为机器周期,又称CPU工作周期或基本周期。
(如取指周期、存储器读周期、存储器写周期、等)
时钟周期:
(p.86.)将一个机器周期划分为若干相等的时间段,每个时间段内完成一步基本操作。
这个时间段用一个电平信号宽度对应,称为节拍或时钟周期。
一个机器周期由若干个节拍组成,不同的机器周期,或不同指令中的同一机器周期,包含的节拍数可能不同。
时钟脉冲:
(p.86.)在时序系统中由时钟发生器产生时钟脉冲信号,作为时序系统的基本定时信号。
指令流程:
(p.94.)指令流程是指令序列的读取与执行过程,即讨论CPU的工作机制。
微指令:
(p.105.)若干个微命令的组合,以编码形式存放在控制存储器的一个单元中,控制实现一步操作。
微程序:
(p.105.)一系列微指令的有序集合
微周期:
(p.105.)通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。
直接控制编码:
(p.105.)直接控制编码是指微指令的微命令字段中每一位都代表一个微命令。
设计微指令时,选用或不选用某个微命令,只要将该微命令的对应位设置成1或0就可以了。
因此微命令的产生不需译码。
分段直接编译法:
(p.106.)分段直接编译法是在直接编译法基础上,进一步缩短微指令字长的一种编码方法。
在这种编译法中,一个字段的含义不仅决定于本字段编码,还兼由其它字段来解释,以便使用较少的信息位表示更多的微命令。
增量方式:
(p.108.)在微程序控制器中,可设置一个微程序计数器(PC),在顺序执行微指令时,后继指令地址由现行微地址(即PC内容)加上一个增量(通常为1)来形成,遇到转移时,由微指令给出转移微地址,使微程序按新的顺序执行。
断定方式:
(p.108.)断定型微地址是指后继微地址可由程序设计者指定,或者根据微指令所规定的测试结果直接决定后继微地址的全部或部分值。
垂直型微指令:
(p.109.)微指令较短,微指令的并行操作能力有限,一般一条微指令只能控制数据通路的一二种信息传送操作。
水平型微指令:
(p.109.)微指令较长,微指令中的微操作具有高度并行性。
特点:
执行效率高,灵活性好,微程序条数少,因此广泛应用于速度较快的机器中,但其微指令字较长,复杂程度高,难以实现微程序设计自动化。
9、试说明模型机中下列寄存器的作用:
(P.78.)
答:
通用寄存器:
R0、R1、R2、R3这是一组可编程访问,具有多种功能的寄存器。
在指令系统中为这些寄存器分配了编号即寄存器地址,因此可编程指定使用某个寄存器。
通用寄存器本身在逻辑上只具有接收信息、存储信息和发送信息的功能。
但通过编程与运算部件的配合就可以实现多种功能。
暂存器:
暂存器有3个,C,D,Z。
可以用来暂存从主存储器读出的数据,这个数据是不能存放在通用寄存器中,否则会破坏其原有的内容。
指令系统中没有为暂存器分配编号,因此程序员不能编程访问它们,因而是透明的。
IR:
指令寄存器IR,用来存放当前正在执行的一条指令。
当执行一条指令时,应先将指令从主存中读出到IR中。
PC:
程序计数器又称为指令计数器或指令指针IP,它的作用是提供指令的地址。
PC具有加1计数功能,并可以编程访问。
PS:
程序状态字寄存器又称为标志寄存器,用来存放现行程序的运行状态和工作方式,其内容称为程序状态字PWS。
MAR:
地址寄存器MAR,用于存放CPU访问主存或I/O接口的地址。
MDR:
数据寄存器MDR,用于存放CPU访问主存或I/O接口之间传送的数据。
10、模型机中的脉冲型微命令有哪些?
(P.81)
答:
模型机中,各寄存器均采用同步打入脉冲将ALU总线上的数据打入其中。
脉冲型微命令有:
CP10,CPR1,CPpc,CPIR,CPSP,CPMAR,CPMDR,…
11、何谓组合逻辑控制器?
何谓微程序控制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 汇编 习题 答案