计算机组成原理答案_第1页
计算机组成原理答案_第2页
计算机组成原理答案_第3页
计算机组成原理答案_第4页
计算机组成原理答案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理答案

1.4教材习题解答

1.电子数字计算机和电子模拟计算机的区别在哪里?

解:电子数字计算机中处理的信息是在时间上离散的数字量,运算的

过程是不连续

的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程

是连续的。

2.冯?诺依曼计算机的特点是什么?其中最主要的一点是什么?

解:冯?诺依曼计算机的特点如下:

①计算机(指硬件)应由运算器、存储器、控制器、输入设备和输

出设备五大基本部件

组成;

②计算机内部采用二进制来表示指令和数据;

③将编好的程序和原始数据事先存入存储器中,然后再启动计算机

工作。

第③点是最主要的一点。

3.计算机的硬件是由哪些部件组成的?它们各有哪些功能?

解:计算机的硬件应由运算器、存储器、控制器、输入设备和输出设

备五大基本部件

组成。它们各自的功能是:

①输入设备:把人们编好的程序和原始数据送到计算机中去,并且

将它们转换成计

算机内部所能识别和接受的信息方式。

②输出设备:将计算机的处理结果以人或其他设备所能接受的形式

送出计算机。

③存储器:用来存放程序和数据。

④运算器:对信息进行处理和运算。

⑤控制器:按照人们预先确定的操作步骤,控制整个计算机的各部

件有条不紊地自

动工作。

4.什么叫总线?简述单总线结构的特点。

解:总线是一组能为多个部件服务的公共信息传送线路,它能分时地

发送与接收各

部件的信息。单总线结构即各大部件都连接在单一的一组总线上,这

个总线被称为系统

总线。CPU与主存、CPU与外设之间可以直接进行信息交换,主存与

外设、外设与外设

之间也可以直接进行信息交换,而无须经过CPU的干预。

概论

第1

95.简单描述计算机的层次结构,说明各层次的主要特点。

解:现代计算机系统是一个硬件与软件组成的综合体,可以把它看成

是按功能划分

的多级层次结构。

第0级为硬件组成的实体。

第1级是微程序级。这级的机器语言是微指令集,程序员用微指令

编写的微程序一

般是直接由硬件执行的。

第2级是传统机器级。这级的机器语言是该机的指令集,程序员用

机器指令编写的

程序可以由微程序进行解释。

第3级是操作系统级。从操作系统的基本功能来看,一方面它要直

接管理传统机器

中的软硬件资源,另一方面它又是传统机器的延伸。

第4级是汇编语言级。这级的机器语言是汇编语言,完成汇编语言

翻译的程序叫做

汇编程序。

第5级是高级语言级。这级的机器语言就是各种高级语言,通常用

编译程序来完成

高级语言翻译的工作。

第6级是应用语言级。这一级是为了使计算机满足某种用途而专门

设计的,因此这

一级语言就是各种面向问题的应用语言。

6.计算机系统的主要技术指标有哪些?

解:计算机系统的主要技术指标有:机器字长、数据通路宽度、主存

容量和运算速

度等。

机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位

数决定的。

数据通路宽度是指数据总线一次所能并行传送信息的位数。

主存容量是指主存储器所能存储的全部信息量。

运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多

因素有关。—

2.4教材习题解答

1.设机器数的字长8位(含1位符号位),分别写出下列各二

进制数的原码、补码和

反码:0,—0,0.1000,—0.1000,0.1

111,-0.1111,1101,-1101o

解:

真值原码补码反码

0

-0

0.1000

-0.1000

0.1111

-0.1111

1101

-1101

00000000

10000000

0.10000001.1000000

0.1111000

1.1111000

00001101

10001101

00000000

00000000

0.10000001.1000000

0.1111000

1.0001000

00001101

11110011

00000000

11111111

0.10000001.0111111

0.1111000

1.0000111

00001101

11110010

2.写出下列各数的原码、补码和反码:7

16,4

16,1

16,±0,—1

16,—4

16,-7

16o

解:7

16=7X2-4=0.0111

4

16=4X2-4=0.0100

1

16=1X2-4=0.0001

数据的机器层次表示

第2

,zCzi

33真值原码补码反码

7160.01110.01110.0111416

0.01000.01000.01001160.00

010.00010.000100.00000.00

000.0000-01.00000.00(01.1

111-1161.00011.11111.1110-

41610100111001.1011-716

1.01111.10011.10003.已知下列

数的原码表示,分别写出它们的补码表示:[XI]0.10

100,[X2]原=

1.101110

解:[XI]补=0.10100,[X2]补=1.0100

1O

4.已知下列数的补码表示,分别写出它们的真值:[X1]补=

0.10100,[X2]补=

1.10111O

解:XI=0.10100,X2=-0.01001o

5.设一个二进制小数XN0,表示成X=0.a1a2a3a

4a5a6,其中al〜a6取“1”或“0”:

(1)若要X>12

,al〜a6要满足什么条件?

(2)若要X218

,al〜a6要满足什么条件?

(3)若要

14

NX>1

16,al〜a6要满足什么条件?

解:(1)X>12

的代码为:0.100001—0.111111。

a1=1,a2+a3+a4+a5+a6=1。

(2)X218

的代码为:

0.00100018

0.11111163

64

a1+a2=0,a3=1或al=0,a2=1或

a1=1o

计算机组成原理教师用书

34(3)14

2X>1

16的代码为:

0.0001015

64

0.01000014

al+a2+a3=0,a4=1,a5+a6=1或

a1+a2=0,a3=1或a2=1,a1+a3+a

4+a5+

a6=0o

6.设[X]原=1.a1a2a3a4a5a6,

(1)若要X>-12

,al〜a6要满足什么条件?

(2)若要一18

NXN—14

,al〜a6要满足什么条件?

解:(1)X>-12

的代码为:

1.000001-1

64

1.011111-31

64

al=0,a2+a3+a4+a5+a6=1o

(2)-18

2X2—14

的代码为:

1.001000-18

1.001001-9

64

1.001111-15

64

1.010000-14

a1+a2=0,a3=1或a21,a1+a3+

a4+a5+a6=0。

7.若上题中[X]原改为[X]补,结果如何?

解:设[X]补=1.a1a2a3a4a5a6,

(1)X>-12

的代码为:

数据的机器层次表示

第2

351.100001-31

64

1.111111-1

64

a11,a2+a3+a4+a5+a61

(2)-18

2X2—14

的代码为:

1.110000-14

1.110001-15

64

1.110111-9

64

1.111000-18

a1?a2=1,a3=0或al?a2?a3=1,a

4+a5+a6=0。

8.一个n位字长的二进制定点整数,其中1位为符号位,分别

写出在补码和反码两

种情况下:

(1)模数;(2)最大的正数;

(3)最负的数;(4)符号位的权;

(5)-1的表示形式;(6)0的表示形式。

解:

项目补码反码

模数Mod2nMod(2n-1)

最大的正数2n—1—12n—1—1最负的数一2n—

1—(2n—1—1)

符号位的权2n—12n—1

-1的表示形式11111111111111100的表示

形式0000000000000000

111111119.某机字长16位,问在下列几种情况

下所能表示数值的范围:

计算机组成原理教师用书

36(1)无符号整数;

(2)用原码表示定点小数;

(3)用补码表示定点小数;

(4)用原码表示定点整数;

(5)用补码表示定点整数。

解:(1)OWXW(216-1)

(2)-(1-2-15)WXW(1-2-15)

(3)—1WXW(1-2-15)

(4)-(215-1)WXW(215-1)

(5)—215WXW(215-1)

10.某机字长32位,试分别写出无符号整数和带符号整数(补

码)的表示范围(用十

进制数表示)。

解:无符号整数:OWXW(232-1)o

补码:一231WXW(231-1)o

11.某浮点数字长12位,其中阶符1位,阶码数值3位,数

符1位,尾数数值7位,阶

码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是

多少?最小规格化正

数是多少?绝对值最大的负数是多少?

解:最大正数=(1—2—7)X223—1=11—

2-7)X27=127o

最小规格化正数=2-1X2—23=2—1X2

-8=2-9=1

512o

绝对值最大的负数=-1X223-1=-1X27

=—128o

12.某浮点数字长16位,其中阶码部分6位(含1位阶符),

移码表示,以2为底;尾

数部分10位(含1位数符,位于尾数最高位),补码表示,规

格化。分别写出下列各题的二

进制代码与十进制真值。

(1)非零最小正数;

(2)最大正数;

(3)绝对值最小负数;

(4)绝对值最大负数。

解:(1)非零最小正数:000000,0,10000000

0;2-lX2-25=2-33o

(2)最大正数:111111,0,111111111;(1

-2-9)X225-1=(1-2-9)X2

31o

(3)绝对值最小负数:000000,1,01111111

1;-(2-1+2-9)X2-25o

(4)绝对值最大负数:111111,1,00000000

0;-lX225-l=-231o

13.一浮点数,其阶码部分为p位,尾数部分为q位,各包含1

位符号位,均用补码表

示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及

非零的最小正数是多少?写

数据的机器层次表示

第2

37出表达式。

解:上限(最大正数)=(1-2-(q-1))X2

2(p—1)—1o

下限(绝对值最大负数)=-1X22(p-1)-1o

最小正数=2—(q—1)X2—2(p—1)o

最小规格化正数=2-1X2-2(p-1)o

14.若上题尾数基数r=16,按上述要求写出表达式。

解:上限(最大正数)=(1-2-(q-1))X1

62(p—1)—1o

下限(绝对值最大负数)=-lX162(p-l)-lo

最小正数=2—(q—1)X16—2(p—1)o

最小规格化正数=16—1X16—2(p—1)o

15.某浮点数字长32位,格式如下。其中阶码部分8位,以

2为底,移码表示;尾数

部分一共24位(含1位数符),补码表示。现有一浮点代码为

(8C5A3E00)16,试写出它所

表示的十进制真值。

0789

3

阶码数符尾数

解:(8C5A3E00)16=1000110001011

010001111100000000OB,

0.10110100011111X212=(10110

1000111.11)2=(2887.75)10o

16.试将(一0.1101)2用IEEE短浮点数格式表示

出来。

解:0.1101=1.101X2—1。

符号位=1。

阶码=127-1=126o

1,01111110,101000000000000000

000000

结果=BF500000Ho

17.将下列十进制数转换为IEEE短浮点数:

(1)28.75;

(2)624;

(3)-0.625;

(4)+0.0;

(5)-1000.5o

解:(1)28.75=11100.11=1.1100

11X24o

符号位=0o

阶码=127+4=131o

0,10000011,110011000000000000

00000o

计算机组成原理教师用书

38结果=41E60000Ho

(2)624=1001110000=1.0011100

00X29o

符号位=0。

阶码=127+9=136。

0,10001000,001110000000000000

00000o

结果=441C0000Ho

(3)-0.625=-0.101=-1.01X2

—1O

符号位=1O

阶码=127-1=126o

1,01111110,010000000000000000

00000O

结果=BF200000Ho

(4)+0.0o

结果=0000000OHo

(5)-1000.5=1111101000.1=1.1

111010001X29o

符号位=1。

阶码=127+9=136o

1,10001000,111101000100000000

000000

结果=C47A200OHo

18.将下列IEEE短浮点数转换为十进制数:

(1)1100000011110000000000000

0000000;

(2)0011111100010000000000000

0000000;

(3)0100001110011001000000000

0000000

(4)0100000000000000000000000

0000000

(5)0100000100100000000000000

0000000

(6)0000000000000000000000000

0000000o

解:(1)1,10000001,1110000000000

0000000000

符号位=1o

阶码=1291272o

1111X221111B7.5o

所以结果=7.5o

(2)0,01111110,00100000000000

000000000

符号位=0。

阶码=1261271

1.001X210.1001B=05625o

数据的机器层次表示

第2

39所以,结果=0.5625o

(3)0,10000111,00110010000000

000000000

符号位=0O

阶码=13512780

1.0011001X28100110010B30

6o

所以,结果=306o

(4)0,10000000,00000000000000

000000000

符号位=0o

阶码=128-127=1o

1.0X21=1OB=2o

所以,结果=2o

(5)0,10000010,01000000000000

000000000

符号位=0o

阶码=130-127=3o

1.01X23=1010B=10o

所以,结果=10o

(6)0,00000000,00000000000000

000000000

阶码和尾数都等于全0,结果=0o

19.对下列ASCH码进行译码:

1001001,0100001,1100001,1110

111

1000101,1010000,1010111,0100

100

解:以上ASCII码分别为I,!,a,w,E,P,W,$。

20.以下列形式表示(5382)10o

(1)8421码;(2)余3码;

(3)2421码;(4)二进制数。

解:(1)0101001110000010o

(2)1000011010110101

(3)1011001111100010o

(4)1010100000110O

21.填写下列代码的奇偶校验位,现设为奇校验:

10100001

00011001

01001110

解:3个代码的校验位分别是0,0,1°

计算机组成原理教师用书

4022.已知下面数据块约定:横向校验、纵向校验均为奇校验,

请指出至少有多少位

出错。

a7a6a5a4a3a2a1a0校验位

10011011-0

00110101—1

11010000-0

11100000-0

01001111f0

校验位10101111

解:经检测a7和a0列出错,所以至少有两位出错。

23.求有效信息位为01101110的海明校验码。

解:P5D8D7D6D5P4D4D3D2P3

D1P2P1

P1=D1㊉D2㊉D4㊉D5©D70㊉1㊉1㊉

0㊉1=1

P2=D1㊉ID3㊉D4㊉D6㊉D70㊉1㊉1㊉

1㊉1:0

P3=D2㊉।D3D4㊉D81㊉1©1©0

1

P4=D5㊉D6©D7D80㊉1©1㊉0

0

P5=D1㊉D2㊉D3㊉D5㊉D6㊉D8=0㊉1㊉

1㊉0㊉1㊉01

所以,海明校验码=1011001111001o

24.设计算机准备传送的信息是:1010110010001

111,生成多项式是X5+X2+1,计

算校验位,写出CRC码。

解:生成多项式X5+X2+1=100101o

首先将准备传送的信息左移5位:10101100100011

1100000o

然后1010110010001111000004-1001

01,余数=10011O

所以,CRC码=101011001000111110011o_、

3.4教材习题解答

1.指令长度和机器字长有什么关系?半字长指令、单字长指令、

双字长指令分别表

示什么意思?

解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字

长,也可以大于

或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长

指令;指令长度等于

半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的

指令称为双字长

指令。

2.零地址指令的操作数来自哪里?一地址指令中,另一个操作数

的地址通常可采用

什么寻址方式获得?各举一例说明。

解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操

作数的一地址

指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数

预先存放在累加器

中。例如,前述零地址和一地址的加法指令。

3.某机为定长指令字结构,指令长度16位;每个操作数的地址

码长6位,指令分为

无操作数、单操作数和双操作数三类。若双操作数指令已有K种,

无操作数指令已有L

种,问单操作数指令最多可能有多少种?上述三类指令各自允许的

最大指令条数是多少?

指令系统

第3

.zCzL

65解:X=(24-K)X26-jL

26k

双操作数指令的最大指令数:24—1o

单操作数指令的最大指令数:15X26-1(假设双操作数

指令仅1条,为无操作数指

令留出1个扩展窗口)。

无操作数指令的最大指令数:216-212-26o其中2

12为表示某条二地址指令占用的

编码数,26为表示某条单地址指令占用的编码数。此时双操作数

和单操作数指令各仅有

1条。

4.设某机为定长指令字结构,指令长度12位,每个地址码占3

位,试提出一种分配

方案,使该指令系统包含:4条三地址指令,8条二地址指令,1

80条单地址指令。

解:4条三地址指令

000XXXYYYZZZ

011XXXYYYZZZ

8条二地址指令

100000XXXYYY

100111XXXYYY

180条单地址指令

101000000XXX

111110011XXX

5.指令格式同上题,能否构成:

三地址指令4条,单地址指令255条,零地址指令64条?为

什么?

解:三地址指令4条

000XXXYYYZZZ

011XXXYYYZZZ

单地址指令255条

100000000XXX

111111110YYY

只能再扩展出零地址指令8条,所以不能构成这样的指令系统。

6.指令中地址码的位数与直接访问的主存容量和最小寻址单位有

什么关系?

计算机组成原理教师用书

66解:主存容量越大,所需的地址码位数就越长。对于相同容量

来说,最小寻址单位越

小,地址码的位数就越长。

7.试比较间接寻址和寄存器间址。

解:间接寻址方式的有效地址在主存中,操作数也在主存中;寄存器

间址方式的有效

地址在寄存器中,操作数在主存中。所以间接寻址比较慢。

8.试比较基址寻址和变址寻址。

解:基址寻址和变址寻址在形成有效地址时所用的算法是相同的,但

是它们两者实

际上是有区别的。一般来说,变址寻址中变址寄存器提供修改量(可

变的),而指令中提供

基准值(固定的);基址寻址中基址寄存器提供基准值(固定的),

而指令中提供位移量(可

变的)。这两种寻址方式应用的场合也不同,变址寻址是面向用户

的,用于访问字符串、向

量和数组等成批数据;而基址寻址面向系统,主要用于逻辑地址和物

理地址的变换,用以

解决程序在主存中的再定位和扩大寻址空间等问题。在某些大型机

中,基址寄存器只能

由特权指令来管理,用户指令无权操作和修改。

9.某机字长为16位,主存容量为64K字,米用单字长单地址

指令,共有50条指令。

若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设

计其指令格式。

解:操作码6位,寻址方式2位,地址码8位。

10.某机字长为16位,主存容量为64K字,指令格式为单字

长单地址,共有64条指

令。试说明:

(1)若只采用直接寻址方式,指令能访问多少主存单元?

(2)为扩充指令的寻址范围,可采用直接/间接寻址方式,若只

增加一位直接/间接标

志,指令可寻址范围为多少?指令直接寻址的范围为多少?

(3)采用页面寻址方式,若只增加一位Z/C(零页/现行页)标

志,指令寻址范围为多

少?指令直接寻址范围为多少?

(4)采用(2)、(3)两种方式结合,指令的寻址范围为多少?

指令直接寻址范围为

多少?

解:因为计算机中共有64条指令,所以操作码占6位,其余部分

为地址码或标志位。

(1)若只采用直接寻址方式,地址码部分为10位,指令能访问

的主存单元数为210=

1K字。

(2)若采用直接/间接寻址方式,将增加了一位直接/间接标志,

地址码部分为9位,

指令直接寻址的范围为29=0.5K字,指令可寻址范围为整

个主存空间216=64K字。

(3)若采用页面寻址方式,将增加一位Z/C(零页/现行页)标

志,所以指令直接寻址

范围仍为29=0.5K字,指令寻址范围仍为216=64K

字。

(4)此时将需要@和Z/C两个标志位,所以指令直接寻址范围

为28=0.25K字,指

令的可寻址范围仍为216=64K字。

指令系统

第3

6711.设某机字长32位,CPU有32个32位的通用寄

存器,设计一个能容纳64种操作

的单字长指令系统。

(1)如果是存储器间接寻址方式的寄存器一存储器型指令,能直

接寻址的最大主存

空间是多少?

(2)如果采用通用寄存器作为基址寄存器,能直接寻址的最大主

存空间又是多少?

解:因为计算机中共有64条指令,所以操作码占6位;32个

通用寄存器,寄存器编号

占5位;其余部分为地址码或标志位。

(1)如果是存储器间接寻址方式的寄存器一存储器型指令,操作

码6位,寄存器编号

5位,间址标志1位,地址码20位,直接寻址的最大主存空间

是220字。

(2)如果采用通用寄存器作为基址寄存器,EA(Rb)+A,

能直接寻址的最大主存

空间是232字。

12.已知某小型机字长为16位,其双操作数指令的格式如下:

05678

15

OPRA

其中:OP为操作码,R为通用寄存器地址。试说明下列各种情况下

能访问的最大主存区

域有多少机器字?

(1)A为立即数。

(2)A为直接主存单元地址。

(3)A为间接地址(非多重间址)。

(4)A为变址寻址的形式地址,假定变址寄存器为R1(字长为

16位)

解:(1)1个机器字。

(2)256个机器字。

(3)65536个机器字。

(4)65536个机器字。

13.计算下列4条指令的有效地址(指令长度为16位)。

(1)000000Q

(2)100000Q

(3)170710Q

(4)012305Q

假定:上述4条指令均用八进制书写,指令的最左边是一位间址指

示位@(@=0,直

接寻址;@=1,间接寻址),且具有多重间访功能;指令的最

右边两位为形式地址;主存容

量215单元,表3唱4为有关主存单元的内容(八进制)。

计算机组成原理教师用书

68表3唱4习题13的表格

地址内容

000001000020000104671000002

054304000031000000000410254

300005100001000060632150000

707771000010100005解:(1)000

000Q

因为指令的最高位为0,故为直接寻址,EA=

A=00000Qo

(2)100000Q

因为指令的最高位为1,故指令为间接寻址。

(00000)=100002,最高位仍为1,继续间接寻址。

(00002)=054304,其最高位为0,表示已找到有

地址,EA=54304Qo

(3)170710Q

因为指令的最高位为1,故指令为间接寻址。

(00010)=100005,最高位仍为1,继续间接寻址。

(00005)=100001,最高位仍为1,继续间接

寻址。

(00001)=046710,其最高位为0,表示已找到有

效地址,EA=46710Qo

(4)012305Q

因为指令的最高位为0,故为直接寻址,EA=A=00005Qo

14.假定某机的指令格式如下:

11109876

50

@OPI1I2Z/CA

其中:

Bit11=1:间接寻址;

Bit8=1:变址寄存器II寻址;

Bit7=1:变址寄存器12寻址;

Bit6(零页/现行页寻址):Z/C=0,表示0页面;

Z/C=1,表示现行页面,即指令所在页面。

若主存容量为212个存储单元,分为26个页面,每个页面有2

6个字。

设有关寄存器的内容为

(PC)=0340Q(II)=1111Q(12)=

0256Q

试计算下列指令的有效地址。

(1)1046Q

(2)2433Q

(3)3215Q

指令系统

第3

69(4)1111Q

解:(1)1046Q=001000100110

因为4个标志位均为0,故为直接寻址,EA=A=0046Qo

(2)2433Q=010100011011

因为Bit8(I1)=1,故为变址寄存器1寻址,EA=(I

1)+A=1111+33=1144QO

(3)3215Q=011010001101

因为Bit7(I2)1,故为变址寄存器2寻址,EA=(I

2)+A=0256+15=0273Qo

(4)1111Q=001001001001

因为Bit6(Z/C)=1,故为当前页寻址,EA=(PC)H〃A

=03//11=0311Qo

15.假定指令格式如下:

151211109

870

OPI1I2Z/CD/IA

其中:D/I为宜接/间接寻址标志,D/I=0表小直.接寻址,

D/I=1表示间接寻址。其

余标志位同题14说明。

若主存容量为216个存储单元,分为28个页面,每个页面有2

8个字。

设有关寄存器的内容为

(I1)=002543Q(12)=063215Q

(PC)=004350Q

试计算下列指令的有效地址。

(1)152301Q

(2)074013Q

(3)161123Q

(4)140011Q

解:(1)152301Q=11010100110000

01

因为Bitl0(I2)=1,故为变址寄存器2寻址,EA=(I

2)+A=063215+

301=063516Qo

(2)074013Q=011110000000101

1

因为Bitl1(I1)=1,故为变址寄存器1寻址,EA=(I

1)+A=002543+

013=002556Qo

(3)161123Q=111000100101001

1

因为Bit9(Z/C)=1,故为当前页寻址,EA=(PC)//A

=004123Qo

(4)140011Q=110000000000100

1

因为4个标志位均为0,故为直接寻址,EA—A—00001

1Q。

16.举例说明哪几种寻址方式除去取指令以外不访问存储器?哪

儿种寻址方式除去

计算机组成原理教师用书

7。取指令外只需访问一次存储器?完成什么样的指令,包括取指

令在内共访问4次存储器?

解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。

除去取指令外只需访问一次存储器:直接寻址,寄存器间接寻址,变

址寻址,基址寻

址,相对寻址,页面寻址。

二级间接寻址包括取指令在内共访问4次存储器。

17.设相对寻址的转移指令占两个字节,第一个字节是操作码,

第二个字节是相对位

移量,用补码表示。假设当前转移指令第一字节所在的地址为200

0H,且CPU每取一个

字节便自动完成(PC)+1-PC的操作。试问当执行川P倡+

8和JMP倡一9指令(倡为

相对寻址特征)时,转移指令第二字节的内容各为多少?转移的目

的地址各是什么?

解:转移指令第二字节的内容分别为:00001000(+8),

11110111(-9)

转移的目的地址分别为:200AH,1FF9Ho

18.什么叫主程序和子程序?调用子程序时还可采用哪儿种方法

保存返回地址?画

图说明调用子程序的过程。

解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,

只要知道子程

序的入口地址就能调用它。

保存返回地址的方法有多种:

(1)用子程序的第一个字单元存放返回地址。转子指令把返回地

址存放在子程序的

第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个

字单元地址作为间

接地址,采用间址方式返回主程序。

(2)用寄存器存放返回地址。转子指令先把返回地址放到某一个

寄存器中,再由子

程序将寄存器中的内容转移到另一个安全的地方。

(3)用堆栈保存返回地址。

调用子程序的过程如图3唱8所示,此时返回地址保存在堆栈中。

图3唱8主程序调用子程序的过程

19.在某些计算机中,调用子程序的方法是这样实现的:转子指

令将返回地址存入子

程序的第一个字单元,然后从第二个字单元开始执行子程序,请回答

下列问题:

(1)为这种方法设计一条从子程序转到主程序的返指令。

指令系统

第3

71(2)在这种情况下,怎么在主、子程序间进行参数的传递?

(3)上述方法是否可用于子程序的嵌套?

(4)上述方法是否可用于子程序的递归(即某个子程序自己调用

自己)?

(5)如果改用堆栈方法,是否可实现(4)所提出的问题?

解:(1)返回指令通常为零地址指令。返回地址保存在堆栈中,执

行返回指令时自

动从堆栈中弹出。而目前返回地址是保存在子程序的第一个单元中,

故此时返回指令不

能再是零地址指令了,而应当是一地址指令。如:

JMP@子程序首地址

间接寻址可找到返回地址,然后无条件转移到返回的位置。

(2)在这种情况下,可利用寄存器或主存单元进行主、子程序间

的参数传递。

(3)可以用于子程序的嵌套(多重转子)。因为每个返回地址都

放在调用的子程序的

第一个单元中。

(4)不可以用于子程序的递归,因为当某个子程序自己调用自己

时、子程序第一个单

元的内容将被破坏。

(5)如果改用堆栈方法,可以实现子程序的递归,因堆栈具有后

进先出的功能—

4.4教材习题解答

1.证明在全加器里,进位传递函数P=Ai+Bi=Ai㊉Bi。

解:并行加法器中的每一个全加器都有一个从低位送来的进位和一个

传送给较高位

的进位。进位表达式为

Ci=AiBi+(Ai㊉Bi)Ci—1

欲证明Pi=Ai+Bi=Ai㊉Bi,也就是要证明Ci=AiBi+

(Ai㊉Bi)Ci—1=AiBi+(Ai

+Bi)Ci-1

用卡诺图法,图4唱10(a)和4唱10(b)分别是两个逻辑表达

式的卡诺图。两个卡诺图相

同,两个逻辑表达式就相等,则进位传递函数的两种形式相等。

2.某加法器采用组内并行、组间并行的进位链,4位一组,写出

进位信号C6的逻辑表

达式。

解:最低一组的进位输出C4=6倡

1+P倡

1C0

其中:G倡

1=G4+P4G3+P4P3G2+P4P3P2G1

P倡

1=P4P3P2P1

C5=G5+P5C4

所以C6=G6+P6c5=G6+P6G5+P6P5C4

3.设计一个9位先行进位加法器,每3位为一组,采用两级先

行进位线路。

解:

C1=G1+PCO

C2=G2+P2G1+P2P1CO

C3=G3+P3G2+P3P2G1+P3P2P1C0

设:G倡

1=G3+P3G2+P3P2Gl,P倡

1=P3P2P1

则有:

C3=6倡

1+P倡

1C0

C6=6倡

2+P倡

2G倡

1+P倡

2P倡

1C0

C9=6倡

3+P倡

3G倡

2+P倡

3P倡

2G倡

1+P倡

3P倡

2P倡

1CO

9位先行进位加法器如图4唱11所示。

4.已知X和Y,试用它们的变形补码计算出X+Y,并指出结

果是否溢出。

(1)X=0.11011,Y=0.11111

(2)X=0.11011,Y=-0.10101

(3)X=-0.10110,Y=—0.00001

数值的机器运算

第4

,zCzi

97(4)X=-0.11011,Y=0.11110

图4唱10全加器的卡诺图图4唱119位先行进位加法器

解:(1)[X]补=011011,[Y]补=0.111

11

00.110111X]补

+00.111111Y]补

01.11010[X+Y]补结果正溢

(2)[X]补=0.11011,[Y]补=1.01011

00.110111X]补

+11.010111Y]补

00.00110[X+Y]补

X+Y=0.00110

(3)[X]补=1.01010,[Y]补=1.11111

11.010101X]补

+11.111111Y]补

11.01001[X+Y]补

X+Y=-0.10111

(4)[X]补=1.00101,[Y]补=0.11110

11.001011X]补

+00.11110[Y]补

00.00011[X+Y]补

X+Y=0.00011

5.已知X和Y,试用它们的变形补码计算出X-Y,并指出结

果是否溢出。

(1)X=0.110110.11111

(2)X=0.101110.11011

(3)X=0.11011,Y=-010011

(4)X=-0.10111),Y=—0.00001

计算机组成原理教师用书

98解:(1)[X]补=0.11011,[Y]补=1.0

0001,[一Y]补=0.11111

00.11011[X]补

+00.11111[一Y]补

01.11010[X-Y]补结果正溢

(2)[X]补=0.10111,[Y]补=0.11011,

[—Y]补=1.0010

00.10111[X]补

+11.00101[一Y]补

11.11100[X-Y]补

X—丫=一0.00100

(3)[X]补=0.11011,[Y]补=1.01101,

[—Y]补=0.1001

00.11011[X]补

+00.10011[—Y]补

]补结果正溢

(4)[X]补=1.01010,[Y]补=1.11111,

[—Y]补=0.0000

11.01010[X]补

+00.00001[—Y]补

11.01011[X-Y]补

X-Y=-0.10101

6.已知:X=0.1011,Y=—0.0101

求:12

X

,14

X

[一X]补,12

Y

,14

Y

,[—Y]补。

解:[X]补=0.1011

12

X

=0.0101,14

X

=0.0010,[一X]补=1.0101

[Y]补=1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论