计算机组成原理期末复习答案讲解.docx
《计算机组成原理期末复习答案讲解.docx》由会员分享,可在线阅读,更多相关《计算机组成原理期末复习答案讲解.docx(37页珍藏版)》请在冰豆网上搜索。
计算机组成原理期末复习答案讲解
第一章计算机系统概论
1.什么是计算机系统、计算机硬件和计算机软件?
硬件和软件哪个更重要?
解:
计算机系统:
由计算机硬件系统和软件系统组成的综合体。
计算机硬件:
指计算机中的电子线路和物理装置。
计算机软件:
计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2.如何理解计算机的层次结构?
答:
计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
4.如何理解计算机组成和计算机体系结构?
答:
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
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,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。
CPI:
Instruction,执行一条指令所需时钟周期数,计算机运算速度指标计量单位之一;
FLOPS:
FloatingPointOperationPerSecond,每秒浮点运算次数,计算机运算速度计量单位之一。
11.指令和数据都存于存储器中,计算机如何区分它们?
解:
计算机硬件主要通过不同的时间段来区分指令和数据,即:
取指周期(或取指微程序)取出的既为指令,执行周期(或相应微程序)取出的既为数据。
另外也可通过地址来源区分,从PC指出的存储单元取出的是指令,由指令地址码部分提供操作数地址。
第3章系统总线
3.常用的总线结构有几种?
不同的总线结构对计算机的性能有什么影响?
举例说明。
答:
(1)总线结构通常可以分为单总线结构和多总线结构两种。
(2)单总线结构简单也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算
机系统的瓶颈,它允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工
作效率的提高,这类总线多数被小型计算机或微型计算机采用;多总线结构解决了单总线中
所有部件同时共享总线的现状,有效的提高了系统的工作效率,如传统微型计算机。
4.为什么要设置总线判优控制?
常见的集中式总线控制有几种?
各有何特点?
哪种方式响应时间最快?
哪种方式对电路故障最敏感?
答:
总线判优控制解决多个部件同时申请总线时的使用权分配问题;
常见的集中式总线控制有三种:
链式查询、计数器定时查询、独立请求;
特点:
链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。
5.解释下列概念:
总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。
答:
总线宽度:
通常指数据总线的根数;
总线带宽:
总线的数据传输率,指单位时间内总线上传输数据的位数;
总线复用:
指同一条信号线可以分时传输不同的信号。
总线的主设备(主模块):
指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块):
指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期:
指总线完成一次完整而可靠的传输所需时间;
总线的通信控制:
指总线传送过程中双方的时间配合方式。
10.为什么要设置总线标准?
你知道目前流行的总线标准有哪些?
什么叫plugandplay?
哪些总线有这一特点?
答:
总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;
目前流行的总线标准有:
ISA、EISA、PCI等;
plugandplay:
即插即用,EISA、PCI等具有此功能。
3.14设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。
如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?
解;总线宽度=16位/8=2B
总线带宽=8MHz×2B=16MB/s
3.15在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。
若想提高数据传输率,可采取什么措施?
解法1:
总线宽度=32位/8=4B时钟周期=1/66MHz=0.015µs
总线最短传输周期=0.015µs×4=0.06µs
总线最大数据传输率=4B/0.06µs=66.67MB/s
解法2:
总线工作频率=66MHz/4=16.5MHz总线最大数据传输率=16.5MHz×4B=66MB/s
若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度。
3.16在异步串行传送系统中,字符格式为:
1个起始位、8个数据位、1个校验位、2个终止位。
若要求每秒传送120个字符,试求传送的波特率和比特率。
解:
一帧=1+8+1+2=12位波特率=120帧/秒×12位=1440波特
比特率=1440波特×(8/12)=960bps或:
比特率=120帧/秒×8=960bps
第四章
1.解释概念:
主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、FlashMemory。
答:
主存:
主存储器,用于存放正在执行的程序和数据。
CPU可以直接进行随机读写,访问速度较高。
辅存:
辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。
Cache:
高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。
RAM:
半导体随机存取存储器,主要用作计算机中的主存。
SRAM:
静态半导体随机存取存储器。
DRAM:
动态半导体随机存取存储器。
ROM:
掩膜式半导体只读存储器。
由芯片制造商在制造时写入内容,以后只能读出而不能写入。
PROM:
可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。
EPROM:
紫外线擦写可编程只读存储器。
需要修改内容时,现将其全部内容擦除,然后再编程。
擦除依靠紫外线使浮动栅极上的电荷泄露而实现。
EEPROM:
电擦写可编程只读存储器。
CDROM:
只读型光盘。
FlashMemory:
闪速存储器。
或称快擦型存储器
5.什么是存储器的带宽?
若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?
解:
存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽=1/200ns×32位=160M位/秒=20MB/秒=5M字/秒
注意:
字长32位,不是16位。
(注:
1ns=10-9s)
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片
9.什么叫刷新?
为什么要刷新?
说明刷新有几种方法。
解:
刷新:
对DRAM定期进行的全部重写过程;
刷新原因:
因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种:
集中式、分散式、异步式。
集中式:
在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。
分散式:
在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。
异步式:
是集中式和分散式的折衷。
讨论:
1、刷新与再生的比较:
共同点:
•动作机制一样。
都是利用DRAM存储元破坏性读操作时的重写过程实现;
•操作性质一样。
都是属于重写操作。
区别:
•解决的问题不一样。
再生主要解决DRAM存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。
•操作的时间不一样。
再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。
•动作单位不一样。
再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。
•芯片内部I/O操作不一样。
读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS信号无效,芯片数据引脚上无读出数据输出(唯RAS有效刷新,内部读)。
鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。
2、CPU访存周期与存取周期的区别:
CPU访存周期是从CPU一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。
3、分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU访存周期。
4、刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。
11.一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。
试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?
解:
采用集中刷新方式刷新间隔为:
2ms,其中刷新死时间为:
256×0.1μs=25.6μs
采用分散刷新方式刷新间隔为:
256×0.1μ=25.6μ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根。
15.设CPU共有16根地址线,8根数据线,并用
(低电平有效)作访存控制信号,
作读写命令信号(高电平为读,低电平为写)。
现有下列存储芯片:
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)各芯片二进制地址分配如下:
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
ROM1,2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
RAM1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
RAM2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
RAM3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:
图(3)
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。
24.一个4体低位交叉的存储器,假设存储周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?
解:
4体低位交叉的存储器的总线传输周期为t,t=T/4,依次访问64个字所需时间为:
t=T+(64-1)t=T+63T/4=16.75T
28.设主存容量为256K字,Cache容量为2K字,块长为4。
(1)设计Cache地址格式,Cache中可装入多少块数据?
(2)在直接映射方式下,设计主存地址格式。
(3)在四路组相联映射方式下,设计主存地址格式。
(4)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。
解:
(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,
Cache字地址9位,字块内地址为2位
因此,Cache地址格式设计如下:
Cache字块地址(9位)
字块内地址(2位)
(2)主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,
主存字块标记为18-9-2=7位。
直接映射方式下主存地址格式如下:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(2位)
(3)根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,
主存字块标记为18-7-2=9位,主存地址格式设计如下:
主存字块标记(9位)
组地址(7位)
字块内地址(2位)
(4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:
主存字块标记(16位)
字块内地址(2位)
(5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B,
Cache容量为2K*32/4=214B,块长为4*32/4=32B=25B,字块内地址为5位,
在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:
主存字块标记(7位)
Cache字块地址(9位)
字块内地址(5位)
在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:
主存字块标记(9位)
组地址(7位)
字块内地址(5位)
在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:
主存字块标记(16位)
字块内地址(5位)
29.假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?
解:
Cache被访问命中率为:
4800/(4800+200)=24/25=96%
则Cache-主存系统的平均访问时间为:
ta=0.96*30ns+(1-0.96)*150ns=34.8ns
tc=30ns;
Cache-主存系统的访问效率为:
e=tc/ta*100%=30/34.8*100%=86.2%
性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。
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位)
41.设有效信息为110,试用生成多项式G(x)=11011将其编成循环冗余校验码。
解:
编码过程如下:
M(x)=110n=3
G(x)=11011k+1=5k=4
M(x)·x4=1100000
M(x)·x4/G(x)=1100000/11011=100+1100/11011R(x)=1100
M(x)·x4+R(x)=1100000+1100=1101100=CRC码(7,3)码
注:
此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。
此时只能检错,无法纠错
42.有一个(7,4)码,生成多项式G(x)=x^3+x+1,写出代码1001的循环冗余校验码。
答:
M(x)=1001
G(x)=x^3+x+1=1011
K+1=4k=3
M(x)*x^3/G(x)=1001000/1011=1010+余数110则校验码为1001110
第 六 章
1.最少用几位二进制可表示任一5位长的十进制正整数。
答:
17位.
9.当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?
解:
真值和机器数的对应关系如下:
9BH
原码
补码
反码
移码
无符号数
对应十进制数
-27
-101
-100
+27
155
FFH
原码
补码
反码
移码
无符号数
对应十进制数
-128
-1
-0
+128
256
10.在整数定点机中,设机器数采用1位符号位,写出±0的原码、补码、反码和移码,得出什么结论?
解:
0的机器数形式如下:
(假定机器数共8位,含1位符号位在内)
真值
原码
补码
反码
移码
+0
00000000
00000000
00000000
10000000
-