计算机体系结构复习题.docx

上传人:b****1 文档编号:1841816 上传时间:2022-10-24 格式:DOCX 页数:13 大小:33.59KB
下载 相关 举报
计算机体系结构复习题.docx_第1页
第1页 / 共13页
计算机体系结构复习题.docx_第2页
第2页 / 共13页
计算机体系结构复习题.docx_第3页
第3页 / 共13页
计算机体系结构复习题.docx_第4页
第4页 / 共13页
计算机体系结构复习题.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机体系结构复习题.docx

《计算机体系结构复习题.docx》由会员分享,可在线阅读,更多相关《计算机体系结构复习题.docx(13页珍藏版)》请在冰豆网上搜索。

计算机体系结构复习题.docx

计算机体系结构复习题

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

解由题可知:

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

根据Amdahl定律可知:

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

1.8计算机系统中有三个部件可以改进,这三个部件的部件加速比为:

部件加速比1=30;部件加速比2=20;部件加速比3=10

(1)如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?

(2)如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?

解:

(1)在多个部件可改进情况下,Amdahl定理的扩展:

已知S1=30,S2=20,S3=10,Sn=10,F1=0.3,F2=0.3,得:

得F3=0.36,即部件3的可改进比例为36%。

(2)设系统改进前的执行时间为T,则3个部件改进前的执行时间为:

(0.3+0.3+0.2)T=0.8T,不可改进部分的执行时间为0.2T。

已知3个部件改进后的加速比分别为S1=30,S2=20,S3=10,因此3个部件改进后的执行时间为:

改进后整个系统的执行时间为:

Tn=0.045T+0.2T=0.245T

那么系统中不可改进部分的执行时间在总执行时间中占的比例是:

3.4设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的时间分别为△t、△t和2△t。

分别求出下列各种情况下,连续执行N条指令所需的时间。

(1)顺序执行方式;

(2)只有“取指令”与“执行指令”重叠;

(3)“取指令”、“分析指令”与“执行指令”重叠。

解:

(1)每条指令的执行时间为:

△t+△t+2△t=4△t

连续执行N条指令所需的时间为:

4N△t

(2)连续执行N条指令所需的时间为:

4△t+3(N-1)△t=(3N+1)△t

(3)连续执行N条指令所需的时间为:

4△t+2(N-1)△t=(2N+2)△t

4.2简述Tomasulo算法的基本思想。

答:

核心思想是:

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

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

基本思想:

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

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

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

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

☐Consideraprogramwiththegivencharacteristics

⏹Instructioncount(I-Count)=106instructions

⏹30%ofinstructionsareloadsandstores

⏹D-cachemissrateis5%andI-cachemissrateis1%

⏹Misspenaltyis100clockcyclesforinstructionanddatacaches

⏹Computecombinedmissesperinstructionandmemorystallcycles

☐CombinedmissesperinstructioninI-CacheandD-Cache

⏹1%+30%5%=0.025combinedmissesperinstruction

⏹Equalto25missesper1000instructions

☐Memorystallcycles

⏹0.025100(misspenalty)=2.5stallcyclesperinstruction

⏹Totalmemorystallcycles=1062.5=2,500,000

CPIwithMemoryStalls

☐AprocessorhasCPIof1.5withoutanymemorystalls

⏹Cachemissrateis2%forinstructionand5%fordata

⏹20%ofinstructionsareloadsandstores

⏹Cachemisspenaltyis100clockcyclesforI-cacheandD-cache

☐WhatistheimpactontheCPI?

☐Answer:

MemStallsperInstruction=0.02×100+0.2×0.05×100=3

CPIMemoryStalls=1.5+3=4.5cyclesperinstruction

CPIMemoryStalls/CPIPerfectCache=4.5/1.5=3

Processoris3timesslowerduetomemorystallcycles

CPINoCache=1.5+(1+0.2)×100=121.5(alotworse)

3.13有一个流水线由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

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=1+20%*(60%*2+40%*0)+5%*1=1.29

加速比S=CPI/1=1.29

4.4假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。

假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。

假设:

命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。

(1)求程序执行的CPI。

(2)相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快?

解:

(1)程序执行的CPI=没有分支的基本CPI

(1)+分支带来的额外开销

分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。

分支带来的额外开销=15%*(90%命中×10%预测错误×4+10%没命中×3)=0.099

所以,程序执行的CPI=1+0.099=1.099

(2)采用固定的2个时钟周期延迟的分支处理CPI=1+15%×2=1.3

(1)

(2)可知分支目标缓冲方法执行速度快。

4.9设指令流水线由取指令、分析指令和执行指令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,相对于标量流水处理机的加速比为:

 4、(10分)假定我们有一台计算机,如果所有的cache访问都命中的话,它的CPI是2.0。

唯一的数据访问指令是store和load,它们占指令总数的40%,不命中损失是25个时钟周期,不命中率是2%。

如果所有的指令访问cache都命中的话,那么机器的速度是存在cache不命中时的多少倍?

首先计算所有cache访问都命中时计算机的性能:

    CPU执行时间=(CPU时钟周期+内存停机周期)×时钟周期时长

             =(IC×CPI+0)×时钟周期时长

             =IC×2.0×时钟周期时长

    现在计算考虑cache不命中在内的真实计算机性能,我们先计算内存停机周期:

    内存停机周期=IC×每条指令访问内存的次数×不命中率×不命中损失

             =IC×(1+0.4)×0.02×25

             =IC×0.7

    其中(1+0.4)代表每条指令访问一次内存,而占指令总数40%的store和load访问两次内存,所以平均每条指令访问访问(1+0.4)次内存。

这样总的性能是:

    CPU执行时间=(IC×2.0+IC×0.7)×时钟周期时长

             =IC×2.7×时钟周期时长

    性能提高

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

当前位置:首页 > 自然科学 > 天文地理

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

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