推土机是美国
AMD公司彻底重新设计的
CPU架构,于2011年10月正式推出,面向高端
发烧级用户,拥有DDR3-1866MHz原生内存支持、XOP
指令集、
模块化设计等多项新特性,全面取代羿龙II系列
处理器。
架构简介
AMD于2011年10月正式推出全新处理器微架构“推土机”。
按照AMD的设计理念,
推土机架构要在多线程应用中提供性能、成本和功耗的平衡,并专注于高频率、资源共享,以实现在下一代应用环境中的最佳吞吐、最快速度。为达此目的,推土机采用了其它任何处理器都没有过的
模块化设计,整数核心、浮点核心按照2:1的比例组成一个个模块,每个模块既可以相当于传统的两个物理核心,又可协作运行。
从产品家族序列上看,推土机属于AMD Family 15h。这是K8架构之后开始使用的新型序列。在此之前,Family 10h、11h、12h、14h分别代表服务器和桌面版K10、笔记本移动版K10、Llano APU、Bobcat APU,13h则被很自然地跳过去了。
架构分析
多核心技术
模块
在着手设计下一代x86
处理器核心的时候,AMD的工程师们认为必须实现核心功耗与面积的优化,而且PC应用的发展也让工程师们必须寻找一条新的路子,能够在不同核心之间实现
峰值带宽的最大化,并通过共享模块来充分利用每一平方毫米的核心面积。
最终结果就是能够高效优化资源的双核心模块化。整数管线、一级
数据缓存等频繁使用的功能在每个核心里都有单独的功能单元,预取、解码、浮点管线、
二级缓存等功能单元则在两个核心里共享使用。这种设计可以让每个核心都能在需要的时候使用更大的、更高性能的功能单元,比每个核心都拥有自己独立的小型功能单元更节省核心面积。
这种设计理念的一个直接体现就是核心面积。八核心推土机是AMD公司历史上制造的最大规模芯片,集成了大约12亿个晶体管,但通过功能单元的合理分配,以及32nm SOI新工艺的应用,核心面积被控制在仅仅为315平方毫米,比六核心、45nm工艺的Phenom II X6还要小9%,比四核心、32nm HKMG工艺的Sandy Bridge也只大了46%。
浮点单元
推土机中的浮点单元也经过了完全重新设计,可以在不同核心之间共享资源。每个推土机模块内都有共享的两个128位乘法累加单元(FMAC),可以每个核心执行128位指令,或者每个模块执行256位指令。
推土机浮点单元还改进支持了大量新的
指令集。Phenom II X6仅有128位浮点,Intel Sandy Bridge增加了SSSE3/SSE4.1/SSE4.2、128/256位AVX、每周期两个128位AVX、每周期128位AVX+SSE。推土机不但将这些照单全收,还独家支持FMA4乘加指令、XOP扩展操作指令(曾经的SSE5)。
SSSE3/SSE4.1/SSE4.2(Intel、AMD共有):视频编码与转码、生物统计算法、文字密集型应用。
AESNI PCLMULQDQ(Intel、AMD共有):AES加密应用、
安全网络交易、磁盘加密(微软
BitLocker)、
数据库加密(Orocle)、
云安全。
AVX(Intel、AMD共有):浮点密集型应用,诸如信号处理与地震、多媒体、科学计算、金融分析、3D建模。
FMA4/XOP(AMD独有):高性能计算应用,诸如数字应用、多媒体应用、音频算法。
指令集的变化自然需要软件的支持才能发挥效力,尤其是FMA、XOP两大独家指令。如果软件还在使用老的浮点指令,推土机的特点显然就发挥不出来。在操作系统和软件程序完善之前,可以运行一下AMD提供的两个XOP、AVX补丁程序,再跑分就会有明显的不同。
其实,这两个小程序正是网上传闻的所谓“鸡血补丁”,而且有时候确实能“鸡血”一下,比如让FX-8150
wPrime32M运算时间从15秒钟缩短到10秒钟。
共享前端
前端(Front End)的任务是驱动处理管线、确保核心随时获取所需信息。在推土机中,每个前端配合一个模块,并负责为其中的两个核心分配线程。AMD在这里也做了大刀阔斧的改进,涉及不相关预测和拾取管线、预测定向
指令预取器等等。一个预测队列可以管理一级、二级分支目标缓冲(存储目标地址)所需的直接、
间接分支。推土机模块可以在每个
时钟周期内解码最多四条指令,而K10 Phenom II只有三条。换句话说,推土机从三发射变成了四发射,就像Intel Sandy Bridge。
预测管线会生成一个拾取地址队列。拾取管线则在每个时钟周期内从
指令缓存里拉取32个字节加入拾取队列,再送往解码器。
推土机和Sandy Bridge一样使用了物理
寄存器文件(PRF)。这是一个单独的位置,用于保持执行指令的寄存器结果。这种设计可以消除不必要的数据移动和复制,只保留一个拷贝而不用对数据进行广播。
缓存设计
推土机的每个核心都有64KB一级
数据缓存、64KB一级
指令缓存、32-entry全关联数据页表缓存(DATA TLB)、完整乱序载入/保存单元,后者可以在每个时钟周期内载入两个128位或载入一个128位指令。
每个模块配备2MB 16路关联二级缓存、124-entry二级
页表缓存,可同时处理指令和数据请求。推土机支持最多23个二级缓存不命中,用于保持内存系统一致性。
最后,一颗
推土机处理器的所有模块与核心共享8MB 64路关联
三级缓存。
Turbo Core 2.0智能超频技术
智能超频(动态加速)这种技术最早是Intel在45nm Lynnfield上搞出来的,叫做Turbo Boost(中文名
睿频),Sandy Bridge上进化为第二代,可根据应用负载升降不同核心的频率,从而兼顾对频率、线程明暗度不同的应用与整体性能、功耗。AMD Phenom II X6六核心首次引入自己的智能超频技术Turbo Core,但还不是很完善。Llano APU也部分加入了这种技术,并且支持CPU、GPU两个核心的加速。现推土机迎来了真正的第二代。
推土机大大改进了
电源管理技术,在核心级别上支持CC6电源状态,在模块级别上可通过CC6支持
二级缓存的电源门控(Power Gating)。有了电源门控,空闲核心就可以几乎完全断电,从而给其它核心留出更大的加速空间。
推土机有三种运行模式:原始预设的基准频率、全部核心开启的加速频率、半数核心开启的加速频率。
全部核心加速:如果多余的
热设计功耗(TDP)空间允许,推土机可以对所有的核心进行加速,适合那些需要尽可能高频率的线程密集型应用,最高能超500MHz。
AMD宣称,Turbo Core技术在这种情况下可以带来4-7%的性能提升。
半数核心加速:这种情况下半数核心完全关闭,另外一半核心则更大幅度地加速,适合那些对多线程不太敏感、但需要高频率的应用。相比第一代,加速幅度明显更高了,理论上最高可达1GHz。
AMD宣称,Turbo Core技术在这种情况下可以带来5-12%的性能提升。
虽然AMD没有就此技术发布专用的监控工具,但事实上已经有很多硬件类工具提供了支持,既有AMD自家出品的监控超频软件OverDrive,也有第三方的TMonitor、HWiNFO32/64、SIV等等。利用它们可以随时查看每个核心的实时
工作频率,而且加速核心的频率会以红色显示。
需要特别强调的是,推土机并不是简单的全部或者半数核心以同样的幅度加速,而是实现了真正的异步频率,每个核心都可以有自己独立的运行速度,利用任何监视工具都可以清楚地看出来。这一方面得益于推土机本身架构的改进(切换速度比K10快得多),另一方面也得益于Windows 7操作系统在
线程分配上的优化。
架构特点
1、基于Bulldozer微架构
2、2-4个模块
3、每个模块包含两颗核心、一个浮点单元、两个整数单元
4、每模块独享2MB二级缓存
6、Turbo Core 2.0技术
7、全新32nm制造工艺
8、全新Socket AM3+接口
9、双通道DDR3-1866MHz内存支持
10、不锁倍频
超频潜力
借助液氮散热,玩家成功将一颗还未发布的FX-8150超频到8.429GHz,这一纪录已经打破了Intel单核
赛扬创建的主频纪录,并且还获得了吉尼斯世界纪录。从CPU-Z的认证页面我们可以看到,用户采用了AMD顶级的八核FX-8150 CPU进行
超频,主板选择了华硕的Crossshair V Fomula,基于AMD 890FX
芯片组,并没有采用最新的990FX芯片组主板,看来AMD 890FX也是推土机的最好搭档之一。内存选取了海盗船的DDR3 1333内存,毕竟
CPU超频对内存要求都不会太高。
从测试成绩截图里面我们可以看到,玩家使用了31倍的
倍频,在此基础上将
外频超频到271.9MHz,达成了史上最高的8.429GHz,此时的电压也达到了2.016V。
技术参数
CPU支持:MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE4a, AMD64, AMD-V, AES, CLMUL, AVX, XOP, FMA4, CVT16.
全型号通用参数
晶体管数量:12亿
核心面积:315平方毫米
接口:Socket AM3+
HT 3.1总线:5.2GT/s
内存支持:DDR3-1866 双通道