指令执行

时间:2014-11-25 15:14:33

标签: assembly verilog computer-architecture

我正在读一本关于计算机体系结构介绍的书。 有一些文本段落写着:“RISC指令通常需要一个时钟周期”。然后它显示了以下Verilog片段作为插图:

always @(positiveclockedge clk )

begin

case ( state )
    STATE_FETCH:
        begin
          fetch;
          state = STATE_DECODE;
        end
    STATE_DECODE:
        begin
            decode;
            state = STATE_EXECUTE;
        end
    STATE_EXCUTE:
        begin
            execute;
            state = STATE_FETCH;
        end
endcase
end

根据Verilog片段,每条指令至少需要3个时钟周期(忽略任何存储器访问延迟),甚至是RISC处理器。所以有一个看似矛盾的地方。有人可以帮忙解决它吗?

1 个答案:

答案 0 :(得分:0)

  1. 你也可以google" risc architecture"。或
  2. 请参阅RISC DLX架构上的维基百科页面。或
  3. 参考hennesey和patterson的书,其中详细讨论了risc架构。
  4. 通常你有一个流水线的risc架构(fetch - decode - execute - write back)。指令在单个循环中执行。但是整个管道可能需要更多周期,具体取决于您要实施的架构。

    希望这有帮助。