计算机组成原理教材习题解答1.docx
《计算机组成原理教材习题解答1.docx》由会员分享,可在线阅读,更多相关《计算机组成原理教材习题解答1.docx(35页珍藏版)》请在冰豆网上搜索。
计算机组成原理教材习题解答1
计算机组成原理蒋本珊编著教材习题解答
第1章概论
1.电子数字计算机和电子模拟计算机的区别在哪里?
解:
电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续
的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
2.冯·诺依曼计算机的特点是什么?
其中最主要的一点是什么?
解:
冯·诺依曼计算机的特点如下:
①计算机<指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件
组成;
②计算机内部采用二进制来表示指令和数据;
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③点是最主要的一点。
3.计算机的硬件是由哪些部件组成的?
它们各有哪些功能?
解:
计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件
组成。
它们各自的功能是:
①输入设备:
把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计
算机内部所能识别和接受的信息方式。
②输出设备:
将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③存储器:
用来存放程序和数据。
④运算器:
对信息进行处理和运算。
⑤控制器:
按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自
动工作。
4.什么叫总线?
简述单总线结构的特点。
解:
总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各
部件的信息。
单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统
总线。
CPU与主存、CPU与外设之间可以直接进行信息交换,主存与外设、外设与外设
之间也可以直接进行信息交换,而无须经过CPU的干预。
5.简单描述计算机的层次结构,说明各层次的主要特点。
解:
现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分
的多级层次结构。
第0级为硬件组成的实体。
第1级是微程序级。
这级的机器语言是微指令集,程序员用微指令编写的微程序一
般是直接由硬件执行的。
第2级是传统机器级。
这级的机器语言是该机的指令集,程序员用机器指令编写的
程序可以由微程序进行解释。
第3级是操作系统级。
从操作系统的基本功能来看,一方面它要直接管理传统机器
中的软硬件资源,另一方面它又是传统机器的延伸。
第4级是汇编语言级。
这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做
汇编程序。
第5级是高级语言级。
这级的机器语言就是各种高级语言,通常用编译程序来完成
高级语言翻译的工作。
第6级是应用语言级。
这一级是为了使计算机满足某种用途而专门设计的,因此这
一级语言就是各种面向问题的应用语言。
6.计算机系统的主要技术指标有哪些?
解:
计算机系统的主要技术指标有:
机器字长、数据通路宽度、主存容量和运算速
度等。
机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。
数据通路宽度是指数据总线一次所能并行传送信息的位数。
主存容量是指主存储器所能存储的全部信息量。
运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。
第2章数据的机器层次表示
2-1设机器数的字长为8位<含1位符号位),分别写出下列各二进制数的原码、补码和反码。
0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101
0原码:
00000000补码:
00000000反码:
00000000
-0原码:
10000000补码:
00000000反码:
11111111
0.1000原码:
0.1000000补码:
0.1000000反码:
0.1000000
-0.1000原码:
1.1000000补码:
1.1000000反码:
1.0111111
0.1111原码:
0.1111000补码:
0.1111000反码:
0.1111000
-0.1111原码:
1.1111000补码:
1.0001000反码:
1.0000111
1101原码:
00001101补码:
00001101反码:
00001101
-1101原码:
10001101补码:
11110011反码:
11110010
2-2写出下列各数的原码、补码和反码
原码:
0.0111补码:
0.0111反码:
0.0111
原码:
0.0100补码:
0.0100反码:
0.0100
原码:
0.0001补码:
0.0001反码:
0.0001
原码:
00000补码:
00000反码:
00000
原码:
10000补码:
00000反码:
11111
原码:
1.0001补码:
1.1111反码:
1.1110
原码:
1.0100补码:
1.1100反码:
1.1011
原码:
1.0111补码:
1.0100反码:
1.1000
2-3已知下列数的原码表示,分别写出它们的补码表示。
[X]原=0.10100,[X]原=1.10111
[x]补=0.10100,[x]补=1.01001
2-4已知下列数的补码表示,分别写出它们的真值。
=0.10100,
2-8.一个n位字长的二进制定点整数,其中1位为符号位,分别写出在补码和反码两
种情况下:
<1)模数; <2)最大的正数;
<3)最负的数; <4)符号位的权;
<5)-1的表示形式; <6)0的表示形式。
解:
第3章
1.指令长度和机器字长有什么关系?
半字长指令、单字长指令、双字长指令分别表
示什么意思?
解:
指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于
或小于机器字长。
通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于
半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长
指令。
2.零地址指令的操作数来自哪里?
一地址指令中,另一个操作数的地址通常可采用
什么寻址方式获得?
各举一例说明。
解:
双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。
双操作数的一地址
指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器
中。
例如,前述零地址和一地址的加法指令。
3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为
无操作数、单操作数和双操作数三类。
若双操作数指令已有K种,无操作数指令已有L
种,问单操作数指令最多可能有多少种?
上述三类指令各自允许的最大指令条数是多少?
指令系统
解:
X=<24-K)×26-jL
26k
双操作数指令的最大指令数:
24-1。
单操作数指令的最大指令数:
15×26-1<假设双操作数指令仅1条,为无操作数指
令留出1个扩展窗口)。
无操作数指令的最大指令数:
216-212-26。
其中212为表示某条二地址指令占用的
编码数,26为表示某条单地址指令占用的编码数。
此时双操作数和单操作数指令各仅有
1条。
4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配
方案,使该指令系统包含:
4条三地址指令,8条二地址指令,180条单地址指令。
解:
4条三地址指令
000XXXYYYZZZ
…
011XXXYYYZZZ
8条二地址指令
100000XXXYYY
…
100111XXXYYY
180条单地址指令
101000000XXX
…
111110011XXX
5.指令格式同上题,能否构成:
三地址指令4条,单地址指令255条,零地址指令64条?
为什么?
解:
三地址指令4条
000XXXYYYZZZ
…
011XXXYYYZZZ
单地址指令255条
100000000XXX
…
111111110YYY
只能再扩展出零地址指令8条,所以不能构成这样的指令系统。
6.指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?
解:
主存容量越大,所需的地址码位数就越长。
对于相同容量来说,最小寻址单位越
小,地址码的位数就越长。
11.设某机字长32位,CPU有32个32位的通用寄存器,设计一个能容纳64种操作
的单字长指令系统。
<1)如果是存储器间接寻址方式的寄存器-存储器型指令,能直接寻址的最大主存
空间是多少?
<2)如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?
解:
因为计算机中共有64条指令,所以操作码占6位;32个通用寄存器,寄存器编号
占5位;其余部分为地址码或标志位。
<1)如果是存储器间接寻址方式的寄存器-存储器型指令,操作码6位,寄存器编号
5位,间址标志1位,地址码20位,直接寻址的最大主存空间是220字。
<2)如果采用通用寄存器作为基址寄存器,EA=空间是232字。
12.已知某小型机字长为16位,其双操作数指令的格式如下:
0 5 6 7 8 15
OPRA
其中:
OP为操作码,R为通用寄存器地址。
试说明下列各种情况下能访问的最大主存区
域有多少机器字?
<1)A为立即数。
<2)A为直接主存单元地址。
<3)A为间接地址<非多重间址)。
<4)A为变址寻址的形式地址,假定变址寄存器为R1<字长为16位)。
解:
<1)1个机器字。
<2)256个机器字。
<3)65536个机器字。
<4)65536个机器字。
14.假定某机的指令格式如下:
1110 9 87 6 50
@
OP
I1
I2
Z/C
A
其中:
Bit11=1:
间接寻址;
Bit8=1:
变址寄存器I1寻址;
Bit7=1:
变址寄存器I2寻址;
Bit6<零页/现行页寻址):
Z/C=0,表示0页面;Z/C=1,表示现行页面,即指令所在页面。
若主存容量为212个存储单元,分为26个页面,每个页面有26个字。
设有关寄存器的内容为
试计算下列指令的有效地址。
<1)1046Q
<2)2433Q
<3)3215Q
<4)1111Q
解:
<1)1046Q=001000100110
因为4个标志位均为0,故为直接寻址,EA=A=0046Q。
<2)2433Q=010100011011
因为Bit8<3)3215Q=011010001101
因为Bit7<4)1111Q=001001001001
因为Bit615.假定指令格式如下:
151211109870
OP
I1
I2
Z/C
D/I
A
其中:
D/I为直接/间接寻址标志,D/I=0表示直接寻址,D/I=1表示间接寻址。
Bit11=1:
变址寄存器I1寻址;
Bit10=1:
变址寄存器I2寻址;
Bit9<零页/现行页寻址):
Z/C=0,表示0页面;Z/C=1,表示现行页面,即指令所在页面。
若主存容量为216个存储单元,分为28个页面,每个页面有28个字。
设有关寄存器的内容为
试计算下列指令的有效地址。
<1)152301Q
<2)074013Q
<3)161123Q
<4)140011Q
解:
<1)152301Q=11001
因为Bit10<2)074013Q=01011
因为Bit11<3)161123Q=11111
因为Bit9<4)140011Q=11001
因为4个标志位均为0,故为直接寻址,EA=A=000011Q。
16.举例说明哪几种寻址方式除去取指令以外不访问存储器?
哪几种寻址方式除去
取指令外只需访问一次存储器?
完成什么样的指令,包括取指令在内共访问4次存储器?
解:
除去取指令以外不访问存储器:
立即寻址,寄存器寻址。
除去取指令外只需访问一次存储器:
直接寻址,寄存器间接寻址,变址寻址,基址寻
址,相对寻址,页面寻址。
二级间接寻址包括取指令在内共访问4次存储器。
20.什么叫主程序和子程序?
调用子程序时还可采用哪几种方法保存返回地址?
画
图说明调用子程序的过程。
解:
主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程
序的入口地址就能调用它。
保存返回地址的方法有多种:
<1)用子程序的第一个字单元存放返回地址。
转子指令把返回地址存放在子程序的
第一个字单元中,子程序从第二个字单元开始执行。
返回时将第一个字单元地址作为间
接地址,采用间址方式返回主程序。
<2)用寄存器存放返回地址。
转子指令先把返回地址放到某一个寄存器中,再由子
程序将寄存器中的内容转移到另一个安全的地方。
<3)用堆栈保存返回地址。
调用子程序的过程如图3唱8所示,此时返回地址保存在堆栈中。
图3唱8 主程序调用子程序的过程
第4章数值的机器运算
5.已知X和Y,试用它们的变形补码计算出X-Y,并指出结果是否溢出。
<1)X=0.11011,Y=-0.11111
解:
<1)[X]补=0.11011,[Y]补=1.00001,[-Y]补=0.11111
00.11011 [X]补
+ 00.11111 [-Y]补
01.11010 [X-Y]补结果正溢
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.1011
12
Y
补
=1.1101,14
Y
补
=1.1110,[-Y]补=0.0101
8.分别用原码乘法和补码乘法计算X×Y。
<1)X=0.11011,Y=-0.11111
解:
<1)原码乘法:
所以|X×Y|=0.1101000101
X×Y=-0.1101000101
补码乘法:
所以[X×Y]补=1.0010111011
X×Y=-0.1101000101
10.分别用原码和补码加减交替法计算X÷Y。
<1)X=0.10101,Y=0.11011
解:
<1)原码除法:
因为Qs=Xs磑Ys=0磑0=0
所以X
Y=0.11000+0.11000×2-5
0.11011
补码除法:
所以X
Y补
=0.11001+1.11101×2-5
0.11011
X
Y=0.11001+-0.00011×2-5
0.11011
第5章存储系统和结构
1.如何区别存储器和寄存器?
两者是一回事的说法对吗?
解:
存储器和寄存器不是一回事。
存储器在CPU的外边,专门用来存放程序和数
据,访问存储器的速度较慢。
寄存器属于CPU的一部分,访问寄存器的速度很快。
2.存储器的主要功能是什么?
为什么要把存储系统分成若干个不同层次?
主要有
哪些层次?
解:
存储器的主要功能是用来保存程序和数据。
存储系统是由几个容量、速度和价
存储系统和结构格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。
把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。
由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache-主存存储层次3.什么是半导体存储器?
它有什么特点?
解:
采用半导体器件制造的存储器,主要有MOS型存储器和双极型存储器两大类。
半导体存储器具有容量大、速度快、体积小、可靠性高等特点。
半导体随机存储器存储的
信息会因为断电而丢失。
9.说明存取周期和存取时间的区别。
解:
存取周期是指主存进行一次完整的读写操作所需的全部时间,即连续两次访问
存储器操作之间所需要的最短时间。
存取时间是指从启动一次存储器操作到完成该操作
所经历的时间。
存取周期一定大于存取时间。
10.一个1K×8的存储芯片需要多少根地址线、数据输入线和输出线?
解:
需要10根地址线,8根数据输入和输出线。
12.一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?
当选用下
列不同规格的存储芯片时,各需要多少片?
存储系统和结构
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。
解:
地址线14根,数据线32根,共46根。
若选用不同规格的存储芯片,则需要:
1K×4位芯片128片,2K×8位芯片32片,
4K×4位芯片32片,16K×1位芯片32片,4K×8位芯片16片,8K×8位芯片8片。
13.现有1024×1的存储芯片,若用它组成容量为16K×8的存储器。
试求:
<1)实现该存储器所需的芯片数量?
<2)若将这些芯片分装在若干块板上,每块板的容量为4K×8,该存储器所需的地址
线总位数是多少?
其中几位用于选板?
几位用于选片?
几位用作片内地址?
解:
<1)需1024×1的芯片128片。
<2)该存储器所需的地址线总位数是14位,其中2位用于选板,2位用于选片,10位
用作片内地址。
14.已知某机字长8位,现采用半导体存储器作主存,其地址线为16位,若使用
1K×4的SRAM芯片组成该机所允许的最大主存空间,并采用存储模板结构形式。
<1)若每块模板容量为4K×8,共需多少块存储模板?
<2)画出一个模板内各芯片的连接逻辑图。
解:
解:
(1)根据题干可知存储器容量为216=64KB,
64KB/4KB=16,故共需16块存储模板。
<2)一个模板内各芯片的连接逻辑图如所示:
17.用容量为16K×1的DRAM芯片构成64KB的存储器。
<1)画出该存储器的结构框图。
图5唱21 存储器的逻辑结构图
解:
<1)存储器的结构框图如图5唱22所示。
23.什么是高速缓冲存储器?
它与主存是什么关系?
其基本工作过程如何?
解:
高速缓冲存储器位于主存和CPU之间,用来存放当前正在执行的程序段和数据中的活跃部分,使CPU的访存操作大多数针对Cache进行,从而使程序的执行速度大大
提高。
高速缓冲存储器的存取速度接近于CPU的速度,但是容量较小,它保存的信息只是
主存中最急需处理的若干块的副本。
当CPU发出读请求时,如果Cache命中,就直接对Cache进行读操作,与主存无关;
如果Cache不命中,则仍需访问主存,并把该块信息一次从主存调入Cache内。
若此时
Cache已满,则须根据某种替换算法,用这个块替换掉Cache中原来的某块信
第6章中央处理器
1.控制器有哪几种控制方式?
各有何特点?
解:
控制器的控制方式可以分为3种:
同步控制方式、异步控制方式和联合控制
方式。
同步控制方式的各项操作都由统一的时序信号控制,在每个机器周期中产生统一数
目的节拍电位和工作脉冲。
这种控制方式设计简单,容易实现;但是对于许多简单指令来
说会有较多的空闲时间,造成较大数量的时间浪费,从而影响了指令的执行速度。
异步控制方式的各项操作不采用统一的时序信号控制,而根据指令或部件的具体情
况决定,需要多少时间,就占用多少时间。
异步控制方式没有时间上的浪费,因而提高了
机器的效率,但是控制比较复杂。
联合控制方式是同步控制和异步控制相结合的方式。
2.什么是三级时序系统?
解:
三级时序系统是指机器周期、节拍和工作脉冲。
计算机中每个指令周期划分为
若干个机器周期,每个机器周期划分为若干个节拍,每个节拍中设置一个或几个工作
脉冲。
3.控制器有哪些基本功能?
它可分为哪几类?
分类的依据是什么?
解:
控制器的基本功能有:
<1)从主存中取出一条指令,并指出下一条指令在主存中的位置。
<2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
<3)指挥并控制CPU、主存和输入输出设备之间的数据流动。
控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型3类,分类的依
据在于控制器的核心———微操作信号发生器<控制单元CU)的实现方法不同。
4.中央处理器有哪些功能?
它由哪些基本部件所组成?
解:
从程序运行的角度来看,CPU的基本功能就是对指令流和数据流在时间与空间
上实施正确的控制。
对于冯·诺依曼结构的计算机而言,数据流是根据指令流的操作而
形成的,也就是说数据流是由指令流来驱动的。
中央处理器由运算器和控制器组成。
5.中央处理器中有哪几个主要寄存器?
试说明它们的结构和功能。
解:
CPU中的寄存器是用来暂时保存运算和控制过程中的中间结果、最终结果及控
制、状态信息的,它可分为通用寄存器和专用寄存器两大类。
通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、
地址指针等。
专用寄存器是专门用来完成某一种特殊功能的寄存器,如程序计数器PC、
指令寄存器IR、存储器地址寄存器MAR、存储器数据寄存器MDR、状态标志寄存器
PSWR等。
7.以一条典型的单地址指令为例,简要说明下列部件在计算机的取指周期和执行周
期中的作用。
<1)程序计数器PC;
<2)指令寄存器IR;
<3)算术逻辑运算部件ALU;
<4)存储器数据寄存器MDR;
<5)存储器地址寄存器MAR。
解:
<1)程序计数器PC:
存放指令地址;
<2)指令寄存器IR:
存放当前指令;
<3)算术逻辑运算部件ALU:
进行算逻运算;
<4)存储器数据寄存器MDR:
存放写入或读出的数据/指令;
<5)存储