1/1
计算机组成原理复习题答案
习题集和解析
第一章计算机系统概论
1.什么是计算机系统、计算机硬件和计算机软件?硬件和软件
哪个更重要?
解:P3
计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样
重要。
5.冯•诺依曼计算机的特点是什么?
解:冯•诺依曼计算机的特点是:P8
计算机由运算器、控制器、存储器、输入设备、输出设备
五大部件组成;
指令和数据以同同等地位存放于存储器内,并可以按地址
访问;
指令和数据均用二进制表示;
指令由操作码、地址码两大部分组成,操作码用来表示操
1/1
作的性质,地址码用来表示操作数在存储器中的位置
;
指令在存储器中顺序存放,通常自动顺序取出执行;
机器以运算器为中心(原始冯•诺依曼机)。
7.解释下列概念:
主机、CPU、主存、存储单元、存储元件、存储基元、存储元、
存储字、存储字长、存储容量、机器字长、指令字长。
解:P9-10
主机:是计算机硬件的主体部分,由CPU和主存储器MM合
成为主机。
CPU:中央处理器,是计算机硬件的核心部件,由运算器和
控制器组成;(早期的运算器和控制器不在同一芯片上,现在的
CPU内除含有运算器和控制器外还集成了CACHE)。
主存:计算机中存放正在运行的程序和数据的存储器,为
计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部
件及控制电路组成。
存储单元:可存放一个机器字并具有特定存储地址的存储
单位。
存储元件:存储一位二进制信息的物理元件,是存储器中
最小的存储单位,又叫存储基元或存储元,不能单独存取。
存储字:一个存储单元所存二进制代码的逻辑单位。
存储字长:一个存储单元所存二进制代码的位数。
存储容量:存储器中可存二进制代码的总量;(通常主、辅
存容量分开描述)。
机器字长:指CPU一次能处理的二进制数据的位数,通常
与CPU的寄存器位数有关。
指令字长:一条指令的二进制代码位数。
8.解释下列英文缩写的中文含义:
CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、
CPI、FLOPS
解:全面的回答应分英文全称、中文名、功能三部分。
CPU:CentralProcessingUnit,中央处理机(器),是计
算机硬件的核心部件,主要由运算器和控制器组成。
PC:ProgramCounter,程序计数器,其功能是存放当前欲
执行指令的地址,并可自动计数形成下一条指令地址。
IR:InstructionRegister,指令寄存器,其功能是存放
当前正在执行的指令。
CU:ControlUnit,控制单元(部件),为控制器的核心部
件,其功能是产生微操作命令序列。
ALU:ArithmeticLogicUnit,算术逻辑运算单元,为运
算器的核心部件,其功能是进行算术、逻辑运算。
ACC:Accumulator,累加器,是运算器中既能存放运算前
的操作数,又能存放运算结果的寄存器。
MQ:Multiplier-QuotientRegister,乘商寄存器,乘法
运算时存放乘数、除法时存放商的寄存器。
X:此字母没有专指的缩写含义,可以用作任一部件名,在
此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操
作数;
MAR:MemoryAddressRegister,存储器地址寄存器,在
主存中用来存放欲访问的存储单元的地址。
MDR:MemoryDataRegister,存储器数据缓冲寄存器,在
主存中用来存放从某单元读出、或要写入某存储单元的数据。
I/O:Input/Outputequipment,输入/输出设备,为输入
设备和输出设备的总称,用于计算机内部和外界信息的转换与传
送。
MIPS:MillionInstructionPerSecond,每秒执行百万
条指令数,为计算机运算速度指标的一种计量单位。
9.画出主机框图,分别以存数指令“STAM”和加法指令“ADDM”
(M均为主存地址)为例,在图中按序标出完成该指令(包括取
指令阶段)的信息流程(如→①)。假设主存容量为256M*32位,
在指令字长、存储字长、机器字长相等的条件下,指出图中各寄
存器的位数。
解:主机框图如P13图1.11所示。
(1)STAM指令:PC→MAR,MAR→MM,MM→MDR,MDR→
IR,
OP(IR)→CU,Ad(IR)→MAR,ACC→MDR,
MAR→MM,WR
(2)ADDM指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,
OP(IR)→CU,Ad(IR)→MAR,RD,MM
→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR
假设主存容量256M*32位,在指令字长、存储字长、机器字
长相等的条件下,ACC、X、IR、MDR寄存器均为32位,PC和MAR
寄存器均为28位。
10.指令和数据都存于存储器中,计算机如何区分它们?
解:计算机区分指令和数据有以下2种方法:
通过不同的时间段来区分指令和数据,即在取指令阶段
(或取指微程序)取出的为指令,在执行指令阶段(或相应微程
序)取出的即为数据。
通过地址来源区分,由PC提供存储单元地址的取出的是指
令,由指令地址码部分提供存储单元地址的取出的是操作数。
第2章计算机的发展及应用
1.通常计算机的更新换代以什么为依据?
答:P22
主要以组成计算机基本电路的元器件为依据,如电子管、晶
体管、集成电路等。
2.举例说明专用计算机和通用计算机的区别。
答:按照计算机的效率、速度、价格和运行的经济性和实用性可
以将计算机划分为通用计算机和专用计算机。通用计算机适应性
强,但牺牲了效率、速度和经济性,而专用计算机是最有效、最
经济和最快的计算机,但适应性很差。例如个人电脑和计算器。
3.什么是摩尔定律?该定律是否永远生效?为什么?
答:P23,否,P36
第3章系统总线
1.什么是总线?总线传输有何特点?为了减轻总线负载,总线
上的部件应具备什么特点?
答:P41.总线是多个部件共享的传输部件。
总线传输的特点是:某一时刻只能有一路信息在总线上传
输,即分时使用。
为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路
与总线连通。
4.为什么要设置总线判优控制?常见的集中式总线控制有几
种?各有何特点?哪种方式响应时间最快?哪种方式对电路故
障最敏感?
答:总线判优控制解决多个部件同时申请总线时的使用权分配问
题;
常见的集中式总线控制有三种:链式查询、计数器定时查询、
独立请求;
特点:链式查询方式连线简单,易于扩充,对电路故障最敏
感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连
线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量
大,连线多,成本较高。
5.解释下列概念:总线宽度、总线带宽、总线复用、总线的主
设备(或主模块)、总线的从设备(或从模块)、总线的传输周期
和总线的通信控制。
答:P46。
总线宽度:通常指数据总线的根数;
总线带宽:总线的数据传输率,指单位时间内总线上传输数
据的位数;
总线复用:指同一条信号线可以分时传输不同的信号。
总线的主设备(主模块):指一次总线传输期间,拥有总线
控制权的设备(模块);
总线的从设备(从模块):指一次总线传输期间,配合主设
备完成数据传输的设备(模块),它只能被动接受主设备发来的
命令;
总线的传输周期:指总线完成一次完整而可靠的传输所需时
间;
总线的通信控制:指总线传送过程中双方的时间配合方式。
6.试比较同步通信和异步通信。
答:同步通信:指由统一时钟控制的通信,控制方式简单,灵活
性差,当系统中各部件工作速度差异较大时,总线工作效率明显
下降。适合于速度差别不大的场合。
异步通信:指没有统一时钟控制的通信,部件间采用应答方
式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件
工作速度差异较大时,有利于提高总线工作效率。
8.为什么说半同步通信同时保留了同步通信和异步通信的特
点?
答:半同步通信既能像同步通信那样由统一时钟控制,又能像异
步通信那样允许传输时间不一致,因此工作效率介于两者之间。
10.为什么要设置总线标准?你知道目前流行的总线标准有哪
些?什么叫plugandplay?哪些总线有这一特点?
答:总线标准的设置主要解决不同厂家各类模块化产品的兼容问
题;
目前流行的总线标准有:ISA、EISA、PCI等;
plugandplay:即插即用,EISA、PCI等具有此功能。
11.画一个具有双向传输功能的总线逻辑图。
答:在总线的两端分别配置三态门,就可以使总线具有双向传输
功能。
a0
a1
anbn
b1
b0
a至bb至a
12.设数据总线上接有A、B、C、D四个寄存器,要求选用合适
的74系列芯片,完成下列逻辑设计:
(1)设计一个电路,在同一时间实现D→A、D→B和D→C寄存
器间的传送;
(2)设计一个电路,实现下列操作:
T0时刻完成D→总线;
T1时刻完成总线→A;
T2时刻完成A→总线;
T3时刻完成总线→B。
解:(1)由T打开三态门将D寄存器中的内容送至总线bus,由
cp脉冲同时将总线上的数据打入到A、B、C寄存器中。T和cp
的时间关系如图(1)所示。
ABC
cp脉冲
总线bus
三态门
D
T
T
cp
图(1)
(2)三态门1受T0+T1控制,以确保T0时刻D→总线,
以及T1时刻总线→接收门1→A。三态门2受T2+T3控制,以
确保T2时刻A→总线,以及T3时刻总线→接收门2→B。T0、T1、
T2、T3波形图如图(2)所示。
图(2)
第四章
3.存储器的层次结构主要体现在什么地方?为什么要分这些层
次?计算机如何管理这些层次?
答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两
个存储层次上。
Cache-主存层次在存储系统中主要对CPU访存起加速作用,
即从整体运行的效果分析,CPU访存速度加快,接近于Cache的
速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要起扩容作用,即从程序员
的角度看,他所使用的存储器其容量和位价接近于辅存,而速度
接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达
到了速度快、容量大、位价低的优化效果。
主存与CACHE之间的信息调度功能全部由硬件自动完成。而
主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主
存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员
可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址
空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动
配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两
个层次上的调度或转换操作对于程序员来说都是透明的。
4.说明存取周期和存取时间的区别。
解:存取周期和存取时间的主要区别是:存取时间仅为完成一次
操作的时间,而存取周期不仅包含操作时间,还包含操作后线路
的恢复时间。即:
存取周期=存取时间+恢复时间
5.什么是存储器的带宽?若存储器的数据总线宽度为32位,存
取周期为200ns,则存储器的带宽是多少?
解:存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽=1/200ns×32位=160M位/秒=20MB/秒=5M
字/秒
注意:字长32位,不是16位。(注:1ns=10-9s)
6.某机字长为32位,其存储容量是64KB,按字编址它的寻址
范围是多少?若主存以字节编址,试画出主存字地址和字节地址
的分配情况。
解:存储容量是64KB时,按字节编址的寻址范围就是64K,如
按字编址,其寻址范围为:
64K/(32/8)=16K
主存字地址和字节地址的分配情况:(略)。
7.一个容量为16K×32位的存储器,其地址线和数据线的总和
是多少?当选用下列不同规格的存储芯片时,各需要多少片?
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8
位
解:地址线和数据线的总和=14+32=46根;
选择不同的芯片时,各需要的片数为:
1K×4:(16K×32)/(1K×4)=16×8=128片
2K×8:(16K×32)/(2K×8)=8×4=32片
4K×4:(16K×32)/(4K×4)=4×8=32片
16K×1:(16K×32)/(16K×1)=1×32=32片
4K×8:(16K×32)/(4K×8)=4×4=16片
8K×8:(16K×32)/(8K×8)=2×4=8片
8.试比较静态RAM和动态RAM。
答:略。(参看课件)
9.什么叫刷新?为什么要刷新?说明刷新有几种方法。
解:刷新:对DRAM定期进行的全部重写过程;
刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及
时补充,因此安排了定期刷新操作;
常用的刷新方法有三种:集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷
新
,存在CPU访存死时间。
分散式:在每个读/写周期之后插入一个刷新周期,无CPU访
存死时间。
异步式:是集中式和分散式的折衷。
10.半导体存储器芯片的译码驱动方式有几种?
解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。
线选法:地址译码信号只选中同一个字的所有位,结构简单,
费器材;
重合法:地址分行、列两部分译码,行、列译码线的交叉点
即为所选单元。这种方法通过行、列译码信号的重合来选址,也
称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。
11.一个8K×8位的动态RAM芯片,其内部结构排列成256×256
形式,存取周期为0.1μs。试问采用集中刷新、分散刷新和异
步刷新三种方式的刷新间隔各为多少?
解:采用分散刷新方式刷新间隔为:2ms,其中刷新死时间为:
256×0.1μs=25.6μs
采用分散刷新方式刷新间隔为:256×(0.1μs+×0.1μs)
=51.2μs
采用异步刷新方式刷新间隔为:2ms
12.画出用1024×4位的存储芯片组成一个容量为64K×8位的
存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,
指出共需多少片存储芯片。
解:设采用SRAM芯片,则:
总片数=(64K×8位)/(1024×4位)=64×2=128
片
题意分析:本题设计的存储器结构上分为总体、页面、组三
级,因此画图时也应分三级画。首先应确定各级的容量:
页面容量=总容量/页面数=64K×8/4=16K×8位,
4片16K×8字串联成64K×8位
组容量=页面容量/组数=16K×8位/16=1K×8
位,16片1K×8位字串联成16K×8位
组内片数=组容量/片容量=1K×8位/1K×4位=2
片,两片1K×4位芯片位并联成1K×8位
存储器逻辑框图:(略)。
13.设有一个64K×8位的RAM芯片,试问该芯片共有多少个基
本单元电路(简称存储基元)?欲设计一种具有上述同样多存储
基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总
和为最小,试确定这种芯片的地址线和数据线,并说明有几种解
答。
解:存储基元总数=64K×8位=512K位=219位;
思路:如要满足地址线和数据线总和最小,应尽量把存储元
安排在字向,因为地址位数和字数成2的幂的关系,可较好地压
缩线数。
解:设地址线根数为a,数据线根数为b,则片容量为:2a×b=
219;b=219-a;
若a=19,b=1,总和=19+1=20;
a=18,b=2,总和=18+2=20;
a=17,b=4,总和=17+4=21;
a=16,b=8,总和=16+8=24;
…………
由上可看出:片字数越少,片字长越长,引脚数越多。片
字数减1、片位数均按2的幂变化。
结论:如果满足地址线和数据线的总和为最小,这种芯片
的引脚分配方案有两种:地址线=19根,数据线=1根;或地
址线=18根,数据线=2根。
14.某8位微型机地址码为18位,若使用4K×4位的RAM芯片
组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少?
(2)若每个模块板为32K×8位,共需几个模块板?
(3)每个模块板内共有几片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何选择各模块板?
解:(1)该机所允许的最大主存空间是:218×8位=256K×8
位=256KB
(2)模块板总数=256K×8/32K×8=8块
(3)板内片数=32K×8位/4K×4位=8×2=16片
(4)总片数=16片×8=128片
(5)CPU通过最高3位地址译码输出选择模板,次高3位地
址译码输出选择芯片。地址格式分配如下:
模板号(3位)芯片号(3位)片内地址(12位)
15.设CPU共有16根地址线,8根数据线,并用MREQ(低电平
有效)作访存控制信号,W/R作读写命令信号(高电平为读,低
电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8
位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和
其他门电路(门电路自定)。试从上述规格中选用合适芯片,画
出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用
户程序区;
(2)指出选用的存储芯片类型及数量;
(3)详细画出片选逻辑。
解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H-0FFFH
用户程序区(RAM共12KB):1000H-FFFFH
(2)选片:ROM:选择4K×4位芯片2片,位并联
RAM:选择4K×8位芯片3片,字串联
(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH,
RAM3地址范围为:3000H-3FFFH)
(3)各芯片二进制地址分配如下:
A1
5
A1
4
A1
3
A1
2
A1
1
A1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
ROM1
,2
0000
1111
RAM10000
1111
RAM20000
1111
RAM30000
1111
CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:
CPU
ROM1RAM1RAM2RAM3
74138
ROM2
D0
D3
D4
D7
R/W
A11
A0
0Y
1Y
2Y
3Y
7Y
A15
A14
A13
A12
MREQ
A2G
B2G
1G
A
B
C
PROG/PD
OE
CSCS
CS
OE
......
...
...
...............
...
.
.
.
.
.
.
.
.
.
图(3)
假设同上题,现有8片8K×8位的RAM芯片与CPU相连,
试回答:
(1)用74138译码器画出CPU与存储芯片的连接图;
(2)写出每片RAM的地址范围;
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H
为起始地址的存储芯片都有与其相同的数据,分析故障原因。
(4)根据(1)的连接图,若出现地址线A13与CPU断线,
并搭接到高电平上,将出现什么后果?
解:(1)CPU与存储器芯片连接逻辑图:
CPU
RAM0
74138
RAM1
D0
D7
A12
A0
0Y
1Y
2Y
7Y
A15
A14
A13
MREQ
A2G
B2G
1G
A
B
C
CSCS
CS...
...
...
.........
...
.
.
.
.
.
.
RAM7
...
.
.
.
W/R
WEWEWE
+5V
(2)地址空间分配图:
RAM0:0000H-1FFFH
RAM1:2000H-3FFFH
RAM2:4000H-5FFFH
RAM3:6000H-7FFFH
RAM4:8000H-9FFFH
RAM5:A000H-BFFFH
RAM6:C000H-DFFFH
RAM7:E000H-FFFFH
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H
为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故
障原因为:该存储芯片的片选输入端很可能总是处于低电平。假
设芯片与译码器本身都是好的,可能的情况有:
1)该片的-CS端与-WE端错连或短路;
2)该片的-CS端与CPU的-MREQ端错连或短路;
3)该片的-CS端与地线错连或短路。
(4)如果地址线A13与CPU断线,并搭接到高电平上,将
会出现A13恒为“1”的情况。此时存储器只能寻址A13=1的地
址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访
问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误
地访问到A13=1的对应空间(奇数片)中去。
17.写出1100、1101、1110、1111对应的汉明码。
解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示
校验位位数k=3位,(2k>=n+k+1)
设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:
c1c2b4c3b3b2b1
校验位在汉明码中分别处于第1、2、4位
c1=b4⊕b3⊕b1
c2=b4⊕b2⊕b1
c3=b3⊕b2⊕b1
当有效信息为1100时,c3c2c1=011,汉明码为1110100。
当有效信息为1101时,c3c2c1=100,汉明码为0011101。
当有效信息为1110时,c3c2c1=101,汉明码为1011110。
当有效信息为1111时,c3c2c1=010,汉明码为0110111。
18.已知收到的汉明码(按配偶原则配置)为1100100、1100111、
1100000、1100001,检查上述代码是否出错?第几位出错?
解:假设接收到的汉明码为:c1’c2’b4’c3’b3’b2’b1’
纠错过程如下:
P1=c1’⊕b4’⊕b3’⊕b1’
P2=c2’⊕b4’⊕b2’⊕b1’
P3=c3’⊕b3’⊕b2’⊕b1’
如果收到的汉明码为1100100,则p3p2p1=011,说明代码有
错,第3位(b4’)出错,有效信息为:1100
如果收到的汉明码为1100111,则p3p2p1=111,说明代码有
错,第7位(b1’)出错,有效信息为:0110
如果收到的汉明码为1100000,则p3p2p1=110,说明代码有
错,第6位(b2’)出错,有效信息为:0010
如果收到的汉明码为1100001,则p3p2p1=001,说明代码有
错,第1位(c1’)出错,有效信息为:0001
22.某机字长16位,常规的存储空间为64K字,若想不改用其
他高速的存储芯片,而使访存速度提高到8倍,可采取什么措
施?画图说明。
解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采
取八体交叉存取技术,8体交叉访问时序如下图:
单体访存周期
启动存储体0
启动存储体1
启动存储体2
启动存储体3
启动存储体4
启动存储体5
启动存储体6
启动存储体7
18.什么是“程序访问的局部性”?存储系统中哪一级采用了
程序访问的局部性原理?
解:程序运行的局部性原理指:在一小段时间内,最近被访问过
的程序和数据很可能再次被访问;在空间上,这些被访问的程序
和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行
比转移执行的可能性大(大约5:1)。存储系统中Cache—主存
层次采用了程序访问的局部性原理。
做在CPU芯片内有什么好处?将指令Cache和数据
Cache分开又有什么好处?
答:Cache做在CPU芯片内主要有下面几个好处:
1)可提高外部总线的利用率。因为Cache在CPU芯片内,
CPU访问Cache时不必占用外部总线。
2)Cache不占用外部总线就意味着外部总线可更多地支持
I/O设备与主存的信息传输,增强了系统的整体效率。
3)可提高存取速度。因为Cache与CPU之间的数据通路大
大缩短,故存取速度得以提高。
将指令Cache和数据Cache分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下
指令预取操作的完成。
2)指令Cache可用ROM实现,以提高指令存取的可靠性。
3)数据Cache对不同数据类型的支持更为灵活,既可支持
整数(例32位),也可支持浮点数据(如64位)。
补充:
Cache结构改进的第三个措施是分级实现,如二级缓存结构,
即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片
外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片
内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速
度。
30.一个组相连映射的CACHE由64块组成,每组内包含4块。
主存包含4096块,每块由128字组成,访存地址为字地址。试
问主存和高速存储器的地址各为几位?画出主存地址格式。
解:cache组数:64/4=16,Cache容量为:64*128=213字,cache
地址13位
主存共分4096/16=256区,每区16块
主存容量为:4096*128=219字,主存地址19位,地址格式如
下:
主存字块标记(8位)组地址(4位)字块内地址(7位)
第六章
12.设浮点数格式为:阶码5位(含1位阶符),尾数11位(含
1位数符)。写出51/128、-27/1024所对应的机器数。要求如下:
(1)阶码和尾数均为原码。
(2)阶码和尾数均为补码。
(3)阶码为移码,尾数为补码。
解:据题意画出该浮点数的格式:
阶符1
位
阶码4位数符1
位
尾数10位
将十进制数转换为二进制:x1=51/128=0.0110011B=
2-1*0.110011B
x2=-27/1024=
-0.B=2-5*(-0.11011B)
则以上各数的浮点规格化数为:
(1)[x1]浮=1,0001;0.1100110000
[x2]浮=1,0101;1.1101100000
(2)[x1]浮=1,1111;0.1100110000
[x2]浮=1,1011;1.
(3)[x1]浮=0,1111;0.1100110000
[x2]浮=0,1011;1.
16.设机器数字长为16位,写出下列各种情况下它能表示的数
的范围。设机器数采用一位符号位,答案均用十进制表示。
(1)无符号数;
(2)原码表示的定点小数。
(3)补码表示的定点小数。
(4)补码表示的定点整数。
(5)原码表示的定点整数。
(6)浮点数的格式为:阶码6位(含1位阶符),尾数
10位(含1位数符)。分别写出其正数和负数的表示范围。
(7)浮点数格式同(6),机器数采用补码规格化形式,
分别写出其对应的正数和负数的真值范围。
解:(1)无符号整数:0——216-1,即:0——65535;
无符号小数:0——1-2-16,即:0——0.99998;
(2)原码定点小数:-1+2-15——1-2-15,即:-0.99997—
—0.99997
(3)补码定点小数:-1——1-2-15,即:-1——0.99997
(4)补码定点整数:-215——215-1,即:-32768——32767
(5)原码定点整数:-215+1——215-1,即:-32767——
32767
(6)据题意画出该浮点数格式,当阶码和尾数均采用原
码,非规格化数表示时:
最大负数=1,11111;1.000000001,即-2-92-31
最小负数=0,11111;1.111111111,即-(1-2-9)231
则负数表示范围为:-(1-2-9)231——-2-92-31
最大正数=0,11111;0.111111111,即(1-2-9)231
最小正数=1,11111;0.000000001,即2-92-31
则正数表示范围为:2-92-31——(1-2-9)231
(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则
最大负数=1,00000;1.011111111,即-2-12-32
最小负数=0,11111;1.000000000,即-1231
则负数表示范围为:-1231——-2-12-32
最大正数=0,11111;0.111111111,即(1-2-9)231
最小正数=1,00000;0.100000000,即2-12-32
则正数表示范围为:2-12-32——(1-2-9)231
17.设机器数字长为8位(包括一位符号位),对下列各机器数
进行算术左移一位、两位,算术右移一位、两位,讨论结果是否
正确。
[x1]原=0.0011010;[y1]补=0.1010100;[z1]反=1.010
1111;
[x2]原=1.1101000;[y2]补=1.1101000;[z2]反=1.110
1000;
[x3]原=1.0011001;[y3]补=1.0011001;[z3]反=1.001
1001。
解:算术左移一位:
[x1]原=0.0110100;正确
[x2]原=1.1010000;溢出(丢1)出错
[x3]原=1.0110010;正确
[y1]补=0.0101000;溢出(丢1)出错
[y2]补=1.1010000;正确
[y3]补=1.0110010;溢出(丢0)出错
[z1]反=1.1011111;溢出(丢0)出错
[z2]反=1.1010001;正确
[z3]反=1.0110011;溢出(丢0)出错
算术左移两位:
[x1]原=0.1101000;正确
[x2]原=1.0100000;溢出(丢11)出错
[x3]原=1.1100100;正确
[y1]补=0.1010000;溢出(丢10)出错
[y2]补=1.0100000;正确
[y3]补=1.1100100;溢出(丢00)出错
[z1]反=1.0111111;溢出(丢01)出错
[z2]反=1.0100011;正确
[z3]反=1.1100111;溢出(丢00)出错
算术右移一位:
[x1]原=0.0001101;正确
[x2]原=1.0110100;正确
[x3]原=1.0001100(1);丢1,产生误差
[y1]补=0.0101010;正确
[y2]补=1.1110100;正确
[y3]补=1.1001100(1);丢1,产生误差
[z1]反=1.1010111;正确
[z2]反=1.1110100(0);丢0,产生误差
[z3]反=1.1001100;正确
算术右移两位:
[x1]原=0.0000110(10);产生误差
[x2]原=1.0011010;正确
[x3]原=1.0000110(01);产生误差
[y1]补=0.0010101;正确
[y2]补=1.1111010;正确
[y3]补=1.1100110(01);产生误差
[z1]反=1.1101011;正确
[z2]反=1.1111010(00);产生误差
[z3]反=1.1100110(01);产生误差
19.设机器数字长为8位(含1位符号位),用补码运算规则计
算下列各题。
(1)A=9/64,B=-13/32,求A+B。
(2)A=19/32,B=-17/128,求A-B。
(3)A=-3/16,B=9/32,求A+B。
(4)A=-87,B=53,求A-B。
(5)A=115,B=-24,求A+B。
解:(1)A=9/64=0.0010010B,B=-13/32=-0.0110100B
[A]补=0.0010010,[B]补=1.1001100
[A+B]补=0.0010010+1.1001100=1.1011110——
无溢出
A+B=-0.0100010B=-17/64
(2)A=19/32=0.1001100B,B=-17/128=-0.0010001B
[A]补=0.1001100,[B]补=1.1101111,[-B]补
=0.0010001
[A-B]补=0.1001100+0.0010001=0.1011101——无
溢出
A-B=0.1011101B=93/128B
(3)A=-3/16=-0.0011000B,B=9/32=0.0100100B
[A]补=1.1101000,[B]补=0.0100100
[A+B]补=1.1101000+0.0100100=0.0001100——无
溢出
A+B=0.0001100B=3/32
(4)A=-87=-1010111B,B=53=110101B
[A]补=10101001,[B]补=00110101,[-B]补=1
1001011
[A-B]补=10101001+11001011=01110100——溢
出
(5)A=115=1110011B,B=-24=-11000B
[A]补=01110011,[B]补=1,1101000
[A+B]补=01110011+11101000=01011011——无
溢出
A+B=1011011B=91
26.按机器补码浮点运算步骤,计算[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)。
解:先将x、y转换成机器数形式:
(1)x=2-011×0.101100,y=2-010×(-0.011100)
[x]补=1,101;0.101100,[y]补=1,110;1.100100
[Ex]补=1,101,[y]补=1,110,[Mx]补=0.101100,[My]
补=1.100100
1)对阶:
[E]补=[Ex]补+[-Ey]补=11,101+00,010=11,111
<0,
应Ex向Ey对齐,则:[Ex]补+1=11,101+00,001=11,
110=[Ey]补
[x]补=1,110;0.010110
2)尾数运算:
[Mx]补+[My]补=0.010110+11.100100=11.111010
[Mx]补+[-My]补=0.010110+00.011100=00.110010
3)结果规格化:
[x+y]补=11,110;11.111010=11,011;11.010000
(尾数左规3次,阶码减3)
[x-y]补=11,110;00.110010,已是规格化数。
4)舍入:无
5)溢出:无
则:x+y=2-101×(-0.110000)
x-y=2-010×0.110010
(2)x=2-011×(-0.100010),y=2-010×(-0.011111)
[x]补=1,101;1.011110,[y]补=1,110;1.100001
1)对阶:过程同(1)的1),则
[x]补=1,110;1.101111
2)尾数运算:
[Mx]补+[My]补=11.101111+11.100001=
11.010000
[Mx]补+[-My]补=11.101111+00.011111=
00.001110
3)结果规格化:
[x+y]补=11,110;11.010000,已是规格化数
[x-y]补=11,110;00.001110=11,100;00.111000
(尾数左规2次,阶码减2)
4)舍入:无
5)溢出:无
则:x+y=2-010×(-0.110000)
x-y=2-100×0.111000
(3)x=2101×(-0.100101),y=2100×(-0.001111)
[x]补=0,101;1.011011,[y]补=0,100;1.110001
1)对阶:
[E]补=00,101+11,100=00,001>0,应Ey向Ex对
齐,则:
[Ey]补+1=00,100+00,001=00,101=[Ex]补
[y]补=0,101;1.111000(1)
2)尾数运算:
[Mx]补+[My]补=11.011011+11.111000(1)=
11.010011(1)
[Mx]补+[-My]补=11.011011+00.000111(1)=
11.100010(1)
2)结果规格化:
[x+y]补=00,101;11.010011(1),已是规格化数
[x-y]补=00,101;11.100010(1)=00,100;11.000
101(尾数左规1次,阶码减1)
4)舍入:
[x+y]补=00,101;11.010011(舍)
[x-y]补不变
5)溢出:无
则:x+y=2101×(-0.101101)
x-y=2100×(-0.111011)
32.设机器字长为16位,分别按4、4、4、4和5、5、3、3分
组后,
(1)画出按两种分组方案的单重分组并行进位链框图,并
比较哪种方案运算速度快。
(2)画出按两种分组方案的双重分组并行进位链框图,并
对这两种方案进行比较。
(3)用74181和74182画出单重和双重分组的并行进位链
框图。
解:(1)4—4—4—4分组的16位单重分组并行进位链框图见教
材286页图6.22。
5—5—3—3分组的16位单重分组并行进位链框图如
下:
(2)4—4—4—4分组的16位双重分组并行进位链框图见教
材289页图6.26。
5—5—3—3分组的16位双重分组并行进位链框图如
下:
5—5—3—3分组的进位时间=2.5ty3=7.5ty;
4—4—4—4分组的进位时间=2.5ty3=7.5ty;
可见,两种分组方案最长加法时间相同。
结论:双重分组并行进位的最长进位时间只与组数和级数
有关,与组内位数无关。
(3)单重分组16位并行加法器逻辑图如下(正逻辑):
注意:1)74181芯片正、负逻辑的引脚表示方法;
2)为强调可比性,5-5-3-3分组时不考虑扇入影
响;
3)181芯片只有最高、最低两个进位输入/输出端,
组内进位无引脚;
4)181为4位片,无法5-5-3-3分组,只能4-4-4-4
分组;
5)单重分组跳跃进位只用到181,使用182的一
定是双重以上分组跳跃进位;
6)单重分组跳跃进位是并行进位和串行进位技术
的结合;双重分组跳跃进位是二级并行进位技术;特别注意在位
数较少时,双重分组跳跃进位可以采用全先行进位技术实现;位
数较多时,可采用双重分组跳跃进位和串行进位技术结合实现。
第七章
1.什么叫机器指令?什么叫指令系统?为什么说指令系统与机
器的主要功能以及与硬件结构之间存在着密切的关系?
答:参考P300。
2.什么叫寻址方式?为什么要学习寻址方式?
答:参看P310。
3.什么是指令字长、机器字长和存储字长?
答:略。
4.零地址指令的操作数来自哪里??各举一例说明。
答:零地址指令的操作数来自ACC,为隐含约定。
在一地址指令中,另一个操作数的地址通常可采用ACC隐含
寻址方式获得。
5.对于二地址指令而言,操作数的物理地址可安排在什么地
方?举例说明。
答:对于二地址指令而言,操作数的物理地址可安排在寄存器内、
指令中或内存单元内等。
8.某机指令字长16位,每个操作数的地址码为6位,设操作码
长度固定,指令分为零地址、一地址和二地址三种格式。若零地
址指令有M条,一地址指令有N种,则二地址指令最多有几种?
若操作码位数可变,则二地址指令最多允许有几种?
解:1)若采用定长操作码时,二地址指令格式如下:
OP(4位)A1(6
位)
A2(6位)
设二地址指令有K种,则:K=24-M-N
当M=1(最小值),N=1(最小值)时,二地址指令最多有:
Kmax=16-1-1=14种
3)若采用变长操作码时,二地址指令格式仍如1)所示,
但操作码长度可随地址码的个数而变。此时,K=24-
(N/26+M/212);
当(N/26+M/212)1时(N/26+M/212向上取整),K
最大,则二地址指令最多有:Kmax=16-1=15种(只留一种编码
作扩展标志用。)
9.试比较间接寻址和寄存器间接寻址。
答:略。
10.试比较基址寻址和变址寻址。
略。
11.画出先变址再间址及先间址再变址的寻址过程示意图。
解:1)先变址再间址寻址过程简单示意如下:
EA=[(IX)+A],IX(IX)+1
2)先间址再变址寻址过程简单示意如下:EA=(IX)+(A),IX
(IX)+1
16.某机主存容量为4M16位,且存储字长等于指令字长,若
该机指令系统可完成108种操作,操作码位数固定,且具有直接、
间接、变址、基址、相对、立即等六种寻址方式,试回答:(1)
画出一地址指令格式并指出各字段的作用;
(2)该指令直接寻址的最大范围;
(3)一次间址和多次间址的寻址范围;
(4)立即数的范围(十进制表示);
(5)相对寻址的位移量(十进制表示);
(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种
最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组
问题?
(7)如何修改指令格式,使指令的寻址范围可扩大到4M?
(8)为使一条转移指令能转移到主存的任一位置,可采取什
么措施?简要说明之。
解:(1)单字长一地址指令格式:
OP(7位)M(3
位)
A(6位)
OP为操作码字段,共7位,可反映108种操作;
M为寻址方式字段,共3位,可反映6种寻址操作;
A为地址码字段,共16-7-3=6位。
(2)直接寻址的最大范围为26=64。
(3)由于存储字长为16位,故一次间址的寻址范围为216;
若多次间址,需用存储字的最高位来区别是否继续间接寻址,故
寻址范围为215。
(4)立即数的范围为-32——31(有符号数),或0——63(无
符号数)。
(5)相对寻址的位移量为-32——31。
(6)上述六种寻址方式中,因立即数由指令直接给出,故立
即寻址的指令执行时间最短。间接寻址在指令的执行阶段要多次
访存(一次间接寻址要两次访存,多次间接寻址要多次访存),故
执行时间最长。变址寻址由于变址寄存器的内容由用户给定,而
且在程序的执行过程中允许用户修改,而其形式地址始终不变,
故变址寻址的指令便于用户编制处理数组问题的程序。相对寻址
操作数的有效地址只与当前指令地址相差一定的位移量,与直接
寻址相比,更有利于程序浮动。
(7)方案一:为使指令寻址范围可扩大到4M,需要有效地
址22位,此时可将单字长一地址指令的格式改为双字长,如下
图示:
OP(7位)MOD(3位)A(高6位)
A(低16位)
方案二:如果仍采用单字长指令(16位)格式,为使
指令寻址范围扩大到4M,可通过段寻址方案实现。安排如下:
硬件设段寄存器DS(16位),用来存放段地址。在完成
指令寻址方式所规定的寻址操作后,得有效地址EA(6位),再
由硬件自动完成段寻址,最后得22位物理地址。即:物理地址
=(DS)26+EA
注:段寻址方式由硬件隐含实现。在编程指定的寻址过程
完成、EA产生之后由硬件自动完成,对用户是透明的。
方案三:在采用单字长指令(16位)格式时,还可通过
页面寻址方案使指令寻址范围扩大到4M。安排如下:
硬件设页面寄存器PR(16位),用来存放页面地址。指
令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到4M
时,编程选择页面寻址方式,则:EA=(PR)‖A(有效地址=
页面地址“拼接”6位形式地址),这样得到22位有效地址。
(8)为使一条转移指令能转移到主存的任一位置,寻址范围
须达到4M,除了采用(7)方案一中的双字长一地址指令的格式
外,还可配置22位的基址寄存器或22位的变址寄存器,使EA=
(BR)+A(BR为22位的基址寄存器)或EA=(IX)+A(IX为
22位的变址寄存器),便可访问4M存储空间。还可以通过16位
的基址寄存器左移6位再和形式地址A相加,也可达到同样的效
果。
总之,不论采取何种方式,最终得到的实际地址应是22
位。
19.某CPU内有32个32位的通用寄存器,设计一种能容纳64
种操作的指令系统。假设指令字长等于机器字长,试回答以下问
题:
(1)如果主存可直接或间接寻址,采用寄存器—存储器型
指令,能直接寻址的最大存储空间是多少?画出指令格式并说明
各字段的含义。
(2)在满足(1)的前提下,如果采用通用寄存器作基址寄
存器,则上述寄存器—存储器型指令的指令格式有何特点?画出
指令格式并指出这类指令可访问多大的存储空间?
解:(1)如采用RS型指令,则此指令一定是二地址以上的地址
格式,指令格式如下:
OP(6位)R(5位)I(1位)A(20位)
操作码字段OP占6位,因为26>=64;
寄存器编号R占5位,因为25>=32;
间址位I占1位,当I=0,存储器寻址的操作数为直接寻
址,当I=1时为间接寻址;
形式地址A占20位,可以直接寻址220字。
(2)如采用基址寻址,则指令格式中应给出基址寄存器号,
以指定哪一个通用寄存器用作基址寄存器。指令格式变为:
OP(6位)源R(5
位)
I(1位)X(1位)目标R(5
位)
A(14位)
增加寻址特征位X,当X=1时,以目标寄存器R作为基址
寄存器进行基址寻址。
基址寻址可访问存储空间为:232字。
第八章
有哪些功能?画出其结构框图并简要说明各个部件的作
用。
答:参考P328和图8.2。
2.什么是指令周期?指令周期是否有一个固定值?为什么?
解:指令周期是指取出并执行完一条指令所需的时间。
由于计算机中各种指令执行所需的时间差异很大,因此为
了提高CPU运行效率,即使在同步控制的机器中,不同指令的指
令周期长度都是不一致的,也就是说指令周期对于不同的指令来
说不是一个固定值。
3.画出指令周期的流程图,分析说明图中每个子周期的作用。
答:参看P343及图8.8。
4.设CPU内有下列部件:PC、IR、SP、AC、MAR、MDR和CU。
(1)画出完成间接寻址的取数指令LDA@X(将主存某地址单
元X的内容取至AC中)的数据流(从取指令开始)。
(2)画出中断周期的数据流。
解:CPU中的数据流向与所采用的数据通路结构直接相关,不同
的数据通路中的数据流是不一样的。常用的数据通路结构方式有
直接连线、单总线、双总线、三总线等形式,目前大多采用总线
结构,直接连线方式仅适用于结构特别简单的机器中。
为简单起见,本题采用单总线将题中所给部件连接起来,框
图如下:
PCMARACMDRCUSPIR
bus
地址线数据线控制线
(1)LDA@X指令周期数据流程图:
PC→MAR
M(MAR)→MDR
(MDR)→IR
PC+1→PC
Ad(IR)→MAR
M(MAR)→MDR
MDR→Ad(IR)
Ad(IR)→MAR
M(MAR)→MDR
MDR→AC
(2)中断周期流程图如下:
SP-1→SP
PC→MDR
MDR→M(MAR)
向量地址→PC
0→EINT
SP→MAR
注:解这道题有两个要素,首先要根据所给部件设计好数
据通路,即确定信息流动的载体。其次选择好描述数据流的方法,
无论采用什么样的表达方式,其关键都要能清楚地反映数据在通
路上流动的顺序,即强调一个“流”字。较好的表达方式是流程
图的形式。
5.中断周期前是什么阶段?中断周期后又是什么阶段?在中断
周期CPU应完成什么操作?
答:中断周期前是执行周期,中断周期后是取指周期。在中断周
期,CPU应完成保存断点、将中断向量送PC和关中断等工作。
7.什么叫系统的并行性?粗粒度并行和细粒度并行有何区别?
答:所谓并行性包含同时性和并发性。同时性是指两个或两个以
上的事件在同一时刻发生,并发性是指两个或多个事件在同一时
间段发生。即在同一时刻或同一时间段内完成两个或两个以上性
质相同或性质不同的功能,只要在时间上存在相互重叠,就存在
并行性。
并行性又分为粗粒度并行和细粒度并行两类。粗粒度并行是
指在多个处理机上分别运行多个进程,由多台处理机合作完成一
个程序,一般用算法实现。细粒度并行是指在处理机的指令级和
操作级的并行性。
8.什么是指令流水?画出指令二级流水和四级流水的示意图,
它们中哪个更能提高处理机速度,为什么?
答:指令流水是指将一条指令的执行过程分为n个操作时间大致
相等的阶段,每个阶段由一个独立的功能部件来完成,这样n个
部件就可以同时执行n条指令的不同阶段,从而大大提高CPU的
吞吐率。
指令二级流水和四级流水示意图如下:
IF,IDEX,WR
IF,IDEX,WR
IF,IDEX,WR
二级指令流水示意图四级指令流水示意图
IFIDEXWR
IFIDEXWR
EXWRIFID
四级流水更能提高处理机的速度。分析如下:
假设IF、ID、EX、WR每个阶段耗时为t,则连续执行n条
指令
采用二级流水线时,耗时为:4t+(n-1)2t=(2n+2)t
采用四级流水线时,耗时为:4t+(n-1)t=(n+3)t
在n>1时,n+3<2n+2,可见四级流水线耗时比二级流水线
耗时短,因此更能提高处理机速度。
17.在中断系统中INTR、INT、EINT三个触发器各有何作用?
解:INTR——中断请求触发器,用来登记中断源发出的随机性中
断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定
的中断请求信号。
EINT——中断允许触发器,CPU中的中断总开关。当EINT=1
时,表示允许中断(开中断),当EINT=0时,表示禁止中断(关
中断)。其状态可由开、关中断等指令设置。
INT——中断标记触发器,控制器时序系统中周期状态分配电
路的一部分,表示中断周期标记。当INT=1时,进入中断周期,
执行中断隐指令的操作。
24.现有A、B、C、D四个中断源,其优先级由高向低按A、B、
C、D顺序排列。若中断服务程序的执行时间为20µs,请根据下
图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序
的轨迹。
解:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹
图如下:
t/us
B与C请求B请求D请求
C服务
B服务
A服务
程序
D服务
A请求
B服务
C服务
D服务
A服务
B服务
B服务
25.某机有五个中断源L0、L1、L2、L3、L4,按中断响应的优
先次序由高向低排序为L0L1L2L3L4,根据下示格式,
现要求中断处理次序改为L1L4L2L0L3,根据下面的格
式,写出各中断源的屏蔽字。
解:各中断源屏蔽状态见下表:
中断源屏蔽字
01234
I010010
I111111
I210110
I300010
I410111
表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。
26.设某机配有A、B、C三台设备,其优先顺序按ABC降序
排列,为改变中断处理次序,它们的中断屏蔽字设置如下:
设备屏蔽字
A111
B010
C011
请按下图所示时间轴给出的设备请求中断的时刻,画出CPU
执行程序的轨迹。设A、B、C中断服务程序的执行时间均为20
s。
解:A、B、C设备的响应优先级为A最高、B次之、C最低,处
理优先级为A最高、C次之、B最低。CPU执行程序的轨迹图如
下:
0708090t/us
A请求C请求B请求
C服务
B服务
A服务
程序
(本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好
评与关注!)
本文发布于:2023-01-04 08:27:14,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/89714.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |