推土机的架构分析
推土机结构分析以下文字资料由边肖为大家收集整理。让我们快速看看他们!
模块
AMD工程师在设计下一代x86处理器的内核时,认为需要优化内核功耗和面积,而PC应用的发展使得工程师不得不寻找新的途径,通过共享模块,最大化不同内核间的峰值带宽,充分利用每平方毫米的内核面积。
最终结果是可以有效优化资源的双核模块化。
整数流水线、一级数据缓存等常用功能在每个内核中都有独立的功能单元,而预取、解码、浮点流水线、二级缓存等功能单元在两个内核中都是共享的。
这种设计允许每个内核在需要时使用更大和更高性能的功能单元,这比每个内核拥有自己独立的小功能单元更节省内核面积。
这个设计理念的一个直接体现就是核心区。
八核推土机是AMD有史以来制造的最大芯片,集成了约12亿个晶体管。但通过功能单元的合理布局和32nm SOI新技术的应用,核心面积控制在仅315平方毫米,比六核45nm工艺的Phenom II X6小9%,比四核32nm HKMG工艺的Sandy Bridge仅大46%。
推土机中的浮点单元也进行了完全的重新设计,可以在不同内核之间共享资源。
每个推土机模块中有两个共享的128位乘法和累加单元,每个内核可以执行128位指令,每个模块可以执行256位指令。
推土机浮点单元也进行了改进,支持大量新指令集。
Phenom II X6只有128位浮点,Intel Sandy Bridge增加了SSE3/SSE 4.1/SSE 4.2,128/256位AVX,每个周期两个128位AVX,每个周期128位AVX+SSE。
推土机不仅接受这些订单,还专门支持FMA4乘加指令和XOP扩展运算指令。
那么指令集有什么用呢?这里有几个简单的例子:
SSSE3/SSE4.1/SSE4.2:视频编码和转码、生物识别算法、文本密集型应用。
AESNI PCLMULQDQ:AES加密应用,安全网络交易,磁盘加密,数据库加密,云安全。
AVX:浮点密集型应用,如信号处理和地震、多媒体、科学计算、金融分析和3D建模。
FMA4/XOP:高性能计算应用,如数字应用、多媒体应用、音频算法。
指令集的改变自然需要软件的支持才能有效,尤其是FMA和XOP这两条专属指令。
如果软件还在用老的浮点指令,推土机的特性显然发挥不出来。
在操作系统和软件程序完善之前,你可以运行AMD提供的两个XOP和AVX补丁,然后会有明显的区别。
其实这两个小程序就是网上传言的所谓“鸡血补丁”,有时候真的可以“鸡血”,比如把FX-8150 wprim 32m的运行时间从15秒缩短到10秒。
前端的任务是驱动处理流水线,保证核心能随时得到需要的信息。
在推土机中,每个前端都配有一个模块,负责将线程分配给两个内核。
AMD在这里也做了大刀阔斧的改进,涉及无关预测和取流水线,面向预测的指令预取器等等。
预测队列可以管理一级和二级分支目标缓冲区所需的直接和间接分支。
推土机模块每个时钟周期最多可以解码4条指令,而K10 Phenom II只有3条指令。
换句话说,推土机从三次发射变成了四次发射,就像英特尔桑迪大桥一样。
预测流水线生成拾取地址队列。
拾取流水线在每个时钟周期从指令缓存中提取32个字节,并将它们添加到拾取队列,然后发送到解码器。
推土机使用像桑迪大桥这样的物理寄存器文件。
这是一个单独的位置,用于保存执行指令的寄存器结果。
这种设计可以消除不必要的数据移动和复制,并且只保留一个副本,而不广播数据。
推土机的每个内核都有一个64KB的一级数据缓存、一个64KB的一级指令缓存、一个32入口全关联数据页表缓存和一个完整的乱序加载/保存单元,每个时钟周期可以加载两条128位或一条128位指令。
每个模块配有2MB 16路关联L2缓存和124入口L2页表缓存,可同时处理指令和数据请求。
推土机支持多达23个L2缓存未命中,以保持内存系统的一致性。
最后,推土机处理器的所有模块与内核共享8mb和64路相关联的L3缓存。
Turbo Core 2.0智能超频技术
智能超频技术最早是英特尔在45nm林菲尔德开发的,叫做Turbo Boost,在桑迪大桥上演变成第二代。它可以根据应用负载提高和降低不同内核的频率,从而兼顾不同频率和线程阴影的应用,以及整体性能和功耗。
AMD Phenom II X6六核首次推出了自己的智能超频技术Turbo Core,但仍不完善。
Llano APU也部分加入了这项技术,支持CPU和GPU加速。
现在推土机迎来了真正的第二代。
推土机极大地改进了电源管理技术,在核心层支持CC6电源状态,在模块层支持L2缓存的电源门控。
通过电源门控,空空闲内核几乎可以完全断电,从而为其他内核留下更多加速空。
推土机有三种工作模式:原始预设参考频率、所有核心加速频率、半核心加速频率。
所有内核加速:如果超额热设计功耗空允许,推土机可以加速所有内核,适合需要尽可能高频率的线程密集型应用,最大超过500MHz。
AMD声称Turbo Core技术在这种情况下可以带来4-7%的性能提升。
半核加速:这种情况下,一半核完全关闭,另一半核大大加速,适合对多线程不敏感但需要高频率的应用。
与第一代相比,加速范围明显更高,理论上可以达到1GHz。
AMD声称,在这种情况下,睿频技术可以将性能提高5-12%。
虽然AMD没有针对这项技术发布专门的监控工具,但其实很多硬件工具都提供了支持,包括AMD自带的监控超频软件OverDrive,以及第三方的TMonitor、HWiNFO32/64、SIV等。
有了它们,你可以随时查看每个核心的实时工作频率,加速后的核心频率会以红色显示。
需要强调的是,推土机并不是简单地以相同的幅度加速全部或一半的核心,而是实现真正的异步频率,每个核心都可以有自己独立的运行速度,这一点任何监控工具都可以看得很清楚。
一方面得益于推土机自身架构的改进,另一方面也得益于Windows 7操作系统在线程分配上的优化。
文章评论