服务器 频道

AMD亮剑六核伊斯坦布尔 浅析新皓龙特性

浅析AMD伊斯坦布尔的主要技术

    距离发布“上海”只有半年时间,AMD飞快的发布了“伊斯坦布尔”,不但增加了两个核心、升级了集成内存控制器(IMC),而且首批频率就达到了2.6GHz,更令人印象深刻的是功耗只比2.7GHz的上海略微高出几瓦。AMD如吃了兴奋剂般的突飞猛进的革新着皓龙的技术,令人惊讶的34%性能的提升,竟然是在不提升功耗的基础上完成的。而与原有皓龙保持一致平台“Fiorano”的做法,就显得平易近人,更为客户着想了。

伊斯坦布尔 实物图

    相比“上海”,“伊斯坦布尔”主要有五个方面的技术改进,其中增加了两个内核,自然是不用多提。不过,“伊斯坦布尔”的工程师反复强调,光是增加内核并不能带来性能的飞快提升,甚至会带来更多的功耗。那么其他四项技术就显得重要的多了。

六核心伊斯坦布尔 晶圆

       首先是探测过滤器“HT Assist”,相比是四核心“上海”,下图中的CPU 3可能需要CPU 1才有权访问的缓存行(cacheline),但事实上最近的数据在CPU 2的二级缓存里,这时候流程如下:

    1、CPU 3向CPU 1请求数据(蓝色实心箭头)

    2、CPU 1发出广播,看其它CPU核心谁有所需数据、谁的距离最近(三个红色实心箭头)

    3、CPU 3等待问题解决(四个红色空心箭头)

    4、请求数据从CPU 2传输给CPU 3(两个蓝色空心箭头)

    这种广播式处理方法有两个严重缺点:一是简单的请求就需要十次处理,浪费大量带宽;二是这十次处理给CPU 3上的指令增加了大量延迟。而解决方案就是基于目录的探测式系统,AMD叫作HT Assist。它在每颗处理器上保留1MB三级缓存作为一个目录,跟踪系统其它地方使用的缓存行。这样,虽然三级缓存只剩下了5MB,但省去了大量的探测传输。

    六核心伊斯坦布尔的设计如下。还是之前的问题,流程就变成了:

    1、CPU 3向CPU 1请求数据(蓝色实心箭头)

    2、CPU 1检查三级缓存目录缓存来定位所需数据(鲜红色粗箭头)

    3、直接向相关数据最近的CPU 2发送请求(深红色实心箭头)

    4、请求数据从CPU 2发送到CPU 3(两个蓝色空心箭头)

    处理次数从十次减少到了五次,可大大降低延迟、节省带宽。对于四路系统来说,内存带宽可以多出60%:没有HT Assist是25.5GB/s,有了就可以达到41.5GB/s。需要注意的是,HT Assist只对四路、八路系统有用,特别是后者,对双路系统就完全没用了,因为只有两颗处理器。再加上HT Assist还会占用三级缓存,所以在双路系统里应该禁用它,在BIOS里显示为“Probe Filter”。

   第二个技术是X8 ECC:

    内存条上的每一颗内存芯片都提供4-bit或8-bit位宽,分别叫作x4和x8,这样组成64-bit位宽就需要16颗x4芯片或8颗x8芯片,所以内存条上至少要有八颗芯片(单面或双面)。伊斯坦布尔的内存控制器现在支持x4和x8两种类型内存条的错误校验(ECC)了。

    第三项技术是远程电源管理界面“APML”:

    提供一个借助P-State电源状态限制来监视、控制平台功耗的界面,无需进入BIOS调教。对于大规模数据中心来说,逐台服务器进入BIOS调整电源管理参数是很恐怖的,APML就是个很方便的解决方法。服务器系统需要一颗处理器和BMC(管理处理器)来支持APML,软件方面也有一定要求。软硬件都还在研发中,所以伊斯坦布尔发布之初该功能暂不可用。

    最后一项技术是我们熟悉的HT升级版

    上海处理器的HT 3.0总线最高速度为2.2GHz DDR,每方向带宽8.8GB/s,伊斯坦布尔则提高到2.4GHz DDR,也就是9.6GB/s,和Nehalem Xeon低端版本的QPI总线带宽相同。该功能要等到AMD的Fiorano平台才能完全实现,现在搭配NVIDIA MCP55平台还是限制在2.2GHz DDR。
 

0
相关文章