Parallel processing 执行以下循环需要多少个周期?

Parallel processing 执行以下循环需要多少个周期?,parallel-processing,cpu,computer-science,pipeline,computer-architecture,Parallel Processing,Cpu,Computer Science,Pipeline,Computer Architecture,考虑一个4级管道处理器。所需的循环数 阶段S1、S2、S3、S4中的四条指令I1、I2、I3、I4如下所示: 执行以下循环需要多少个周期 选项包括: 十六, 二十三 二十八 三十 我的解释: 我错在哪里?当使用以下时间线时,我得到了23个周期: 答案应该是23个周期。。。 从时间线10开始,你就错了 为什么在S3阶段,第一次迭代时intn 4使用1个时钟周期,第二次迭代时使用2个时钟周期?@m.s:这个问题的答案已经完成。有没有一种通用的方法来确定给定指令集所需的周期数?@displayN

考虑一个4级管道处理器。所需的循环数 阶段S1、S2、S3、S4中的四条指令I1、I2、I3、I4如下所示:

执行以下循环需要多少个周期

选项包括:

  • 十六,

  • 二十三

  • 二十八

  • 三十


  • 我的解释:



    我错在哪里?

    当使用以下时间线时,我得到了23个周期:


    答案应该是23个周期。。。 从时间线10开始,你就错了

    为什么在S3阶段,第一次迭代时intn 4使用1个时钟周期,第二次迭代时使用2个时钟周期?@m.s:这个问题的答案已经完成。有没有一种通用的方法来确定给定指令集所需的周期数?@displayName我想你需要某种“模拟器”来确定一组指令的周期数;这可以是上面使用的一个简单的电子表格,也可以是一个完整的处理器模拟器。@m.s:我的想法是,如果我们有办法不仅证明23个周期是您获得的最佳时间,而且还证明它不能比这做得更好,那将是锦上添花。@displayName这不是我的专业领域,但如果我要证明这样的东西,我会首先尝试将处理器建模为petri网或有限状态机;你可以在我投票结束时问这个问题,因为它与编程无关。
        S1    S2    S3    S4
    I1  2     1     1     1
    I2  1     3     2     2
    I3  2     1     1     3
    I4  1     2     2     2 
    
    For (i=1 to 2) {I1; I2; I3; I4;}