执行指令时,将每一节指令都分解为取指、分析和执行三步。已知取指时间t取指=5△t,分析时间t分析= 2△t,执行时间t执行= 3△t如果按照[执行]k,[分析]k+1,[取指]k+2重叠的流水线方式执行指令,从头到尾执行完500条指令需( )△t

执行指令时,将每一节指令都分解为取指、分析和执行三步。已知取指时间t取指=5△t,分析时间t分析= 2△t,执行时间t执行= 3△t如果按照[执行]k,[分析]k+1,[取指]k+2重叠的流水线方式执行指令,从头到尾执行完500条指令需( )△t。



请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:计算机网络概论-计算机体系结构的发展

位于章节1.2.1,第3小点指令系统。大概第16页。

---

指令控制方式,书上说了三种,顺序方式、重叠方式、流水方式。

其中流水方式,就是把并行性、或者并发性嵌入到计算机系统。根据书上那个流水处理的时空图,我们可以知道,执行完一个指令,需要的是最长的那一个操作,所以本题最长的5△t。

第一遍是肯定要执行完的(本章节的第四小点的流水建立时间),执行时间是5+2+3,后来的只需要最长的5就可以了,也后面499个执行时间就是499*5,把第一遍时间加上后499的执行时间,结果是2505△t 。

流水线式的总时间 = 流水线建立时间+(一个之后的所有指令)x指令周期。指令周期要求的取时间最长的那一个单独的时间,本题也就是5△t。第一个指令在执行时也是用来建立流水线的。为什么要最长那一个?因为并行啊,两个短的可能都完了还在等最长那一个。那岂不是有可能执行在前?还没取出指令你怎么执行的?那有没有可能多个指令同时来走这三步呢?


请先 登录 后评论
  • 1 关注
  • 0 收藏,753 浏览
  • 亚里士德 提出于 2021-08-11 04:45