计算机组成原理课后答案唐朔飞第二版文档格式.docx
《计算机组成原理课后答案唐朔飞第二版文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课后答案唐朔飞第二版文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
指令字长:
一条指令的二进制代码位数。
8.解释下列英文缩写的中文含义:
CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS
全面的回答应分英文全称、中文名、功能三部分。
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指令:
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.什么是摩尔定律?
该定律是否永远生效?
为什么?
第3章系统总线
1.什么是总线?
总线传输有何特点?
为了减轻总线负载,总线上的部件应具备什么特点?
P41.总线是多个部件共享的传输部件。
总线传输的特点是:
某一时刻只能有一路信息在总线上传输,即分时使用。
为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。
4.为什么要设置总线判优控制?
常见的集中式总线控制有几种?
各有何特点?
哪种方式响应时间最快?
哪种方式对电路故障最敏感?
总线判优控制解决多个部件同时申请总线时的使用权分配问题;
常见的集中式总线控制有三种:
链式查询、计数器定时查询、独立请求;
特点:
链式查询方式连线简单,易于扩充,对电路故障最敏感;
计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;
独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。
5.解释下列概念:
总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。
P46。
总线宽度:
通常指数据总线的根数;
总线带宽:
总线的数据传输率,指单位时间内总线上传输数据的位数;
总线复用:
指同一条信号线可以分时传输不同的信号。
总线的主设备(主模块):
指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块):
指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期:
指总线完成一次完整而可靠的传输所需时间;
总线的通信控制:
指总线传送过程中双方的时间配合方式。
6.试比较同步通信和异步通信。
同步通信:
指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。
适合于速度差别不大的场合。
异步通信:
指没有统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。
8.为什么说半同步通信同时保留了同步通信和异步通信的特点?
半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。
10.为什么要设置总线标准?
你知道目前流行的总线标准有哪些?
什么叫plugandplay?
哪些总线有这一特点?
总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;
目前流行的总线标准有:
ISA、EISA、PCI等;
plugandplay:
即插即用,EISA、PCI等具有此功能。
第四章
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根;
选择不同的芯片时,各需要的片数为:
4:
(16K×
32)/(1K×
4)=16×
8=128片
2K×
8:
32)/(2K×
8)=8×
4=32片
4K×
32)/(4K×
4)=4×
8=32片
16K×
1:
32)/(16K×
1)=1×
32=32片
32)/(4K×
8)=4×
4=16片
8K×
32)/(8K×
8)=2×
4=8片
9.什么叫刷新?
为什么要刷新?
说明刷新有几种方法。
刷新:
对DRAM定期进行的全部重写过程;
刷新原因:
因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种:
集中式、分散式、异步式。
集中式:
在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。
分散式:
在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。
异步式:
是集中式和分散式的折衷。
10.半导体存储器芯片的译码驱动方式有几种?
半导体存储器芯片的译码驱动方式有两种:
线选法和重合法。
线选法:
地址译码信号只选中同一个字的所有位,结构简单,费器材;
重合法:
地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。
这种方法通过行、列译码信号的重合来选址,也称矩阵译码。
可大大节省器材用量,是最常用的译码驱动方式。
11.一个8K×
8位的动态RAM芯片,其内部结构排列成256×
256形式,存取周期为0.1μs。
试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?
采用分散刷新方式刷新间隔为:
2ms,其中刷新死时间为:
256×
0.1μs=25.6μs
采用分散刷新方式刷新间隔为:
(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×
组容量=页面容量/组数
=16K×
8位/16=1K×
8位,16片1K×
8位字串联成16K×
组内片数=组容量/片容量=1K×
8位/1K×
4位=2片,两片1K×
4位芯片位并联成1K×
存储器逻辑框图:
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片×
(5)CPU通过最高3位地址译码输出选择模板,次高3位地址译码输出选择芯片。
地址格式分配如下:
15.设CPU共有16根地址线,8根数据线,并用
(低电平有效)作访存控制信号,
作读写命令信号(高电平为读,低电平为写)。
现有下列存储芯片:
ROM(2K×
4位,8K×
8位),RAM(1K×
8位),及74138译码器和其他门电路(门电路自定)。
试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。
要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;
(2)指出选用的存储芯片类型及数量;
(3)详细画出片选逻辑。
(1)地址空间分配图:
系统程序区(ROM共4KB):
0000H-0FFFH
用户程序区(RAM共12KB):
1000H-FFFFH
(2)选片:
ROM:
选择4K×
4位芯片2片,位并联
RAM:
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
1
RAM1
RAM2
RAM3
CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:
图(3)
16.CPU假设同上题,现有8片8K×
8位的RAM芯片与CPU相连,试回答:
(1)用74138译码器画出CPU与存储芯片的连接图;
(2)写出每片RAM的地址范围;
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。
(4)根据
(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?
(1)CPU与存储器芯片连接逻辑图:
(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体交叉访问时序如下图:
18.什么是“程序访问的局部性”?
存储系统中哪一级采用了程序访问的局部性原理?
程序运行的局部性原理指:
在一小段时间内,最近被访问过的程序和数据很可能再次被访问;
在空间上,这些被访问的程序和数据往往集中在一小片存储区;
在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:
1)。
存储系统中Cache—主存层次采用了程序访问的局部性原理。
25.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),片外缓存既可以弥补片内缓存容量不够