计算机系统结构课后答案.docx
- 文档编号:8650053
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:11
- 大小:26.62KB
计算机系统结构课后答案.docx
《计算机系统结构课后答案.docx》由会员分享,可在线阅读,更多相关《计算机系统结构课后答案.docx(11页珍藏版)》请在冰豆网上搜索。
计算机系统结构课后答案
第1章计算机系统结构的基本概念
1.1解释下列术语
Amdahl定律「当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理「程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI「每条指令执行的平均时钟周期数。
1.2试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。
答:
如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。
确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。
选择存储芯片类型、微组装技术、线路设计等属于计算机实现。
计算机组成是计算机系统结构的逻辑实现。
计算机实现是计算机组成的物理实现。
一种体系结构可以有多种组成。
一种组成可以有多种实现。
1.3计算机系统结构的Flynn分类法是按什么来分类的。
共分为哪几类。
答Flynn分类法是按照指令流和数据流的多倍性进行分类。
把计算机系统的结构分为:
(1单指令流单数据流SISD(2单指令流多数据流SIMD(3多指令流单数据流MISD
(4多指令流多数据流MIMD
1.9假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。
具体数据如下表所示:
操作类型程序中的数量(百万条指令
改进前的执行时间
(周期
改进后的执行时间
(周期
操作11021操作2302015操作335103操作4
15
4
1
(1改进后,各类操作的加速比分别是多少?
(2各类操作单独改进后,程序获得的加速比分别是多少?
(34类操作均改进后、整个程序的加速比是多少?
解:
根据Amdahl定律Se
FeFeSn+
1(1可得
操作类型各类操作的指令条数在程序中所占的比例F1
各类操作的加速比Si
各类操作单独改进后,程序获得的加速比
操作111.1%21.06操作233.3%1.331.09操作338.9%3.331.37操作4
16.7%
1.14
4类操作均改进后,整个程序的加速比:
2.16
1(1
g+_
1
1111SFFS
第2章指令集结构的分类
2.1解释下列术语
CISC「复杂指令集计算机RISC「精简指令集计算机
寻址方式「指令系统中如何形成所要访问的数据的地址。
一般来说,寻址方式可以指明指令中的操作数是一个常数、一个寄存器操作数或者是一个存储器操作数。
数据表示:
硬件结构能够识别、指令系统可以直接调用的那些数据结构。
2.2指令集应满足哪几个基本要求。
答:
对指令集的基本要求是「完整性、规整性、高效率和兼容性。
完整性是指在一个有限可用的存储空间内•对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使用。
规整性主要包括对称性和均匀性。
对称性是指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。
均匀性是指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。
高效率是指指令的执行速度快、使用频度高。
2.3指令中表示操作数类型的方法有哪几种?
答「操作数类型有两种表示方法「(1操作数的类型由操作码的编码指定,这是最常见的一种方法;(2数据可以附上由硬件解释的标记,由这些标记指定操作数的类型,从而选择适当的运算。
2.4通常有哪几种指令格式,请简述其适用范围。
答3变长编码格式。
如果系统结构设计者感兴趣的是程序的目标代码大小,而不是性能,就可以采用变长编码格式。
(2固定长度编码格式。
如果感兴趣的是性能,而不是程序的目标代码大小,则可以选择固定长度编码格式。
(3混合型编码格式。
需要兼顾降低目标代码长度和降低译码复杂度时,可以采用混合型编码格式。
第3章流水线技术
3.1解释下列术语
流水线「将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。
数据相关:
考虑两条指令1和J,i在J的前面,如果下述条件之一成立,则称指令J与指令1数据相关:
(1指令J使用指令1产生的结果;
(2指令j与指令k数据相关,而指令k又与指令1数据相关。
名相关:
如果两条指令使用了相同的名,但是它们之间并没有数据流动,则称这两条指令存在名相关。
控制相关:
是指由分支指令引起的相关。
它需要根据分支指令的执行结果来确定后面该执行哪个分支上的指令。
结构冲突「因硬件资源满足不了指令重叠执行的要求而发生的冲突。
数据冲突:
当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。
控制冲突:
流水线遇到分支指令或其它会改变PC值的指令所引起的冲突。
3.3简述先行控制的基本思想。
答:
先行控制技术是把缓冲技术和预处理技术相结合。
缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。
预处理技术是指预取指令、对指令进行加工以及预取操作数等。
采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间的工作。
这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数,大幅度地提高指令的执行速度和部件的效率。
这些缓冲站都按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。
采用先行控制技术可以实现多条指令的重叠解释执行。
3.5简述流水线技术的特点。
答:
流水技术有以下特点:
(1流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。
因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。
(2流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。
(3流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。
(4流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。
(5流水线需要有通过时间和排空时间。
在这两个时间段中,流水线都不是满负荷工作。
3.6解决流水线瓶颈问题有哪两种常用方法?
答:
细分瓶颈段与重复设置瓶颈段
3.11可采用哪些方法来提高向量处理机的性能。
答:
可采用多种方法:
(1设置多个功能部件,使它们并行工作;
(2采用链接技术,加快一串向量指令的执行;
(3采用循环开采技术,加快循环的处理;(4采用多处理机系统,进一步提高性能。
3.14有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、
2、5段,第3段的时间为2at,其余各段的时间均t,而且流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中。
现要在该流水线上计算,画出其时空图、并计算其吞吐率、加速比和效率。
解「首先,应选择适合于流水线工作的算法。
对于本题,应先计算Al+Bl、A
2十B2、A3+B3和A4+B4;再计算(A1+B1x(A2+B2和(A3+B3x(A4+B4;然后求总的结果。
其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。
由图可见,它在18个△[时间中,给出了7个结果。
所以吞吐率为:
t
TP△=
817
如果不用流水线,由于一次求积需3At,—次求和需5At,则产生上述7个结果共需(4x5+3x3At=29Ato所以加速比为:
该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得:
3.15动态多功能流水线由6个功能段组成,如下图:
1
2
3
45
乘法
加法
△t
2at
△t
(41
iiiBA+口=
SIS2S3S4S5乘法
加法
S6
时间
段1
2345012345678910111213141516输
入
A1
B1A2B2A3B3A4B4
A
B
C
D
AB
CD
Ax
BAxB
Cx
DAxBxCxD
A=A1+
B1B=A2+B2
C=A3+B3
D=A4+B4
CxD
1718
61
.18192=AA=
t
tS22
3.018
53354=xx+x=
其中,SI、S4、S5、S6组成乘法流水线,SI、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而旦设置有足够的缓冲寄存器,若以最快的方式用该流水计算:
1
mi
zvx
(1画出时空图;
(2计算实际的吞吐率、加速比和效率。
解「机器一共要做10次乘法,4次加法。
3.17假设各种分支指令数占所有指令数的百分比如下:
条件分支20%(其中的60%是分支成功的
跳转和调用
5%
现有一条段数为4的流水线,无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第三个时钟周期结束时才能够被解析出来。
第一个流水段是完全独立于指令类型的,即所有类型的指令都必须经过第一个流水段的处理。
请问在没有任何控制相关的情况下,该流水线相对于存在上述控制相关情况下的加速比是多少?
解「没有控制相关时流水线的平均CPI=1存在控制相关时:
由于无条件分支在第二个时钟周期结束时就被解析出来,而条件分支要到第3个时钟周期结束时才能被解析出来。
所以:
(1若使用排空流水线的策略,则对于条件分支、有两个额外的stall,对无条件分支,有一个额外的stall
CPI=1十20%*2十5%*1=1.45
加速比S=CPI/1=1.45
(2若使用预测分支成功策略,则对于不成功的条件分支,有两个额外的stall,对无条件分支和成功的条件分支,有一个额外的stall1:
CPI=1十20%*(60%*1十40%*2十5%*1=1.33加速比S=CPI/1=1.33
(3若使用预测分支失败策略,则对于成功的条件分支,有两个额外的stall;对无条件分支,有一个额外的stall;对不成功的条件分支,其目标地址已经由PC值给出,不必等待,所以无延迟:
CPI=l+20%*(60%*2+40%*0十5%*1=1.29
加速比S=CPI/1=1.29
3.19某向量处理机有16个向量寄存器,其中V0〜V5中分别放有向量A、B、C、D、E、F,向量长度均为&向量各元素均为浮点数;处理部件采用两条单功能流水线,加法功能部件时间为2拍,乘法功能部件时间为3拍。
采用类似于CARY-1的链接技术,先计算(A+B*C,在流水线不停流的情况下,接着计算(D十E*Fo
(1求此链接流水线的通过时间?
(设寄存器入、出各需1拍(2假如每拍时间为50ns,完成这些计算并把结果存进相应寄存器、此处理部件的实际吞吐率为多少
MFLOPS?
解U我们在这里假设A十B的中间结果放在V6中,(A十BxC地最后结果放在V7中Q十E地中间结果放在V8中,(D+ExF的最后结果放在V9中。
具体实现参考下图:
V0A
V1B
V3DV4EV5FV6
V7
V2C
V9
V8向量加向量乘
通过时间应该为前者((A+BxC通过的时间:
T通过=(1+2+1十(1十3十1=9(拍
(2在做完(A十BxC之后,作(C+DxE就不需要通过时间了。
V6<-A+B
V7<-V6xCV8T+E
V9<-V8xF
第4章指令级并行
4.1解释下列术语
指令级并行:
简称ILP。
是指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。
指令调度:
通过在编译时让编译器重新组织指令顺序或通过硬件在执行时调整指令顺序来消除冲突。
指令的动态调度:
是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。
是由硬件在程序实际运行时实施的。
指令的静态调度:
是指依靠编译器对代码进行静态调度,以减少相关和冲突。
它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。
保留站「在采用Tomasulo算法的MIPS处理器浮点部件中,在运算部件的入口设置的用来保存一条已经流出并等待到本功能部件执行的指令(相关信息。
CDB:
公共数据总线。
动态分支预测技术「是用硬件动态地进行分支处理的方法。
在程序运行时,根据分支指令过去的表现来预测其将来的行为。
如果分支行为发生了变化,预测结果也跟着改变。
BHT「分支历史表。
用来记录相关分支指令最近一次或几次的执行情况是成功还是失败,并据此进行预测。
分支目标缓冲:
是一种动态分支预测技术。
将执行过的成功分支指令的地址以及预测的分支目标地址记录在一张硬件表中。
在每次取指令的同时,用该指令的地址与表中所有项目的相应字段进行比较,以便尽早知道分支是否成功,尽早知道分支目标地址,达到减少分支开销的目的。
前瞻执行:
解决控制相关的方法、它对分支指令的结果进行猜测,然后按这个猜测结果继续取指、流出和执行后续的指令。
只是指令执行的结果不是写回到寄存器或存储器,而是放到一个称为ROB的缓冲器中。
等到相应的指令得到“确认”(即确实是应该执行的后,才将结果写入寄存器或存储器。
ROB:
ReOrdeiBuffero前瞻执行缓冲器。
S
26.67MFLOPT
32TP1200⑴s24818TT=
=十=(拍-十(通过
超标量:
一种多指令流出技术。
它在每个时钟周期流出的指令条数不固定.依代码的具体情况而定,但有个上限。
超流水:
在一个时钟周期内分时流出多条指令。
超长指令字:
一种多指令流出技术。
VLIW处理机在每个时钟周期流出的指令条数是固定的.这些指令构成一条长指令或者一个指令包,在这个指令包中,指令之间的并行性是通过指令显式地表示出来的。
4.5假设分支目标缓冲的命中率为90%.程序中无条件转移指令的比例为5%,没有无条件转移指令的程序CPI值为1。
假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的CPI值为多少?
解:
设每条无条件转移指令的延迟为X,则有:
1+5%xx=l.lx=2当分支目标缓冲命中时,无条件转移指令的延迟为0。
所以程序的CPI=1+2x5%x(l-90%二1.01第5章存储层次5.1解释下列术语全相联映象:
主存中的任一块可以被放置到Cache中任意一个地方。
直接映象:
主存中的每一块只能被放置到Cache中唯一的一个地方。
组相联映象:
主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成若干组,每组由若干块构成)。
写直达法:
在执行写操作时,不仅把信息写入Cache中相应的块.而且也写入下一级存储器中相应的块。
写回法:
只把信息写入Cache中相应块该块只有被替换时.才被写回主存。
5.2简述“Cache—主存层次与“主存一辅存”层次的区别。
答:
存储层次比较项目目的存储管理的实现访问速度的比值
(第一级比第二级)典型的块(页)大小CPU对第二级的访问方式不命中时CPU是否切换“Cache—主存”层次为了弥补主存速度的不足全部由专用硬件实现几比一几十个字节可直接访问不切换“主存一辅存”层次为了弥补主存容量的不足主要由软件实现几万比一几百到几千个字节均通过第一级切换到其它进程5.3降低Cache失效率有哪几种方法?
简述其基本思想。
答:
常用的降低Cache失效率的方法有下面几种:
(1)增加Cache块大小。
增加块大小利用了程序的空间局部性。
(2)增加Cache的容量。
(3)提高相联度,降低冲突失效。
(4)伪相联Cache,降低冲突失效。
当对伪相联Cache进行访问时,首先是按与直接映象相同的方式进行访问。
如果命中,则从相应的块中取出所访问的数据,送给CPU,访问结束。
如果不命中.就将索引字段的最高位取反,然后按照新索引去寻找“伪相联组”中的对应块。
如果这一块的标识匹配,则称发生了“伪命中”。
否则,就访问下一级存储器。
(5)硬件预取技术。
在处理器提出访问请求前预取指令和数据。
(6)由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令.在数据被用到之前发出预取请求。
(7)编译器优化,通过对软件的优化来降低失效率。
(8)“牺牲”Cache。
在Cache和其下一级存储器的数据通路之间增设一个全相联的小Cache,存放因冲突而被替换出去的那些块。
每当发生不命中时.在访问下一级存储器之前,先检查“牺牲”Cache中是否含有所需的块。
如果有.就将该块与Cache中某个块做交换,把所需的块从“牺牲”Cache调入Cache。
5.7在“Cache—主存”层次中,主存的更新算法有哪两种?
它们各有什么特点?
答:
(1)写直达法。
易于实现.而且下一级存储器中的数据总是最新的。
(2)写回法。
速度快•“写”操作能以Cache存储器的速度进行。
而且对于同一单元的多个写最后只需一次写回下一级存储器,有些“写''只到达Cache,不到达主存.因而所使用的存储器频带较低。
5.13在伪相联中,假设在直接映象位置没有发现匹
配.而在另一个位置才找到数据(伪命中)时,不对这两个位置的数据进行交换。
这时只需要1个额外的周期。
假设失效开销为50个时钟周期,2KB直接映象Cache的失效率为9.8%,2路组相联的失效率为7.6%;128KB直接映象Cache的失效率为1.0%,2路组相联的失效率为0.7%。
(1)推导出平均访存时间的公
式。
(2)利用
(1)中得到的公式,对于2KBCache和128KBCaclie,计算伪相联的平均访存时间。
解:
不管作了何种改进,失效开销相同。
不管是否交换内容,在同一“伪相联''组中的两块都是用同一个索引得到的,因此失效率相同,即:
失效率伪相联二失效率2路。
伪相联cache的命中时间等于直接映象cache的命中时间加上伪相联查找过程中的命中时间*该命中所需的额外开销。
命中时间伪相联二命中时间1路十伪命中率伪相联xl交换或不交换内容,伪相联的命中率都是由于在第一次失效时.将地址取反.再在第二次查找带来的。
因此伪命中率伪相联二命中率2路-命中率1路二(1-失效率2路)-(1-失效率1路)二失效率1路-失效率2路。
交换内容需要增加伪相联的额外开销。
平均访存时间伪相联二命中时间1路+(失效率1路-失效率2路)xl+失效率2路x失效开销1路将题设中的数据带入计算•得到:
平均访存时间2Kb=l十(0.098-0.076*1十(0.076*50=4.822平均访存时间128Kb=l十(0.010-0.007*1十(0.007*50=1.353显然是128KB的伪相联Cache要快一些。
第6章输入输出系统6.1解释以下术语响应时间:
从用户键入命令开始.到得到结果所花的时间。
可靠性:
指系统从某个初始参考点开始一直连续提供服务的能力,它通常用平均无故障时间来衡量。
可用性:
指系统正常工作的时间在连续两次正常服务间隔时间中所占的比率。
可信性:
指服务的质量,即在多大程度上可以合理地认为服务是可靠的。
RAID:
廉价磁盘冗余阵列或独立磁盘冗余阵列。
分离事务总线:
将总线事务分成请求和应答两部分。
在请求和应答之间的空闲时间内,总线可以供给其它的"O使用。
采用这种技术的总线称为分离事务总线。
通道:
专门负责整个计算机系统输入/输出工作的专用处理机.能执行有限的一组输入输出指令。
通道流量:
指一个通道在数据传送期间,单位时间内能够传送的数据量。
虚拟DMA:
它允许DMA设备直接使用虚拟地址.并在DMA传送的过程中由硬件将虚拟地址转换为物理地址。
异步I/O:
允许进程在发出I/O请求后继续执行,直到该进程真正访问这些数据而它们又尚未就绪
时.才被挂起。
6.2假设一台计算机的I/O处理时间占10%,当其CPU性能改进为原来的100倍.而I/O性能仅改进为原来的2倍时,系统总体性能会有什么样的变化?
解:
加速比116.9410%/290%/1006.10在有Cache的计算机系统
中.进行I/O操作时,会产生哪些数据不一致问题?
如何克服?
答:
(1)存储器中可能不是CPU产生的最新数据,所以I/O系统从存储器中取出来的是陈旧数据。
(2)I/O系统与存储器交换数据之后,在Cache中,被CPU使用的可能就会是陈旧数据。
第一个问题可以用写直达Cache解决。
第二个问题操作系统可以保证I/O操作的数据不在cache中。
如果不能,就作废Cache中相应的数据。
第7章互连网络7.1解释以下术语
线路交换:
在线路交换中.源结点和目的结点之间的物理通路在整个数据传送期间一直保持连接。
互连网络:
一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系统中结点之间的相互连接。
在拓扑上,互连网络是输入结点到输出结点之间的一组互连或映象。
对称网络:
从任意结点来看,网络的结构都是相同的。
7.2试比较可用于动态互连的总线、交叉开关和多级互连网络的硬件复杂度和带宽。
答:
总线互连的复杂性最低,成本也是最低。
其缺点是每台处理机可用的带宽较窄。
交叉开关是最昂贵的,因为其硬件复杂性以1】2上升.所以其成本最高。
但是交叉开关的带宽和寻径性能最好。
当网络的规模较小时.它是一种理想的选择。
多级互连网络的复杂度和带宽介于总线和交叉开关之间,是一种折中方案。
其主要优点是采用模块化结构,可扩展性较好。
不过,其时延随网络级数的增加而上升。
另外,由于其硬件复杂度比总线高很多.其成本也不低。
第8章多处理机8.1解释以下术语集中式共享多处理机:
也称为对称式共享存储器多处理SMP。
它一般由几十个处理器构成,各处理器共享一个集中式的物理存储器,这个主存相对于各处理器的关系是对称的,多Cache-致性:
多处理机中,当共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储器块的副本,要保证多个副本数据是一致的。
监听协议:
每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。
Cache通常连在共享存储器的总线上,各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。
8.3什么是多处理机的一致性?
给出解决一致性的监听协议和目录协议的工作原理。
答:
(1)对多个处理器维护一致性的协议称为Cache-致性协议。
(2)目录协议的工作原理:
采用一个集中的数据结构——目录。
对于存储器中的每一个可以调入Cache的数据块,在目录中设置一条目录项,用于记录该块的状态以及哪些Cache中有副本等相关信息。
目录协议根据该项目中的信息以及当前要进行的访问操作.依次对相应的Cache发送控制消息,并完成对目录项信息的修改。
此外,还要向请求处理器发送响应信息。
(3)监听协议的工作原理:
每个Cache除了包含物理存储器中块的数据拷贝之外,也保存着各个块的共享状态信息。
Cache通常连在共享存储器的总线上,当某个Cache需要访问存储器时,它会把请求放到总线上广播出去.其他各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。
如果有.就进行相应的操作。
第9章机群9.1解释下列术语机群:
是一种价格低廉、易于构建、可扩放性极强的并行计算机系统。
它由多台同构或异构的独立计算机通过高性能网络或局域网互连在一起,协同完成特定的并行计算任务。
从用户的角度来看.机群就是一个单一、集中的计算资源。
9.2机群系统有什么特点?
答:
(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 课后 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)