什么是推土机架构 AMD推土机是什么

CMP和 T
CMP:CMP的 很直接,简而言之,CMP就是通过& ldquo在多线程软件中“复制”物理内核来扩展处理器的性能是获得更佳性能的最简单、最有效的 。但是CMP的缺点是制造成本非常昂贵,而且还受到处理器制造工艺的限制,无法把芯片做得越来越大 。此外,CMP 具有高负载要求 。只有负载能力得到适当的并行优化,才能充分发挥CMP的性能,很多核心CMP往往会浪费资源 。在某些应用中,频率更高、结构更简单的双核和四核处理器往往能获得更好的性能 。
T: T是一种相对便宜的技术,例如英特尔的Hyper红豆博客线程,它允许每个物理内核运行两个同步线程 。 T的设计思想是充分利用每个内核的资源 。如果一个物理核只有一个执行线程,那么线程在等待内存中的粘贴代码或数据时会处于停顿状态,所以核的使用率较低 。 T技术允许一个物理内核运行两个或更多线程,这些线程可以根据当前状态动态切换 。如果一个线程处于停顿状态,期待内存,那么另一个线程的指令可以应用到物理核的所有执行单元,这样物理核就可以得到更充分的应用 。
为了使 T正常工作,处理器的所有代码和存储部分都需要复制或分区 。例如,一个双线程的 T处理程序需要两套架构存储和重命名存储,一套用于线程A,一套用于线程b,另外,构成指令窗口的共享指令队列要有一个大的空空间,这样指令窗口才能容纳足够多的来自两个线程的指令,这样完成单元才能保持努力工作 。最后,两个线程的任何共享单元,比如处理流水线不同部分的指令缓存,都不能被任何一个线程独占 。换句话说, T内核的两个线程应该彼此紧密共享资源,以确保内核的缓存单元在没有线程应用的情况下不会空被安装 。
推土机结构分析
AMD推土机将采用32nmSOI技术,使推土机在不增加功耗的情况下,与Manikul Opteron处理器相比,核心数量和吞吐量分别增加33%和50% 。与AMD之前所有处理器不同的是,“推土机”采用了“模块化”设计,每个“模块”包括两个处理器芯,有点像启用了 T的单芯处理器 。每个内核都有自己的整数调度器和四条专有流水线 。两个内核共享一个浮点调度器和两个128位FMAC乘法累加器 。
不同的是,在K10架构中,ALU和AGU共用三条流水线(平均1.5条),而《推土机》中每个核心整数单元的流水线数量增加到四条,两条为AGU独占,两条为ALU独占 。L1的缓存也不同 。在K10架构中,每个内核都有64KB L1指令缓存和64KB L1数据缓存 。虽然推土机在每个内核中有16KBL1数据缓存,在每个模块中有64KB双向L1指令缓存,但减少的L1缓存是否会影响性能仍有待观察 。两个内核共享L2高速缓存,模块共享L3高速缓存和北桥 。
AMD推土机模块
“模块”和“核心”难免会混淆 。其实对于用户来说,没必要刻意去关注“模块”这个概念 。这只是AMD的设计称谓,产品投放市场时,依然会以核心数来标注 。例如,我们说具有推土机架构的“Interlagos”服务器处理器具有16个核心,而不是8个模块 。对于之所以采用这种“模块”设计的重要原因,AMD的表现是“减少CPU的冗余电路” 。
【什么是推土机架构 AMD推土机是什么】
如果采用CMP的 ,随着核心数量的增加,CPU的核心面积会越来越大,重复的电路会越来越多,功耗也会增加——因为CMP是复制核心的 。采用“模块”设计可以大大减少冗余电路,这对内核的大量增长意义重大 。比如“推土机”,两个核心共用浮点部分 。对于大多数服务器应用来说,整数运算部分远高于浮点运算(高性能计算除外),所以在大多数应用 享浮点执行单元不会影响性能 。整数部分不共享,否则会造成瓶颈 。
上面我们已经回忆了CMP和 T设计的特点,可以把AMD“推土机”架构看作是介于这两种之间的一种设计:两个线程(核)共享浮点执行单元,但各自拥有独立的整数执行资源 。看起来像是 T的另一种情况,或者是AMD改进的“AMD式第三种 ” 。但不同于传统的 T设计, T只是复制了存储红豆博客的核心部分,每个线程一个registerfile 。在AMD的推土机架构中,每个线程复制完整的整数执行单元硬件,一个线程有一个registerfile和一组完整的整数执行单元 。