课程链接:深入浅出计算机组成原理_组成原理_计算机基础-极客时间
一、Superscalar和VLIW
程序的 CPU 执行时间 = 指令数 × CPI × Clock Cycle Time
CPI 的倒数,又叫作 IPC(Instruction Per Clock),也就是一个时钟周期里面能够执行的指令数,代表了 CPU 的吞吐率。
(一)多发射和超标量
指令的执行阶段,是由很多个功能单元(FU)并行(Parallel)进行的。取指令(IF)和指令译码(ID)部分,也一样能通过增加硬件的方式,并行进行。
一次性从内存里面取出多条指令,然后分发给多个并行的指令译码器,进行译码,然后对应交给不同的功能单元去处理。这样,在一个时钟周期里,能够完成的指令就不只一条了。IPC 也就能做到大于 1 了。这种 CPU 设计,叫作多发射(Mulitple Issue)和超标量(Superscalar)
多发射就是同一个时间,可能会同时把多条指令发射(Issue)到不同的译码器或者后续处理的流水线中去。
超标量是说在一个时钟周期里面,只能执行一个标量(Scalar)的运算。多发射的情况下,能够超越这个限制,同时进行多次计算。