计算机实现并行、并发采用了多种技术,从单核到多核,从单线程到多线程,从以前一个指令需要多个 clock cycle 才能执行完毕到现在一个 clock cycle 可以完成多个指令。
通常来说,一个指令从开始到结束,所消耗的时间通常是多个 clock cycle,例如 20 个 clock cycle,但是 CPU 通过 pipelining 等技术,让 CPU 在一个 clock cycle 周期内就让多个指令进入完成状态。
维基百科有一句话:处理器的内核中一般有多个执行单元(或称功能单元),如算术逻辑单元、位移单元、乘法器等等。未实现超标量体系结构时,CPU 在每个时钟周期仅执行单条指令,因此仅有一个执行单元在工作,其它执行单元空闲。超标量体系结构的 CPU 在一个时钟周期可以同时分派(dispatching)多条指令在不同的执行单元中被执行,这就实现了指令级的并行。
从更微观的层面上看,处理器实现并行还有一个方法,叫 single-instruction, multiple-data parallelism,SIMD,单指令流多数据流。