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

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

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

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

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

(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

S4

第2个任务

stall

第3个任务

第4个任务

(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

0.7

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

这样总的性能是:

CPU执行时间=(IC×

2.0+IC×

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

当前位置:首页 > 小学教育 > 小学作文

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

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