AMD推土机系列CPU构架.docx
3页《AMD 推土机系列 CPU 构架 》AMD 推土机架构采用了模块化设计,每个模块内有两个整数核心和一个浮点核心,各自搭配专用的调度器,而且浮点核心可为两个整数核心所共享使用因为有自己的调度器,浮点核心不必依赖整数调度器去安排浮点命令,也无需借助整数资源去执行 256 位命令相比之下,Intel 的架构中整数和浮点核心共用一个调度器,它必须同时处理整数和浮点命令推土机架构图推土机架构会在指令集方面做出大幅度的扩展,加入支持 SSSE3、SSE 4.1/4.2、AVX、 AES、FMA4、XOP、PCLMULQDQ 等等,其中最关键的就是 AVXAVX 指令集可以执行 256 位浮点指令,但需要澄清的是,并没有什么所谓的“256 位命令”单精度命令都是 32 位的,双精度则是 64 位使用今天标准的 128 位浮点单元,可以在一个时钟周期内并行执行四个单精度命令或者两个双精度命令有了 AVX 效率就可以翻一番,亦即每时钟周期内执行八个 32 位单精度命令,或者两个 64 位双精度命令当然了,这得要应用程序支持 AVX 才行,否则的话 256 位浮点单元只会运行在 128 位模式下——正因为如此,AMD 提出了弹性浮点单元。
如今的典型数据中心负载都以整数运算为主,浮点运算只占很小一部分,所以绝大多数情况下一个庞大的 256 位浮点单元只会白白消耗内核面积和功耗,坐视整数单元忙得要死推土机通过在两个整数核心之间共享一个 256 位浮点单元,既节省了内核面积和功耗,也能灵活满足实际负载需求Flex FP 弹性浮点单元由两个 128 位 FMAC(乘法累加器 )组成,每一个都可以在每时钟周期内执行 FMAC、FADD(浮点加法) 、FMUL(浮点乘法),而 Intel 的架构中只能通过单个 FADD 管线执行 FADD 指令,FMUL 亦然有了 FMAC 单元,乘法和加法命令不会像标准 FADD、FMUL 那样拥堵在一起,两个单元都可以灵活处理这些计算命令如果一个程序只使用 FADD,那么两个 FMAC 单元都可以全力执行 FADD这种设计的其他好处还有:支持 FMA4 指令而实现非破坏性 DEST,降低寄存器的压力;消除中间反复步骤,提高精确度顺便再说说 AES如果应用程序符合美国商务部 FIPS 197 加密标准,AES 就能为其实现硬件加速推土机的 Flex FP 单元也能执行这些一次 16 个字节的指令,速度为每时钟周期一个,是现有带宽的两倍。
Flex FP 的设计理念对降低功耗也大有好处,能让设计人员在同样的功耗指标下放入更多繁忙的整数单元事实上,Flex FP 的设计目标之一就是将其空闲功耗降至峰值功耗的区区 2%Flex FP 的美妙之处在于它既是单个 256 位浮点单元,又被两个整数核心所共享 每个时钟周期内,每个整数核心都可以通过两个 128 位指令或者一个 256 位指令来来操作 256 位并行数据,或者每个整数核心同时执行 128 位命令这种硬件设计对 BIOS、软件编程来说也并不复杂,可以随着每个处理器时钟周期儿变化,以满足特定时刻的需求以下是每个周期内的四种可能场景:1、核心 1:两个 128 位 AVX 或者未编译 SSE 命令;核心 2:无浮点命令2、核心 1:无浮点命令;核心 2:两个 128 位 AVX 或者未编译 SSE 命令3、核心 1:128 位浮点命令;核心 2:128 位浮点命令4、核心 1:无浮点命令;核心 2:无浮点命令可以看出,浮点单元的弹性设计使得整个系统都更加灵活,也优化了每个周期内每个核心的性能对于应用程序来说,256 位 AVX 指令集需要它们重新编译才能充分利用 ,这显然需要时间和反复测试,因此 AVX 的普及也不会是一朝一夕的事情,而灵活的 Flex FP 浮点单元设计有望加速这一进程。
Turbo Core 新技术同时 AMD“推土机”中引入了一个全新的性能加速技术,叫做 Turbo Core,Turbo Core 技术主要是指对于一些没有完全消耗到最大程度的工作负载,去加快时钟速度在多种不同工作负载上,使用了 Turbo Core 可以最大增加 500 兆赫兹的性能最重要的一点,Turbo Core 加速指的是所有核的加速,不同以往的核加速技术可能需要关闭一些核,只对部分核进行加速采用 Turbo Core 技术采用 Turbo Core 技术,最多可以使所有核增速 500 兆赫兹,如果再关闭一些核运转的情况下,加速将会超过 500 兆赫兹同时 AMD 对内存控制器进行了进一步优化,从而提高内存的吞吐量通过该技术关键是只在有工作负载要求时才加速,这也就意味着整个处理器达到高利用率时,这个技术才会启动从而导致能耗提高,一般情况下用户不会看到能耗提高此外,所有 Bulldozer 架构处理器产品都会有 Turbo Core 技术,而不是仅限于只在高端产品开放,从而给用户带来更多成本效率Turbo Core 可以使所有的核一起加速,“推土机”的每个核心在空闲、典型负载、最大负载三个状态的能耗要比皓龙 6100 更低,并且针对 FP、缓存等单元进行能 耗优化,在整体上降低芯片的能耗。





