计算机系统结构重点不完全总结.docx

上传人:b****7 文档编号:10612212 上传时间:2023-02-21 格式:DOCX 页数:17 大小:202.74KB
下载 相关 举报
计算机系统结构重点不完全总结.docx_第1页
第1页 / 共17页
计算机系统结构重点不完全总结.docx_第2页
第2页 / 共17页
计算机系统结构重点不完全总结.docx_第3页
第3页 / 共17页
计算机系统结构重点不完全总结.docx_第4页
第4页 / 共17页
计算机系统结构重点不完全总结.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

计算机系统结构重点不完全总结.docx

《计算机系统结构重点不完全总结.docx》由会员分享,可在线阅读,更多相关《计算机系统结构重点不完全总结.docx(17页珍藏版)》请在冰豆网上搜索。

计算机系统结构重点不完全总结.docx

计算机系统结构重点不完全总结

计算机系统结构重点不完全总结

名词解释:

系统加速比:

对系统中某部分进行改进时,改进后系统性能提高的倍数。

Amdahl定律:

当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理:

程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。

包括时间局部性和空间局部性。

模拟:

用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。

仿真:

用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。

流水线:

将一个重复的时序过程,分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。

线性流水线:

指各段串行连接、没有反馈回路的流水线。

数据通过流水线中的各段时,每一个段最多只流过一次。

结构冲突:

因硬件资源满足不了指令重叠执行的要求而发生的冲突。

数据冲突:

当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。

控制冲突:

流水线遇到分支指令或其它会改变PC值的指令所引起的冲突。

链接技术:

具有先写后读相关的两条指令,在不出现功能部件冲突和Vi冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。

指令级并行:

简称ILP。

是指指令之间存在的一种并行性,利用它,计算机可以并行执行两条或两条以上的指令。

指令调度:

通过在编译时让编译器重新组织指令顺序或通过硬件在执行时调整指令顺序来消除冲突。

指令的动态调度:

是指在保持数据流和异常行为的情况下,通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。

是由硬件在程序实际运行时实施的。

指令的静态调度:

是指依靠编译器对代码进行静态调度,以减少相关和冲突。

它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。

前瞻执行:

解决控制相关的方法,它对分支指令的结果进行猜测,然后按这个猜测结果继续取指、流出和执行后续的指令。

只是指令执行的结果不是写回到寄存器或存储器,而是放到一个称为ROB的缓冲器中。

等到相应的指令得到“确认”(即确实是应该执行的)后,才将结果写入寄存器或存储器。

超标量:

一种多指令流出技术。

它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。

超流水:

在一个时钟周期内分时流出多条指令。

循环展开:

是一种增加指令间并行性最简单和最常用的方法。

它将循环展开若干遍后,通过重命名和指令调度来开发更多的并行性。

多级存储层次:

采用不同的技术实现的存储器,处在离CPU不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。

目标是达到离CPU最近的存储器的速度,最远的存储器的容量。

组相联映象:

主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成若干组,每组由若干块构成)。

写直达法:

在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。

写回法:

只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。

TLB:

一个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本。

网络直径:

指互连网络中任意两个结点之间距离的最大值。

结点度:

指互连网络中结点所连接的边数(通道数)。

等分带宽:

把由N个结点构成的网络切成结点数相同(N/2)的两半,在各种切法中,沿切口边数的最小值。

对称网络:

从任意结点来看,网络的结构都是相同的。

多Cache一致性:

多处理机中,当共享数据进入Cache,就可能出现多个处理器的Cache中都有同一存储器块的副本,要保证多个副本数据是一致的。

简答题:

1、试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。

答:

计算机系统结构:

传统机器程序员所看到的计算机属性,即概念性结构与功能特性。

计算机组成:

计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现:

计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

计算机组成是计算机系统结构的逻辑实现。

计算机实现是计算机组成的物理实现。

一种体系结构可以有多种组成。

一种组成可以有多种实现。

如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。

确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。

选择存储芯片类型、微组装技术、线路设计等属于计算机实现。

2、提高计算机系统并行性的3种技术途径分别是?

答:

并行性:

计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。

只要在时间上相互重叠,就存在并行性。

它包括同时性与并发性两种含义。

时间重叠:

使多个处理过程在时间上相互错开,交叉轮流地使用同一套硬件设备的各个部分,提高硬件利用率,缩短执行时间,例如,指令流水线处理机。

资源重复:

在并行性概念中引入空间因素,以数量取胜。

通过重复设置硬件资源,大幅度地提高计算机系统的性能。

例如,阵列处理机。

资源共享:

这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。

3、简述先行控制的基本思想。

答:

先行控制技术是把缓冲技术和预处理技术相结合。

缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。

预处理技术是指预取指令、对指令进行加工以及预取操作数等。

采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析部件、运算器三者之间的工作。

这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数,大幅度地提高指令的执行速度和部件的效率。

这些缓冲站都按先进先出的方式工作,而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。

采用先行控制技术可以实现多条指令的重叠解释执行。

4、简述三种向量处理方式,它们对向量处理机的结构要求有何不同?

(1)横向处理方式:

若向量长度为N,则水平处理方式相当于执行N次循环。

若使用流水线,在每次循环中可能出现数据相关和功能转换,不适合对向量进行流水处理。

(2)纵向处理方式:

将整个向量按相同的运算处理完毕之后,再去执行其他运算。

适合对向量进行流水处理,向量运算指令的源/目向量都放在存储器内,使得流水线运算部件的输入、输出端直接与存储器相联,构成M-M型的运算流水线。

(3)纵横处理方式:

把长度为N的向量分为若干组,每组长度为n,组内按纵向方式处理,依次处理各组,组数为「N/n」,适合流水处理。

可设长度为n的向量寄存器,使每组向量运算的源/目向量都在向量寄存器中,流水线的运算部件输入、输出端与向量寄存器相联,构成R-R型运算流水线。

5、简述Tomasulo算法的基本思想。

答:

核心思想是:

①记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减小到最少;②通过寄存器换名来消除WAR冲突和WAW冲突。

寄存器换名是通过保留站来实现,它保存等待流出和正在流出指令所需要的操作数。

基本思想:

只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。

指令的执行结果也是直接送到等待数据的其它保留站中去。

因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。

一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号)。

计算题

1、某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:

指令类型

指令执行数量

平均时钟周期数

整数

45000

1

数据传送

75000

2

浮点

8000

4

分支

1500

2

求该计算机的有效CPI、MIPS和程序执行时间。

解:

(1)CPI=(45000×1+75000×2+8000×4+1500×2)/129500=1.776

(或

(2)MIPS速率=f/CPI=400/1.776=225.225MIPS(或

MIPS)

(3)程序执行时间=(45000×1+75000×2+8000×4+1500×2)/400=575μs

2、将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?

解:

由题可知:

可改进比例=40%=0.4部件加速比=10

根据Amdahl定律可知:

采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。

3、假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。

具体数据如下表所示:

操作类型

程序中的数量

(百万条指令)

改进前的执行时间

(周期)

改进后的执行时间

(周期)

操作1

10

2

1

操作2

30

20

15

操作3

35

10

3

操作4

15

4

1

(1)改进后,各类操作的加速比分别是多少?

(2)各类操作单独改进后,程序获得的加速比分别是多少?

(3)4类操作均改进后,整个程序的加速比是多少?

解:

根据Amdahl定律

可得

操作类型

各类操作的指令条数在程序中所占的比例Fi

各类操作的加速比Si

各类操作单独改进后,程序获得的加速比

操作1

11.1%

2

1.06

操作2

33.3%

1.33

1.09

操作3

38.9%

3.33

1.37

操作4

16.7%

4

1.14

4类操作均改进后,整个程序的加速比:

4、有一指令流水线如下所示

(1)求连续输入10条指令,该流水线的实际吞吐率和效率;

(2)该流水线的“瓶颈”在哪一段?

请采取两种不同的措施消除此“瓶颈”。

对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少?

解:

(1)

(2)瓶颈在3、4段。

⏹变成八级流水线(细分)

⏹重复设置部件

1

2

3-1

3-2

4-1

4-2

4-3

4-4

5、有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。

如果每段经过一次所需要的时间都是

,问:

(1)当在流水线的输入端连续地每

时间输入任务时,该流水线会发生什么情况?

(2)此流水线的最大吞吐率为多少?

如果每

输入一个任务,连续处理10个任务时的实际吞吐率和效率是多少?

(3)当每段时间不变时,如何提高该流水线的吞吐率?

仍连续处理10个任务时,其吞吐率提高多少?

解:

(1)会发生流水线阻塞情况。

第1个任务

S1

S2

S3

S3

S4

第2个任务

S1

S2

stall

S3

S3

S4

第3个任务

S1

stall

S2

stall

S3

S3

S4

第4个任务

S1

stall

S2

stall

S3

S3

S4

(2)

(3)重复设置部件

吞吐率提高倍数=

=1.64

6、有一条静态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段的时间为2△t,其余各段的时间均为△t,而且流水线的输出可以直接返回输入端或

暂存于相应的流水寄存器中。

现要在该流水线上计算,画出其时空图,并计算其吞吐率、加速比和效率。

解:

首先,应选择适合于流水线工作的算法。

对于本题,应先计算A1+B1、A2+B2、A3+B3和A4+B4;再计算(A1+B1)×(A2+B2)和(A3+B3)×(A4+B4);然后求总的结果。

其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。

 

由图可见,它在18个△t时间中,给出了7个结果。

所以吞吐率为:

如果不用流水线,由于一次求积需3△t,一次求和需5△t,则产生上述7个结果共需(4×5+3×3)△t=29△t。

所以加速比为:

该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得:

 

7、动态多功能流水线由6个功能段组成,如下图:

其中,S1、S4、S5、S6组成乘法流水线,S1、S2、S3、S6组成加法流水线,各个功能段时间均为50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:

(1)画出时空图;

(2)计算实际的吞吐率、加速比和效率。

解:

机器一共要做10次乘法,4次加法。

8、设指令流水线由取指令、分析指令和执行指令3个部件构成,每个部件经过的时间为△t,连续流入12条指令。

分别画出标量流水处理机以及ILP均为4的超标量处理机、、超流水处理机的时空图,并分别计算它们相对于标量流水处理机的加速比。

解:

标量流水处理机的时空图:

执行完12条指令需T1=14△t。

超标量流水处理机的时空图:

超标量流水处理机中,每一个时钟周期同时启动4条指令。

执行完12条指令需T2=5△t,相对于标量流水处理机的加速比为:

超长指令字处理机中,每4条指令组成一条长指令,共形成3条长指令。

执行完12条指令需T3=5△t,相对于标量流水处理机的加速比为:

超流水处理机的时空图:

超流水处理机中,每1/4个时钟周期启动一条指令。

执行完12条指令需T4=5.75△t,相对于标量流水处理机的加速比为:

9、假设对指令Cache的访问占全部访问的75%;而对数据Cache的访问占全部访问的25%。

Cache的命中时间为1个时钟周期,失效开销为50个时钟周期,在混合Cache中一次load或store操作访问Cache的命中时间都要增加一个时钟周期,32KB的指令Cache的失效率为0.39%,32KB的数据Cache的失效率为4.82%,64KB的混合Cache的失效率为1.35%。

又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。

试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种Cache的失效率更低?

两种情况下平均访存时间各是多少?

解:

(1)根据题意,约75%的访存为取指令。

因此,分离Cache的总体失效率为:

(75%×0.15%)+(25%×3.77%)=1.055%;

容量为128KB的混合Cache的失效率略低一些,只有0.95%。

(2)平均访存时间公式可以分为指令访问和数据访问两部分:

平均访存时间=指令所占的百分比×(读命中时间+读失效率×失效开销)+数据所占的百分比×(数据命中时间+数据失效率×失效开销)

所以,两种结构的平均访存时间分别为:

分离Cache的平均访存时间=75%×(1+0.15%×50)+25%×(1+3.77%×50)

=(75%×1.075)+(25%×2.885)=1.5275

混合Cache的平均访存时间=75%×(1+0.95%×50)+25%×(1+1+0.95%×50)

=(75%×1.475)+(25%×2.475)=1.725

因此,尽管分离Cache的实际失效率比混合Cache的高,但其平均访存时间反而较低。

分离Cache提供了两个端口,消除了结构相关。

10、给定以下的假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。

由计算结果能得出什么结论?

(1)理想Cache情况下的CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次;

(2)两者Cache容量均为64KB,块大小都是32字节;

(3)组相联Cache中的多路选择器使CPU的时钟周期增加了10%;

(4)这两种Cache的失效开销都是80ns;

(5)命中时间为1个时钟周期;

(6)64KB直接映象Cache的失效率为1.4%,64KB两路组相联Cache的失效率为1.0%。

解:

平均访问时间=命中时间+失效率×失效开销

平均访问时间1-路=2.0+1.4%*80=3.12ns

平均访问时间2-路=2.0*(1+10%)+1.0%*80=3.0ns

两路组相联的平均访问时间比较低

CPUtime=(CPU执行+存储等待周期)*时钟周期

CPUtime=IC(CPI执行+总失效次数/指令总数*失效开销)*时钟周期

=IC((CPI执行*时钟周期)+(每条指令的访存次数*失效率*失效开销*时钟周期))

CPUtime1-way=IC(2.0*2+1.2*0.014*80)=5.344IC

CPUtime2-way=IC(2.2*2+1.2*0.01*80)=5.36IC

相对性能比:

5.36/5.344=1.003

直接映象cache的访问速度比两路组相联cache要快1.04倍,而两路组相联Cache的平均性能比直接映象cache要高1.003倍。

因此这里选择两路组相联。

课本相关重点:

P66、P67(时空图、加速比、吞吐率、效率)

P116(Tomasulo算法基本思想)

P136(基于静态调度的多流出技术)

P168、P172(平均访存时间、CPU时间)

P271(加速比)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1