• 2022-06-17
    假设一条指令的指令周期分为取指令.指令译码、执行指令三个子过程段,且这三个子过程延迟时间相等,即每个子过程延迟时间都为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]

    举一反三

    内容

    • 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: 取指令、译码、执行