CPU中推土机架构是什么及CMP和SMT介绍

所属分类: 硬件教程 / CPU 阅读数: 56
收藏 0 赞 0 分享

  CMP和SMT

  CMP:CMP的方式非常直接,简单来说,CMP是通过“复制”物理核心来扩展处理器在多线程软件中的性能,这是获得最佳性能一种最简单和最有效的方式。但CMP的缺点是制造成本很昂贵,并且也要受到处理器制造工艺的限制,毕竟不能将芯片做的越来越大。并且CMP的方式对负载要求也很高,只有经过适当并行优化的负载才能充分发挥CMP的性能,很多核心的CMP常常会浪费资源,在一些应用中,主频更高、结构更简单的双核和四核处理器就往往可以获得更好的性能。

  SMT:SMT是一个相对廉价的技术,比如英特尔的Hyper-Threading,允许每个物理核心运行两个同步线程。SMT的设计思想是充分利用每个核心的资源。如果一个物理核心只有一个执行线程,那么在等待内存中的关键代码或数据的时候,线程处于停顿状态,这样核心的利用率是低下的。而SMT技术允许一个物理核心运行两个或更多的线程,可以根据当前的状况动态进行切换,如果一个线程处于停顿状态等待内存,另一个线程的指令则可以使用这个物理核心的所有执行单元,让物理核心利用的更加充分。

  为了让SMT正常工作,处理器的所有代码和存储部分需要被复制或分区。例如,一个双线程SMT处理器需要两套架构寄存器和重命名寄存器,一套给线程A,一套给线程B。另外组成指令窗口的共享指令队列要具备很大的空间,这样指令窗口才能容纳足够多的来自两个线程的指令,让执行单元可以保持在忙碌状态。最后,两个线程任何共享单元,比如处理管线不同部分的指令缓存,都不能被任一个线程独占。换句话说,SMT核心的两个线程需要和另一个紧密的共享资源,保证核心的缓存单元不会空置没有线程利用。

CPU中推土机架构是什么

  推土机架构分析

  AMD“推土机”将采用32nmSOI工艺,这让“推土机”相比“马尼库尔”皓龙处理器可以在不增加功耗的前提下增加33%的核心数量、增加50%的吞吐量。与AMD之前所有处理器都有所不同的是,“推土机”采用了“模块化”的设计,每个“模块”包含两个处理器核心,这有些像一个启用了SMT的单核处理器。每个核心具有各自的整数调度器和四个专有的管线,两个核心共享一个浮点调度器和两个128位FMAC乘法累加器。

  所不同的,在K10架构中,ALU和AGU共享三个管线(平均1.5个),“推土机”中每个核心整数单元管线的数量增加为4个,2个AGU专有、2个ALU专有。L1缓存也有所不同,在K10架构中,每个核心具有64KB L1指令缓存和64KB L1数据缓存;而“推土机”每个核心具有16KBL1数据缓存、每个模块具有64KB双向L1指令缓存,至于减小的L1缓存是否会影响性能还有待观察。两个核心共享L2缓存,模块之间共享L3缓存及北桥。

bulldozer

  AMD“推土机”模块

  “模块”和“核心”,这让我们不免会产生混淆,实际对于用户们来说,没必要去刻意的关注“模块”的概念,这只不过是AMD在设计上的称谓,而当产品投放市场的时候,依旧会以核心数量为标识,比如我们说采用推土机架构的“Interlagos”服务器处理器具有16个核心,而不会说是8个模块。对于为何采用这种“模块”设计的主要原因,AMD表示是“为了减少CPU的冗余电路”。

  如果采用CMP的方式,随着核心数量的增加,CPU的核心面积也会越来越大,重复的电路也会越来越多,功耗也会随之增加——因为CMP是采用复制核心的方式。而采用“模块”设计可以大大减少冗余电路,这对核心的大量增加很有意义。比如“推土机”,两个核心共享浮点部分,对于大部分服务器应用来说,整数运算的部分要远远高于浮点运算(高性能计算除外),所以将浮点执行单元共享并不会影响大多数应用中的性能。而整数部分则不是共享的,否则会造成瓶颈。

  上文我们回顾过CMP和SMT设计的特点,我们可以把AMD“推土机”架构看做是介于这两种之间的一种设计:两个线程(核心)共享浮点执行单元,但是各自具有独立的整数执行资源。这看上去像是SMT的另一种形式,或者说是经过AMD改良的一种“AMD式的第三种方式”。但与传统的SMT设计不同,SMT仅仅复制的是核心的存储部分,一个线程一个存储模块(registerfile),而AMD“推土机”架构中,每个线程复制的是完整的整数执行单元硬件,一个线程具有一个存储模块(registerfile)和一组完整的整数执行单元。

更多精彩内容其他人还在看

AMD锐龙5 2600和Intel酷睿i5-9400F性能对比测试

AMD锐龙5 2600和Intel酷睿i5-9400F哪个好?哪个值得买?下面小编带来AMD锐龙5 2600和Intel酷睿i5-9400F性能对比测试,希望对大家有所帮助
收藏 0 赞 0 分享

i9 9900K和2700X哪个值得买 i9-9900K和R7-2700X区别对比

伴随着AMD锐龙处理器的崛起,Intel近年来明显不再挤药膏了,十月份发布了全新第六代Coffee Lake酷睿处理器予以还击,还首次推出i9系列命名,定位高端。i9 9900K是此次酷睿i9系列规格最高的一款,那么i9 9900K和2700X哪个值得买?下面小编带来i9-990
收藏 0 赞 0 分享

i5-9600K和8600K哪个值得买 i5-8600K和i5-9600K区别对比

我们知道,最近2年在AMD步步逼近的情况下,Intel加快了产品的更新换代研发进度,同样不再是挤牙膏式升级。今年10月份,英特尔正式发布了第九代酷睿处理器,那么i5-9600K和8600K哪个值得买?下面小编带来i5-8600K和i5-9600K区别对比,希望对大家有所帮助
收藏 0 赞 0 分享

高通骁龙632和636有什么区别 骁龙636和632区别对比介绍

在今年6月份,高通就发布了骁龙632处理器,只不过直到近期才有机型进行了首发,最早是被荣耀畅玩8C首发的,所以后续肯定还有其他机型采用这款处理器。那么高通骁龙632和636哪个好呢?高通骁龙632和636有什么区别?小编带来骁龙636和632区别对比介绍,希望对大家有所帮助
收藏 0 赞 0 分享

i7 9700k配什么显卡好 Intel酷睿i7-9700K显卡搭配推荐

i7-9700K配什么显卡好呢?Intel最新上市了全新第九代酷睿处理器,很显然其中的i7-9700K属于上一代睿i7-8700K的更新换代产品,所以未来一段时间i7-9700K应该会是首选处理器之一,而老款逐渐退出舞台,下面小编带来Intel酷睿i7-9700K显卡搭配推荐,希
收藏 0 赞 0 分享

24核心叫板旗舰i9 AMD锐龙ThreadRipper 2970WX首发详细图文评测

今年ChinaJoy期间首次展示的第二代线程撕裂者更是将处理器的最高核心数量堆到了2990WX的32个。当然除了最顶级的2990WX之外,AMD还准备了定位稍低的产品。这就是我们今天要聊的ThreadRipper 2970WX,一起看看吧
收藏 0 赞 0 分享

i7 9700K和R7 2700X哪个值得买 R7-2700X和i7-9700K区别对比

今年10月份,英特尔正式发布了第九代酷睿处理器,其中首发的有三款产品,分别是i5-9600K、i7-9700K、i9-9900K,那么i7 9700K和R7 2700X哪个值得买?下面小编带来R7-2700X和i7-9700K区别对比,希望对大家有所帮助
收藏 0 赞 0 分享

i9 9900K和R7 2700X哪个值得买 R7-2700X和i9-9900K区别对比评测

今年10月份,英特尔正式发布了第九代酷睿处理器,其中首发的有三款产品,分别是i5-9600K、i7-9700K、i9-9900K。其中i9-9900K拥有超线程技术而备受青睐和关注,一度成为了今年非常强的酷睿i7,那么i9 9900K和R7 2700X哪个值得买?小编带来R7-2
收藏 0 赞 0 分享

i5 9600K和R5 2600X哪个值得买 R5-2600X和i5-9600K区别对比

今年10月份,英特尔正式发布了第九代酷睿处理器,其中首发的有三款产品,分别是i5-9600K、i7-9700K、i9-9900K,那么i5 9600K和R5 2600X哪个值得买?下面小编带来R5-2600X和i5-9600K区别对比,希望对大家有所帮助
收藏 0 赞 0 分享

i5 9600k配什么显卡好 Intel酷睿i5-9600K显卡搭配推荐

i5-9600K配什么显卡好呢?Intel最新上市了全新第九代酷睿处理器,很显然其中的i5-9600K属于上一代睿i5-8600K的更新换代产品,所以未来一段时间i5-9600K应该会是首选处理器之一,而老款逐渐退出舞台,下面小编带来Intel酷睿i5-9600K显卡搭配推荐
收藏 0 赞 0 分享
查看更多