一个内核可以一次执行多个比较/添加操作吗?

时间:2019-01-26 15:36:23

标签: x86 cpu-architecture

我想知道一个CPU内核是否可以进行多个x86比较并同时并行添加操作。

所以,如果我写了类似的东西

Compare X y
Compare y z
Add X y
Add q p

比较会同时运行吗?添加会同时运行吗?

1 个答案:

答案 0 :(得分:4)

是的,只要CPU有2个空闲的比较器/ 2加法器,数据就彼此独立,并且指令分配器可以同时传送给两个单元。 superscalar CPUs就是这样工作的。 P5 Pentium的所有x86 CPU以及所有现代CPU都是超标量。

这是即使时钟周期和内核数量仍然相同,新的微体系结构也比旧的微体系结构运行速度更快的原因之一,因为它们可以具有更多的执行单元,更大的单元,更大的缓存,同时运行更多指令以及其他许多改进。例如

  

当前的x86处理器每个时钟周期可以传送3条指令。但是,Conroe在架构上可以同时获取,调度,执行和淘汰多达四条完整的指令,比奔腾4 CPU提升了33%

     

https://hexus.net/tech/tech-explained/cpu/17976-intel-core-2-duo-conroe/

由于使用了微操作和宏融合,很难定义一个清晰的值。但是,为了进行一些粗略的比较,请Sandy Bridge is able to achieve 6 micro-ops per cycle。例如对于包含两个add指令和内存源,一个乘法和一个宏融合的dec-and-branch的循环,它可以维持每个时钟吞吐量1次迭代。

另请参见