AMD Bulldozer集群结构
下面是与用于PC的CPU多线程架构对比。图片中最上面是普通的多核架构,AMD通常称之为CMP(Chip Multi-Processor)。中间的是Bulldozer架构,AMD称之为基于集群的多线程,或者集群化架构。最下面的是SMT(Simultaneous Multithreading)架构,典型代表是Intel的Hyper-Threading。
这三种方法都是并列地执行两个线程。然而,这种情况下内核共享了两个线程的资源多少、各线程所占哪个分区都是有很大不同的。
多线程架构的比较(点击放大)
除去L2、L3缓存,HT(超线程)这样的两个线程的SMT(同步多线程)技术通过5%左右的微架构晶体管增加达到了30%左右的吞吐量提升;而理想的双核CMP架构则通过100%的微架构晶体管提升达到理论上100%的吞吐量提升;Bulldozer则看起来通过50%左右的晶体管数量提升达到了80%的吞吐量提升。增加的晶体管不仅仅用于额外的4个运算单元及配套的调度器、L1缓存,还要包含其他对应双线程处理的部件。