既然我们一直在讨论Sandy Bridge核心,那么不谈到其特色的整合GPU显然是不合适的,虽然对于服务器的应用来说多媒体性能的确是无足轻重。其实我们在文章最初就提到过,作为Tick-Tock时钟式的重要内容,其实从Westmere 32nm处理器开始,Intel就在处理器中整合了GPU,不过仅仅是将二者封装在一个Die上。因为45nm的GPU与32nm的CPU在制程上不一致,最重要的是关键的内存控制器被放在了45nm的GPU当中,造成了32nm Westmere性能并没有想象的那么出色。而在Tock中,Sandy Bridge的出现解决了这一问题,特别是将GPU整合在了环形总线之内,实现了二者真正的融合。
SandyBridge GPU有自己的电源岛和时钟域,也支持Turbo Boost技术,可以独立加速或降频,并共享三级缓存。显卡驱动会控制访问三级缓存的权限,甚至可以限制GPU使用多少缓存。将图形数据放在缓存里就不用绕道去遥远而“缓慢”的内存了,这对提升性能、降低功耗都大有裨益。
可编程着色硬件被称为EU,包含着色器、核心、执行单元等,可以从多个线程双发射时取指令。内部ISA映射和绝大多数DX10.1 API指令一一对应,架构很像CISC,结果就是有效扩大了EU的宽度,IPC也显著提升。抽象数学运算由EU内的硬件负责,性能得以同步提高。
英特尔此前的图形架构中,寄存器文件都是即时重新分配的。如果一个线程需要的寄存器较少,剩余寄存器就会分配给其他线程。这样虽能节省核心面积,但也会限制性能,很多时候线程可能会面临没有寄存器可用的尴尬。在芯片组集成时代,每个线程平均64个寄存器,Westmere HD Graphics提高到平均80个,SandyBridge则每个线程固定为120个。