处理器多核结构

采用处理器多核原因:

单核处理器的指令并行和数据并行已经很难再上一个台阶了,而提高频率又会导致处理器功耗非线性增加,唯一剩下的路径,就是增加核的数目了。核越多,就能有更多的线程并行执行,也能提高程序的效率。

常见的多核组织结构:

p表示内核, c表示内核拥有的cache,s表示Switch,用于核间的通信。线条表示通信路径。

1. Bus结构

Bus结构是比较简单的核间通信方式,内核挂在通信总线上,实现简单,缺点是每两个内核通信都要占用总线,导致其他的核不能通信,通信效率极低。

2. Switch结构

Switch结构是通信效率最高的结构,每个内核两两相连,在1和2通信的同时,3和4也可以同时通信。如果核少还好,如果核太多,这种连接方式需要耗费大量的互联资源,通常4个核左右的处理器采用这种方式。 

3. Ring结构

Ring结构是介于Bus和Switch之间的一种结构,1和3通信需要经过2,越近的两个核通信效率越高,通信连线并不复杂,实现成本也低。通常8个核左右采用这种方式,Intel的很多处理器采用这种结构。 

4. Mesh结构 

 Mesh结构适用于核数非常多的情况,类似于二维的Ring结构。当核数太多时,使用Switch结构会导致连线异常复杂,N个内核两两通信,需要N x N量级数的连线,而Mesh是很好的选择。Mesh结构简单,易于扩展,通信效率也高。众核处理器(core很多时,多核就变成众核)首选这种方式,如Tilera的64核/100核处理器

你可能感兴趣的:(硬件架构)