什么是推土机架构 AMD推土机是什么
文章插图
化学机械抛光和表面贴装
CMP:CMP的方式很直接 。简单地说,化学机械抛光已经完成在多线程软件中复制物理内核来扩展处理器的性能,这是获得最佳性能最简单有效的方法 。但是CMP的缺点是制造成本非常昂贵,同时也受到处理器制造工艺的限制 。毕竟芯片不能越做越大 。此外,化学机械抛光的方式要求高负载 。只有并行优化的负载才能充分发挥CMP的性能 。很多核心CMP经常浪费资源 。在一些应用中,频率更高、结构更简单的双核和四核处理器往往能获得更好的信息资源网络性能 。
SMT:SMT是一种相对便宜的技术,比如英特尔的超线程,它允许每个物理内核运行两个同步线程 。SMT的设计思路是充分利用各个核心的资源 。如果一个物理核只有一个执行线程,那么在等待内存中的关键代码或数据时,线程处于信息资源网络暂停的状态,因此核的利用率较低 。SMT技术允许一个物理内核运行两个或多个线程,可以根据当前情况动态切换 。如果一个线程在静止状态下等待内存,那么另一个线程的指令可以使用这个物理核的所有执行单元,这样物理核就可以充分利用它 。
为了使SMT正常工作,需要复制或分区处理器的所有代码和内存部分 。例如,一个双线程SMT处理器需要两套架构寄存器和重命名寄存器,一套用于线程A,一套用于线程b,此外,构成指令窗口的共享指令队列应该有空的大空间,这样指令窗口才能容纳来自两个线程的足够多的指令,让执行单元保持忙碌 。最后,任何两个线程共享单元,如处理流水线不同部分的指令缓存,都不能被任何一个线程独占 。换句话说,SMT核心的两个线程需要与另一个紧密共享资源,以确保核心的缓存单元不会空被线程闲置 。
推土机结构分析
AMD推土机将采用32nmSOI技术,使推土机在不增加功耗的情况下,与Manikul Opteron处理器相比,核心数提升33%,信息资源吞吐量提升50% 。与以往所有AMD处理器不同的是,推土机采用模块化设计,每个“模块”包含两个处理器内核,有点像启用SMT的单核处理器 。每个内核都有自己的整数调度器和四个专有管道 。两个内核共享一个浮点调度器和两个128位FMAC乘法器累加器 。
不同的是,在K10架构中,ALU和AGU共用3条管道(平均1.5条),推土机中每个核心整数单元管道的数量增加到4条,AGU独占2条,ALU独占2条 。L1缓存也不一样 。在K10架构中,每个内核都有64KB的L1指令缓存和64KB的L1数据缓存 。但是,推土机每个内核都有16KBL1数据缓存,每个模块都有64KB双向L1指令缓存 。减少的L1缓存是否会影响性能还有待观察 。两个内核共享L2缓存,模块共享三级缓存和北桥 。
AMD推土机模块
“模块”和“核心”,这就不可避免地导致混乱 。其实对于用户来说,没有必要刻意去关注“模块”这个概念,这只是AMD在设计上的称谓 。当产品投放市场时,仍然会以核心数量来标注 。例如,我们说具有推土机架构的“因特拉格斯”服务器处理器有16个内核,而不是8个模块 。AMD采用这种“模块”设计的主要原因是“减少CPU的冗余电路” 。
如果采用CMP,随着核心数量的增加,CPU的核心面积会越来越大,重复电路也会越来越多,功耗也会增加——因为CMP是复制核心的方式 。使用“模块”设计可以大大减少冗余电路,这对大量内核具有重要意义 。比如“推土机”,两个内核共享浮点部分 。对于大多数服务器应用来说,整数运算的部分远高于浮点运算(高性能计算除外),因此共享浮点执行单元不会影响大多数应用的性能 。而整数部分不共享,否则会造成瓶颈 。
我们已经回顾了上面CMP和SMT设计的特点,我们可以把AMD推土机架构看作是这两种之间的一种设计:两个线程(核心)共享浮点执行单元,但每个都有独立的整数执行资源 。这看起来像是SMT的另一种形式,或者说是AMD改进的“AMD式第三条路” 。但是与传统的SMT设计不同,SMT只复制核心的内存部分,一个线程有一个registerfile,而在AMD的推土机架构中,每个线程复制完整的整数执行单元硬件,一个线程有一个registerfile和一组完整的整数执行单元 。
【什么是推土机架构 AMD推土机是什么】
推荐阅读
- 常见金属材料与化学清洗剂的选择 什么是化学清洗剂材料与产品
- 大众宝来水箱框架更换案例 什么是汽车的水箱支架
- 观赏鱼最适用的过滤方法是什么? 养观赏鱼的过滤方法有哪些
- 蕹菜的功效与作用
- 烏梅紅糖水的功效与作用
- 吴茱萸粥的功效与作用
- 悬空寺为什么千年不倒?悬空寺建造之谜
- 白糖参都有哪些功效作用?
- 蜈蚣草功效作用都有哪些?
- 勒马回功效作用有哪些?