假设一条指令的指令周期分为取指令.指令译码、执行指令三个子过程段,且这三个子过程延迟时间相等,即每个子过程延迟时间都为T。假设某程序共同 [tex=4.5x1.0]5DjCPC+zNRHNz68Q59XQug==[/tex] 条指令,请写出如下两种情况下 CPU执行该程序所需的时间,画出时空图。(1)指令顺序执行方式;(2指令流水执行方式。
(1)指令顺序执行方式如图所示。[img=887x88]17ad14a8323600a.png[/img]执行 n 条指令的总时间为: [tex=12.071x1.143]SIerTdmxcJGgfGYix+kR6cObzS5tdt5mksYkXO44qmk=[/tex](2)指令流水执行方式如图所示。 执行 n 条指令的总时间为:2T 时间延迟后, [tex=2.214x1.0]rfh834+o5n/IIyMpp2Kmyg==[/tex] 流水线中同时有 3 条指令在执行,故[tex=17.143x1.357]mVBMErISvdm+XZ3vyBJKJK1LF/4mUTdsB/ZNKaOhRbywmvLLNBPoI/CBRQgORCRT[/tex]其中 2T 是填满流水线的时间。[img=886x248]17ad14d20b1a093.png[/img][br][/br]
举一反三
- 如果一条指令的执行过程分为取指令、指令分析、指令执行三个子过程,且取指令、分析指令、执行指令三个过程段的时间都是 $\Delta t$, 分别求指令顺序执行、指令流水执行 两种方式执行 $n=2000$ 条指令所用的总时间。
- 【判断题】计算机的工作过程就是逐条执行程序的过程,每执行一条指令需要分为三个阶段:取指令、指令译码、执行指令
- 设有 [tex=2.643x1.357]EFgfAOEvHF6kMMblRY/XMQ==[/tex] 段指令流水线,它们是取指令、指令译码、指令执行、存回结果,分别用 [tex=5.214x1.214]evIDMHd2rXCZ/ykJwRXQllGGkVQpoIIZfnyM5ngGXRo=[/tex] 过程段表示,各段延迟时间均为 [tex=1.214x1.0]4cfNCdSbA+lsftQadz1O1g==[/tex]。 若连续输入 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex] 条指令,请画出指令流水线的时空图。
- 假设指令流水线分取指(IF)、译码(ID)、执行(EX)、回写(WR)四个过程段,共有10条指令连续输入此流水线。(1)画出指令周期流程。(2)画出非流水线时空图。(3)画出流水线时空图。(4)假设时钟周期为[tex=2.571x1.0]RZoUqN1+MCjeHiftHlrs/A==[/tex],求流水线的实际吞吐率(单位时间执行完毕的指令数)。(5)求该流水处理器的加速比。(6)求该流水线的效率。
- 设有 [tex=1.857x1.0]0OuagUks+M+g6a+1pKkINg==[/tex] 段指令流水线,各功能段分别为取指令、指令译码、指令执行和结果写回,分别用 [tex=3.786x1.214]evIDMHd2rXCZ/ykJwRXQlqdoX+wk1mOkMaHSiKNSj68=[/tex] 和 [tex=1.0x1.214]VlaXkNO7I0w+AwTlQkUDyA==[/tex] 表示,各段延迟时间均为 [tex=1.214x1.0]4cfNCdSbA+lsftQadz1O1g==[/tex] 。若连续输入 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex] 条指令,请画出指 令流水线的时空图。
内容
- 0
计算机中运行程序的三个步骤是按( )顺序执行的。? 译码、取指令、执行;|译码、执行、取指令|取指令、译码、执行|取指令、执行、译码; ;;
- 1
指令周期指的是一条指令执行的全部时间,包括取指令、指令译码和指令的执行。
- 2
通常可以将计算机系统中执行一条指令的过程分为取指令、分析和执行指令3部。若取指令时间为Δt,分析时间为Δt,执行时间为Δt。按照顺序执行方式从头到尾执行完100条指令所需要的时间为( ) Δt;若采用三级流水线方式执行指令,则从头到尾执行完100条指令所需要的时间为 ( )Δt。
- 3
假设指令流水线分为取指(IF) 、译码(ID)、执行 (EX) 、回写(WB)四个过程段,共有10条指令连续输入此流水线。 (1)画出指令周期流程图 (2)画出非流水线时空图 (3)画出流水线时空图 (2)假设时钟周期为100ns,求流水线的实际吞吐率(单位时间里执行完毕的指令条数)
- 4
计算机中运行程序的三个步骤是按( )顺序执行的。 A: 取指令、执行、译码 B: 译码、执行、取指令 C: 译码、取指令、执行 D: 取指令、译码、执行