我正在读一本关于计算机体系结构介绍的书。 有一些文本段落写着:“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处理器。所以有一个看似矛盾的地方。有人可以帮忙解决它吗?
答案 0 :(得分:0)
通常你有一个流水线的risc架构(fetch - decode - execute - write back)。指令在单个循环中执行。但是整个管道可能需要更多周期,具体取决于您要实施的架构。
希望这有帮助。