这张图连接了几个并行计算的思想。
从上往下。
1.两个fetch/decode部件,是superscalar技术,每个cycle可以发射多个指令。
2.多个执行单元,支持乱序执行,是ILP,指令级并行。
3.每个执行单元里还支持SIMD操作。
4.有多个execution context,就相当于是有多套线程的状态,类似寄存器、堆栈。这样可以在一个核里跑多个线程。这样做的目的是为了更加充分的使用一个核里的ALU,指令级并行后还存在的stall,通过让另一个线程进入,让另一个线程的指令来填满空闲的ALU,是一种复用的思想。这是Simultaneous Multi-Threading技术。
5.缓存
说到存储,两个衡量的指标是Memory latency和Memory bandwidth。
Memory latency就是每次内存访问需要花费的延迟,包括了查缓存、内存访问、数据传输的时间。这个时间可以通过一些技术来减少,例如缓存、预取等技术。
Memory bandwidth就是处理器和存储设备之间传输的最大速率。
6.多核技术,这张图里展示了4个核。多核技术是2004年之后,大家发现不能再在一个芯片上放更多的二极管来提高主频速度了,因为单位面积的芯片放太多二极管的话高功率带来的热量会让芯片融化。所以大家开始探索多核技术。