Pentium拥有两个数据路径(管线,pipelines),可以达到在一个时钟周期内完成一个以上的指令。一个管线(称为"U")可以处理任何的指令,而另外一个(称为"V")可以处理简单的整数及FXCH浮点数指令。使用一个以上的管线是传统RISC处理器设计的特色,这也是在许多x86平台上第一个实现出来的,显示有将两种技术合并的可能性,创造出几乎"混合在一起"的处理器。
如图所示: pentium处理器内部有两组取指、译码、地址生成部件、并且是两组L1 cache,均是8KB。它还有两个ALU,可以用来同时执行两条指令。但是它只有一组浮点运算部件,所以如果取到的两条指令都是浮点指令,就没有办法同时执行了。
超标量并不是超线程,超线程要求同一个核心有两套执行部件的同时,还有两套保存线程状态的寄存器。超标量是没有的,所以它不能同时执行两个线程上的两个指令,只能执行同一个线程上的两个指令。这两个指令不必是连续,可以是cpu硬件分析出来的一段代码中两个互相不依赖结果的任意指令。也就是说ABCD四条指令,要求CPU能够分析出C指令的执行不依赖AC的结果,所以C指令可以先于B指令在另一个ALU上计算也不影响程序的最终结果。这时就可以A,C两条指令同时执行。这个打乱指令执行顺序的过程叫做乱序执行。乱序执行一般要求有一个部件叫做ROB, reorder buffer,即一个分析指令可以如何乱序的缓冲区,但上图中并没有画,上图中的ROM控制部件我十分怀疑是画错了,也许就是ROB控制部件。