2015-01-21 51 views
0

Intel x86_64处理器不仅是流水线架构,还是超标量处理器?Intel x86_64处理器不仅是流水线架构,还是超标量处理器?

  1. 流水线 - 这两个序列并行执行(相同的流水线单元的不同阶段中的相同的时钟,例如用4个阶段ADD):

    • 的stage1 - >的stage2 - > stage3开始 - > STAGE4 - >没什么
    • 什么 - >阶段1 - >阶段2 - > stage3开始 - > STAGE4
  2. 超标量 - 这两个序列并行执行(两条指令可以启动到不同的流水线单元在相同的时钟,例如ADD和MUL):

    • ADD(stage1的) - > ADD(stage2的) - > ADD(stage3的)
    • MUL(stage1的) - > MUL(stage2的) - > MUL(stage3的)
+0

请参阅http://en.wikipedia.org/wiki/Comparison_of_CPU_microarchitectures – Michael 2015-01-21 10:32:37

+1

这与编程有何关系?无论如何,它可以很容易地在[“superscalar”](http://en.wikipedia.org/wiki/Superscalar)的第一个结果中找到:“P5 Pentium是第一个超标量x86处理器” – 2015-01-21 11:11:42

+0

@LưuVĩnhPhúcOptimization of超标量的性能有其自己的代码风格。是的,我发现现代CPU Intel Core有4个指令解码器:http://en.wikipedia.org/wiki/Intel_Core_(microarchitecture)#mediaviewer/File:Intel_Core2_arch.svg – Alex 2015-01-21 11:27:47

回答

5

是的,当代的Intel处理器都流水线超标

执行单条指令需要很多纳秒。这包括从指令存储器获取指令,解码指令,获取操作数,执行任何计算,从存储器获取数据以及写入结果。对于基本的性能来说,将它们分成几个小步骤是非常重要的,并允许多条指令同时处于“在线”状态。同样,处理器流水线消耗大量资源(面积,功耗,设计复杂度等)。将1宽处理器变成2宽超标量处理器相对而言非常便宜。性能改进大于成本(尽管一旦拥有4个宽度的处理器,您将看到收益递减范围扩大,成本也会呈指数增长)。因此,你可以期望任何现代处理器(除了绝对最小的小处理器)都是超标量处理器。经验法则 - 如果它连接到内存层次结构,它将是超标量。这是因为内存层次结构消耗了太多的功率和能量,所以需要使用超标量处理器来保持它的繁忙。

+0

谢谢!“*(尽管一旦你有一个4宽的处理器,你将看到收益递减越来越大,成本也成倍增长)*” -​​ 你的意思是指令重组的成本增加(需要更多的时间来确定指令的独立性同时执行)?或者你的意思是源代码的复杂性越来越高(需要更独特的源代码来独立执行指令 - 例如重写算法'prefix_sum()'/'scan()'/'inclusive_scan()'的源代码以同时执行并行执行)? – Alex 2015-06-14 11:20:31

+0

处理器的面积和能量方面的成本。虽然是的,但也是设计的复杂性,这意味着实施和验证更可能产生错误的更复杂设计的成本会上升。 – Chris 2015-06-15 08:15:47

+0

不仅所有主要的x86处理器都是超标量的,它们也是乱序执行。 (Atom是2阶超标量程序,但新的Silvermont是OOO,我忘记了AMD的低功耗美洲豹/捷豹。) – 2015-12-28 06:55:11

3

是的,这是。 一些google搜索后,我发现this

+0

你的答案是*是*,但你链接到一个相当广泛的文件。你能再详细一点吗?我明白,这个问题不是很吸引人写的。 – 2015-06-13 21:31:03

+1

@ user2657676谢谢!好文章! – Alex 2015-06-14 11:13:38