【问题标题】:simple pipelining and superscalar architecture简单的流水线和超标量架构
【发布时间】:2011-09-17 09:11:40
【问题描述】:

考虑一下这个指令流程图....

指令获取->指令解码->操作数获取->指令执行->写回

假设一个处理器支持

cisc 和 risc...类似于 intel 486

现在,如果我们发出一条 risc 指令,它需要一个时钟周期来执行,所以没有问题……但如果发出一条 cisc 指令,它的执行将需要时间……

因此,执行 cisc 指令需要三个时钟周期,每个执行前的阶段需要一个时钟周期....

现在在超标量结构中,在处理第一条指令时发出的两条指令被转移到其他可用的功能单元中......但是在简单的流水线中不可能进行这种转移,因为只有一个功能单元可用于执行指令。 ...

那么在简单流水线的情况下,如何避免指令拥塞呢?

【问题讨论】:

    标签: instructions instruction-set pipelining


    【解决方案1】:

    从技术上讲,x86 不是 RISC 处理器。这是一个CISC处理器。有些指令需要更少的时间,但那些不是 RISC 指令。我相信英特尔在内部将指令转换为 RISC 指令,但这并不重要。

    如果我们有需要不同时间的指令,那么它就变成了一个 CISC 处理器。流水线化 CISC 处理器几乎是不可能的——据我所知,没有人做过。为了加快执行速度,您可以在 CPU 内部执行许多操作,例如乱序执行。所以,你不可能有管道拥塞,因为所有指令都必须按顺序执行。

    现在,如果我们发出一条 risc 指令,它需要一个时钟周期来执行,所以没有问题……但如果发出一条 cisc 指令,它的执行将需要时间……

    一条 RISC 指令不一定需要一个时钟周期。在 MIPS 上,它需要 5。但是,流水线的要点是,在您执行一条指令后,下一条指令将在当前一条指令完成后一个时钟周期完成。

    现在在超标量结构中,在处理第一条指令时发出的两条指令被转移到其他可用的功能单元中......

    在超标量架构中,两条指令同时执行并完成。在纯超标量架构中,循环如下所示(F = Fetch,D = Decode,X = eXecute,M = Memory,W = Writeback):

    (inst. 1) F D X M W
    (inst. 2) F D X M W
    (inst. 3)          F D X M W
    (inst. 4)          F D X M W
    

    但是在简单的流水线中不可能有这样的转移,因为只有一个功能单元可用于执行指令....

    对,所以循环是这样的:

    (inst. 1) F D X M W
    (inst. 2)   F D X M W
    (inst. 3)     F D X M W
    (inst. 4)       F D X M W
    

    现在,如果我们有需要不同时间的指令(CISC 计算机),则流水线会更难,因为只有一个执行单元,我们可能必须等待前一条指令完成执行。指令 1 需要 2 个执行周期,指令 2 需要 5 个执行周期,指令 3 需要 2 个,指令 4 只需要 1 个

    (inst. 1) F D X X M W
    (inst. 2)         F D X X X X X M W
    (inst. 3)                       F D X X M W
    (inst. 4)                               F D X M W
    

    因此,我们不能真正流水线化 CISC 处理器 - 我们必须等待执行周期完成,然后才能进入下一条指令。我们不必在 MIPS 中这样做,因为它可以在解码阶段确定指令是否为分支和目标。

    【讨论】:

    • @ rm5248 在您关于超标量体系结构的示例中,指令 3 和 4 的 F 不应该刚好低于指令 1 和 2 的 D,这样流水线也会发生。?
    • @avinash 这取决于。我的例子只是超标量。您当然可以将超标量和流水线结合在一起。在这种情况下,指令 3 和指令 4 的 F 将低于。
    猜你喜欢
    • 2022-11-18
    • 2015-03-19
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 2021-12-28
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多