用万字解读AMD的新建筑

资料来源:本文由美国公共数字半导体工业观察(身份证:集成电路银行)翻译自美国安诺科技公司,谢谢。 一年多来,我们一直在思考AMD的下一代处理器产品。 新的小芯片设计被认为是驱动性能和可扩展性的重大突破,尤其是当在越来越小的工艺节点上制造大型高频芯片变得越来越困难时。 AMD希望通过Ryzen和EPYC在其处理器家族中部署其小芯片范例,这两个处理器家族各有八个下一代Zen2内核。 今天,AMD更详细地介绍了Zen2内核,这为该公司上周在Computex上比上一代时钟性能提高15%提供了一个理由。 目前,AMD的Zen2产品组合已经宣布,以Zen2为核心的产品包括Ryzen的第三代消费CPU、Ryzen3000系列和AMD的下一代企业EPYC处理器罗马 迄今为止,AMD已经发布了六款消费类Ryzen3000处理器的详细信息,包括内核数量、频率、内存支持和电源。 服务器处理器的细节预计将在未来几个月的适当时候发布,除了一些峰值。 与第一代禅相比,禅2的设计范式发生了重大变化。 新平台和核心实现围绕TSMC 7纳米工艺的8核小芯片设计,尺寸约为74~80 mm2。 在这些小芯片上,有两组四核“核心复合体”(CCX),包括这四个核心和一组L3缓存——Zn2的L3缓存是Zn1的两倍大 每一个完整的中央处理器,不管它有多少个小芯片,都通过无限结构(InfinityFabric)链接与中央输入输出芯片配对。 输入输出芯片充当所有片外通信的中心枢纽,因为它包含处理器的所有PCIe通道和存储器通道,以及与其他小芯片和其他处理器的无限光纤链路 EPYCRome处理器的输入输出芯片是基于TSMC的14纳米工艺制造的,而消费类处理器的输入输出芯片(尺寸更小,功能更少)是基于全球铸造厂的12纳米工艺制造的 这款名为“马蒂斯”(Ryzen3rdGen,Ryzen3000系列)的消费处理器最多有两个小芯片和16个内核 AMD将于7月7日推出6个版本的马蒂斯,从6到16个内核不等 6核处理器和8核处理器有一个小芯片,8核以上的处理器有两个小芯片,但所有情况下的输入输出芯片都是相同的 这意味着基于Zen2的每个Ryzen3000处理器都可以访问24个PCIe4.0通道和双通道内存 根据今天的公告,Ryzen53600的价格将从199美元到16枚内核的700美元不等(我们正在等待这一价格的最终确认) 基于Zen2chiplet的EPYCRome处理器最多有8个处理器,支持一个平台最多64个内核。 像消费者处理器一样,小芯片不能直接相互通信——每个小芯片只能直接连接到一个中央输入输出芯片。 IO芯片包括8个内存通道链接和多达128个PCIe4.0连接通道 AMD路线图在讨论新产品系列之前,有必要回顾一下我们在AMD路线图中的当前位置 AMD之前的路线图显示了从禅到禅2和禅3的过渡。AMD解释说,这个结构已经存在很多年了,禅宗在2017年发布,禅宗在2019年发布,禅宗在2021年发布 节奏并不完全是每年一代,因为它取决于AMD的设计和制造能力,以及与其铸造合作伙伴和当前市场力量的协议。 AMD曾表示,Zen2的计划总是启动7纳米工艺,最终使用TSMC的7纳米工艺(全球铸造厂未能及时准备好7纳米工艺,最终放弃了该计划) 下一代Zen3预计将与最新的7纳米工艺保持一致。AMD还没有对潜在的“Zen2+”设计发表评论,尽管我们不希望在这个时候看到它。 除了Zen3之外,AMD还声明Zen4和Zen5目前处于各自设计的不同阶段,但AMD并未承诺具体的时间框架或流程节点技术。 AMD过去曾表示,这些平台和处理器的设计范式是提前3-5年设定的,公司必须在每一代产品上下大赌注,以确保其保持竞争力。 为了了解更多关于Zen4的信息,AMD嵌入式和半定制集团高级副总裁弗雷斯特·诺罗德(ForrestNorrod)在Computex的一次采访中,向AnandTech独家透露了AMDZen4EPYC处理器的代号:热那亚。 福勒斯特解释说,Zen5代码遵循类似的模式,但他不会评论Zen4产品的时间框架。 鉴于Zen3的设计预计将于2020年年中推出,如果AMD紧随其后,Zen3将于2021年末/2022年初推出 尚不清楚它将如何进入AMD的消费者路线图。这将取决于AMD如何处理其芯片范例和封装技术的未来调整,以实现进一步的性能改进。 Zen2的性能在电脑上有所陈述,AMD宣布他们已经设计了Zen2。当使用相同的频率比较Zen2和Zen2+时,Zen2可以提供比Zen2+平台高15%的原始性能 同时,AMD还声称,在相同功率下,Zen2可以提供1.25倍以上的性能增益,或者在相同性能下,只能提供一半的功耗。 与此同时,AMD声称其性能功耗比比上一代高出75%,比其竞争对手的特定基准高出45%。 我们目前无法核实这些数字,因为我们手头没有相关产品。7月7日禁令解除后,我们将确认基准测试的结果。 AMD确实花了很多时间研究Zen2微体系结构的新变化和平台级别的变化,以展示该产品与上一代产品相比有了哪些改进 还应该注意的是,在AMD最近的技术日期间,该公司一再表示,它无意在增量更新方面与主要竞争对手反复拉锯战,试图击败对方,这可能导致技术停滞。 AMD高管表示,无论竞争对手是谁,AMD都会尽力挑战每一代产品的性能极限。 首席执行官李素素博士和首席技术官马克·帕帕斯马斯特(MarkPapermaster)都表示,他们预计Zen2产品组合的时间表将跨越竞争激烈的英特尔10纳米产品线。 尽管情况并非如此,但AMD高管表示,他们仍在按计划推进路线图。 当AMD展示其即将推出的马蒂斯处理器的性能时,它选择了Cinebench作为基准。 Cinebench是一种浮点基准测试。公司在这方面一直做得很好。它倾向于检测CPUFP性能和缓存性能,尽管它通常不涉及许多内存子系统。 早在今年1月的CES2019,AMD就展示了一款未命名的8核Zen2处理器。与英特尔的高端8核处理器i9-990万相比,两款处理器在CinebenchR15上的系统得分大致相同,但AMD整个系统的功耗约为英特尔的1/3或更低 在5月的Computex上,AMD发布了8核和12核的许多细节,以及这些芯片在单线程和多线程电影基准20中的比较结果。 AMD表示,在比较不同内核时,其新处理器在CPU基准测试中提供了更好的单线程性能、更好的多线程性能、更低的功耗和更低的价格。 说到游戏,AMD在这方面相当乐观。 在1080p时,通过比较Ryzen72700X和Ryzen73800X,AMD预计每一代的帧速率增加11%~34%。 在比较AMD和英特尔处理器时,AMD坚持对流行游戏进行1080p测试,并再次比较具有相似内核数量和价格的处理器。 在几乎所有的比较中,AMD的产品都可以与英特尔相媲美。AMD有一些更高,一些更低,甚至相同 让我们以250美元的产品为例进行比较:此时,游戏性能旨在显示频率和仪表板组合仪表的改进,而不是PCIe4.0的优势 在频率方面,AMD表示,虽然7纳米芯片尺寸减小,通孔电阻率高,但与全球晶圆厂的14纳米和12纳米相比,他们可以从TSMC 7纳米工艺中获得更高的频率。 AMD还对新的L3缓存设计发表了评论,因为它从2MB/内核更改为4MB/内核 据AMD称,使用独立的图形处理器玩游戏时,L3缓存翻了一番,1080p的性能提高了11% ~ 21%。 Zen2中有一些新的说明可以帮助验证这些数字。 视窗优化对于使用视窗的非英特尔处理器来说,一个令人头疼的关键问题是操作系统中的优化和调度程序安排 过去,我们已经看到视窗对非英特尔微体系结构布局有多不友好,例如AMD以前在推土机上的模块设计,高通在Snapdraon上的混合CPU策略,以及最近在Threadripper上引入不同内存延迟域的多芯片布局。 显然,AMD与微软关系密切。当涉及到识别处理器的非常规核心拓扑时,两家公司致力于确保线程和内存分配不受程序驱动,试图最大限度地利用系统。 随着视窗在5月10日的更新,一些额外的功能已经到位,以充分利用即将到来的Zen2微体系结构和Ryzen3000芯片布局。 优化有两个方面,这两个方面都很容易解释。 第一个线程分组是线程分配 当处理器具有不同的“组”CPU内核时,线程分配的方式是不同的。所有这些方法都有各自的优缺点。 线程分配的两个极端归结为线程分组和线程扩展。 线程分组是指当生成新线程时,它们将被直接分配给已经拥有该线程的内核旁边的内核。 这允许线程紧密集成以进行线程间通信,但是它会创建高功率密度的区域,尤其是当处理器上有多个内核但只有少数几个处于活动状态时。 螺纹延伸意味着型芯放置在尽可能远离彼此的位置。 这意味着第二个线程在尽可能远的地方产生于不同的小芯片或不同的核心复合体(CCX) 这允许中央处理器在没有高功率密度的区域保持高性能,通常在多线程上提供最佳的涡轮性能 线程扩展的危险在于,当一个程序生成两个最终位于中央处理器不同位置的线程时 在Threadrapper中,这甚至可能意味着第二个线程位于具有长内存延迟的中央处理器部分,从而导致两个线程之间潜在的性能不平衡,即使这些线程所在的内核处于更高的turbo频率。 随着现代软件(尤其是视频游戏)正在生成多线程而不是依赖单线程,并且这些线程需要相互通信,AMD正在从混合线程扩展技术向线程分组技术转变。 这意味着在访问另一个CCX之前,一个CCX将充满线程 AMD认为,虽然一个小芯片具有高功率密度的潜力,而另一个可能不活动,但对于整体性能来说,它仍然是值得的。 对于马蒂斯来说,这应该为有限的线程场景提供了一个很好的改进。 看看这对即将到来的EPYCRomeCPU或未来的Threadripper设计会有多大的影响将是很有趣的。 AMD在其解释中的唯一基准是1080pLow的火箭联盟,该联盟报告帧速率增加了15%。 时钟升级对于熟悉Skylake微体系结构的用户来说,您可能还记得英特尔引入了一个名为SpeedShift的新功能,它使处理器能够在不同的p状态之间更加自由地调整,并且从空空闲到加载非常快速——Skylake的第一个版本是从100毫秒到40毫秒,然后KabyLake被减少到15毫秒 它通过将操作系统的状态控制返回给处理器来实现,处理器响应指令吞吐量和请求 在Zen2中,AMD现在已经实现了相同的功能。 与英特尔相比,AMD在频率调整方面已经有了足够的粒度,允许25兆赫兹而不是100兆赫兹的差异。然而,当遇到突发驱动的工作负载时,支持更快的斜坡到负载跳频将有助于AMD,例如WebXPRT(英特尔最喜欢这个演示) 据AMD称,Zen2用于实现该功能的方式将需要在5月10日进行BIOS更新和窗口5更新,但它会将Zen2的频率增加时间从30毫秒减少到Zen2的1-2毫秒。 值得注意的是,这比英特尔给出的数字要快得多。 AMD实施的技术名称是指CPPC2,即协作电源性能控制2。AMD的指标显示,这将增加突发负载和应用程序负载 AMD表示,使用PCMark10的应用程序启动测试将应用程序的启动时间性能提高了6% Zen2增强Zen2安全性的另一个方面是AMD用来提高现代处理器安全性要求的方法。 据报道,最近一系列的边信道攻击并没有影响AMD处理器,主要是因为AMD管理其TLB缓冲区的方式,这总是需要额外的安全检查,以免大部分成为问题。 然而,针对AMD的漏洞,它已经为这些问题实施了一个完全基于硬件的安全平台。 这里的变化来自投机旁路,叫做Spectrev4。AMD现在有了额外的硬件与操作系统或虚拟内存管理器(如虚拟机管理程序)一起工作来进行控制。 AMD预计这些更新不会带来任何性能变化 新的问题,如伏笔和僵尸工具不会影响AMD处理器 像大多数新的x86微体系结构一样,新的指令高速缓存和内存带宽服务质量控制能够通过新指令提高性能,但它们也将尝试在支持指令的不同供应商之间实现等同。 对Zen2来说,虽然AMD不迎合像英特尔这样一些更古怪的指令集,但它在三个不同的领域增加了新的指令 首先是CLWB,它以前在英特尔处理器上被视为与非易失性存储器相关。 该指令允许程序将数据推回非易失性存储器,以防系统接收到导致数据丢失的关闭命令。 尽管AMD没有明确指定,但还有其他一些与保护非易失性存储系统的数据相关的指令。 这可能表明AMD正在寻求在未来的设计中更好地支持非易失性存储器的硬件和结构,尤其是在EPYC处理器中。 第二个高速缓存指令WBNOINVD是一个纯AMD命令,但它是基于其他类似的命令,如WBINVD 此命令用于预测缓存中将来可能需要缓存的特定部分,并清除它们以加快未来的计算 如果所需的高速缓存线没有准备好,刷新命令将在所需的操作之前处理,从而在延迟关键指令仍在流水线上传递的同时提前增加延迟运行的高速缓存线刷新,有助于加速它们的最终执行。 在服务质量下归档的最后一组指令实际上与如何分配缓存和内存优先级有关 当云中央处理器为不同的客户分成不同的容器或虚拟机(虚拟机)时,性能级别并不总是一致的,因为性能可能会因系统上另一个虚拟机执行的操作而受到限制 这就是所谓的“噪声邻居”问题:如果其他人占用了所有内核到内存的带宽(即L3缓存),系统上的另一个虚拟机很难访问它需要的内容。 由于这种高噪声的邻居,其他虚拟机在处理其工作负载时的延迟会有很大差异 或者,如果一个关键任务虚拟机在系统上,而另一个虚拟机总是请求资源,那么关键任务虚拟机可能会错过其目标,因为它无法访问所有所需的资源。 除了确保单个用户能够完全访问硬件之外,还很难处理嘈杂的邻居。 大多数云提供商和运营部门甚至不会告诉你是否有邻居。在实时虚拟机迁移的情况下,这些邻居可能会非常频繁地更改,因此无法保证任何时候都有连续的性能。 这需要一组专用的服务质量指令 与英特尔的实施一样,当一系列虚拟机分配给虚拟机管理程序上方的系统时,虚拟机管理程序可以控制每个虚拟机的内存带宽和缓存 如果任务关键型8核虚拟机需要访问64MB的L3和至少30GB/s的内存带宽,虚拟机管理程序可以控制优先级虚拟机始终有权访问该数量,并将其从其他虚拟机池中完全删除,或者在任务关键型虚拟机突然进入完全访问时智能限制其要求。 英特尔仅在其至强可扩展处理器上实施了此功能,但AMD将在面向消费者和企业用户的Zen2处理器家族中实施此功能。 我在这个函数中遇到的最直接的问题是消费水平。 想象一下,如果一个视频游戏需要访问所有的缓存和内存带宽,但是一些流媒体软件不能访问它——这可能会对系统造成严重的损害 AMD解释说,虽然从技术上讲,单个程序可以请求一定级别的服务质量,但这些请求是否有效和适当将取决于操作系统或虚拟机管理程序。 他们更多地将此功能视为扮演虚拟机管理程序角色时使用的企业功能,而不是消费者系统上的裸机安装。 CCX规模缩小节点规模给核心内外带来许多挑战 即使不考虑功率和频率,将结构放入芯片中,然后将芯片集成到封装中,并通过正确的连接本身向芯片的正确部分供电也是一项练习。 AMD让我们更深入地了解了7纳米是如何改变其一些设计和包装挑战的。 AMD放弃的一个关键指标与核心复合体(CCX)有关:4个核心,相关的核心结构,其次是L2和L3缓存 AMD表示,在12纳米和ZEN+内核的情况下,单个内核复合体为60平方毫米,其中内核占44平方毫米,8MB L3占16平方毫米 Zen+齐柏林飞艇芯片总共是213平方毫米,增加了两个60平方毫米的复合内存控制器、PCIe通道、四个中频链路和其他输入输出 对于Zen2,单个小芯片是74平方毫米,其中31.3平方毫米是16MB L3的核心复合体 AMD没有将这31.3个数字分成核心和L3,但是可以想象L3可能接近这个数字的50%。 小芯片之所以这么小,是因为它不需要内存控制器,它只有中频链路,没有输入输出,因为所有平台要求都在输入输出芯片上。 这使得AMD能够使小芯片非常紧凑。 但是,如果AMD打算继续增加L3缓存,L3缓存可能会占据大部分芯片。 但是总的来说,AMD称CCX的面积(核心加L3)已经减少了47% 这显示了极大的可扩展性,尤其是当+15%的原始指令吞吐量和增加的频率开始发挥作用时 每平方毫米的性能将是一个非常令人兴奋的指标。 包装由于马蒂斯使用AM4插槽,罗马使用EPYC插槽,AMD表示,他们必须在包装技术上下注,以保持兼容性。 这些赌注中的一些最终会被权衡以获得持续的支持,但AMD认为,为兼容性付出额外的努力是值得的。 AMD与封装相关的关键问题之一是每个芯片如何连接到封装。 为了实现针栅阵列桌面处理器,芯片必须以BGA模式固定在处理器上。 AMD说,由于7纳米工艺,凸点间距(芯片和封装上焊球之间的距离)从12纳米的150微米减小到7纳米的130微米 这听起来可能不多,但AMD表示,世界上只有两家制造商有足够的技术来做到这一点。 唯一的选择是使用更大的芯片来支持更大的凸块间距,导致芯片中大量的空空闲(或不同的设计范例)。 为了实现更近的凸块间距,一种方法是调整在芯片下侧处理凸块的方式。 一般来说,封装上的焊料凸点是无铅焊料的一个或多个球,这取决于表面张力和回流的物理特性,以确保其一致性和规律性 然而,为了实现更紧密的凸块间距,AMD必须转向铜柱焊料凸块拓扑 为了实现这一特性,铜外延沉积在掩模中以形成回流焊料的“支撑”。 由于焊柱的直径,需要较少的掩模,导致较小的焊接半径。 由于马蒂斯内部的双芯片设计,AMD也遇到了另一个问题:如果IO芯片使用标准焊料凸点掩模,小芯片使用铜柱,集成散热器需要有一定程度的一致性。 对于较小的铜柱,这意味着管理铜柱的生长水平 AMD解释说,实际上管理这种连接比制造不同高度的散热器更容易,因为散热器的冲压过程不会产生如此小的公差。 AMD预计未来所有7纳米的设计都将采用铜柱 除了将管芯放置在有机衬底上,衬底还必须管理管芯和管芯外部之间的连接 为了处理额外的布线,AMD必须将封装中的衬底层增加到12层(没有披露罗马需要多少层,可能是14层) 对于单核小芯片和双核小芯片处理器来说,这也有些复杂,尤其是在将芯片放入封装之前对其进行测试时。 从图中,我们可以清楚地看到从两个小芯片到输入输出芯片的中频链路,输入输出芯片还处理存储器控制器和看似电源层的任务。 小芯片之间没有封装内链接:小芯片不能直接通信,小芯片之间的所有通信都是通过输入输出芯片处理的。 AMD表示,采用这种布局,他们还必须注意处理器在系统中的放置方式,以及冷却和内存布局。 此外,当涉及更快的内存支持或更严格的PCIe4.0容差时,所有这些也需要考虑为信号传导提供最佳路径,而不受其他布线的干扰。 AMDZen2微体系结构概述在amd的技术日,同事和首席建筑师MikeClark出席了会议,并经历了这些变化 迈克是一个非常好的工程师,尽管谈论市场上最新产品的工程师已经在公司工作了一、两代或三代(任何公司,不仅仅是AMD公司) 迈克说他花了一些时间思考从禅+到禅2的具体变化,他的头脑经历了几代产品的变化。 Zen2的一个有趣元素是它的意图 起初,Zen2只是zen2+的简化版本,从12纳米减少到7纳米,类似于我们在本世纪初看到的英特尔滴答模式。 然而,AMD决定使用ZEN2作为基于内部分析和7纳米时间框架的性能更好的平台,以各种方式使用7纳米,而不是仅在新的工艺节点上重新设计相同的布局。 作为调整的结果,AMD推动天2 IPC比天2+上涨15%。 谈到微体系结构的确切变化,我们基本上看到的仍然是一个类似禅宗外观的布局图。 Zen2是Zen系列的一员,在处理具有系列更新的x86类其他体系结构时,Zen2没有完全重新设计或采用不同的范式,它提供了更高效的内核和更广泛的内核范围,从而允许更好的指令吞吐量。 从更高的层面来看,核心看起来非常相似。 Zen2设计的亮点包括不同的L2分支预测器,称为TAGE预测器、微操作高速缓存加倍、L3高速缓存加倍、整数资源增加、加载/存储资源增加,以及对单操作AVX-256(或av2)的支持 AMD表示,基于其能量感知频率平台,AVX2没有频率损失 AMD还调整了高速缓存系统,其中最引人注目的是L1指令高速缓存,它已经减半到32kb,但关联性却增加了一倍。 这一变化是出于重要原因,将在下一页讨论。 L1数据缓存和L2缓存保持不变,但是事务后备缓冲区(TLB)增加了支持 AMD还表示,在安全性方面增加了更深层次的虚拟化支持,这有助于实现管道的以下功能。 正如本文前面提到的,还有安全增强功能 对于快速分析,可以很容易地看出,在许多情况下,双倍的微操作高速缓存会给IPC带来显著的改进,而将它与负载/存储资源的增加结合起来将有助于传递更多的指令。 L3缓存加倍有助于特定工作负载,支持AVX2单操作,但改进的分支预测器也将显示原始性能的改进 综上所述,从论文分析来看,AMD 15%的IPC改善似乎是一个非常合理的数字。 在接下来的几页中,我们将深入探讨微体系结构的变化。 提取/预取我们从处理器的前端开始,预取器 AMD在此推广的主要改进是使用TAGE预测器,尽管它仅用于非l1提取 这听起来可能不够:AMD仍然使用散列传感器预取引擎来提取L1,这将尽可能多地提取,但是TAGEL2分支预测器使用额外的标签来实现更长的分支历史以获得更好的预测路径 这对L2预取和后续预取变得更加重要。在基于功率的L1,哈希感知器是短预取的首选 在前端,我们还有一个更大的BTB来帮助跟踪指令分支和缓存请求 L1BTB的大小翻了一番,从256个增加到512个,L2几乎翻了一番,从4K增加到7K。 L0BTB保持在16个条目,但是间接目标阵列最多可以有1K个条目。 总的来说,AMD的这些变化将预测失误率降低了30%,从而节省了能源。 另一个主要变化是L1指令缓存 我们注意到Zen2的相关性更小:只有32KB而不是64KB,但是相关性从4倍增加到8倍。 考虑到缓存的工作方式,这两种效果不会相互抵消,但是32KB 1-I缓存应该更节能,并且具有更高的利用率。 L1-一级高速缓存不是孤立地缩小的-缩小一级高速缓存的好处之一是允许AMD将微操作高速缓存的大小扩大一倍 这两种结构在内核内部彼此相邻,因此即使在7纳米处,我们也有空之间的限制示例,导致内核内部结构之间的权衡 AMD表示,这种较小的L1和较大的微操作高速缓存配置在更多测试场景中表现更好 解码对于解码阶段,这里的主要推动力是微操作高速缓存 通过将2K个条目增加到4K条目,它将包含比以前更多的解码操作,这意味着它将经历大量的重用。 为了便于使用,AMD提高了从微操作高速缓存到缓冲区的调度速度,多达8条融合指令。 假设AMD经常可以绕过它的解码器,这应该是一个非常有效的块。 与竞争对手相比,4K的参赛作品更令人印象深刻 在英特尔的Skylake系列中,这些内核中的微操作高速缓存只有1.5千个条目 英特尔已经将冰湖的规模增加了50%,达到225万。该核心将于今年晚些时候进入移动平台,明年可能会进入服务器。 相比之下,AMD的Zen2核心将涵盖从消费者到企业的一切 同时,我们还可以将其与ArmA77CPU的微操作缓存(1.5K条目)进行比较。然而,这是第一个以Arm为核心设计的微操作缓存。 Zen2中的解码器保持不变。我们仍然可以访问4个复杂解码器(英特尔是1个复杂解码器+4个简单解码器)。解码后的指令被缓存在微操作缓存中,并被分派到微操作队列。 AMD还表示,它已经改进了微操作融合算法,但没有具体说明这将如何影响性能。 目前的微操作融合转换已经相当不错了,所以看看AMD在这里做了些什么会很有趣。 与ZEN和ZEN+相比,基于对av2的支持,这意味着解码器不需要将av2指令分成两个微操作:av2现在是通过流水线的单个微操作 除了解码器之外,微操作队列和调度每个周期可以向调度器馈送6个微操作 然而,这有点不平衡,因为AMD有独立的整数和浮点调度器:整数调度器每个周期可以接受6个微操作,而浮点调度器只能接受4个微操作。 但是,调度可以同时向两者发送微操作 浮点浮点性能的关键亮点是完全支持AVX2。 AMD将执行单元的宽度从128位增加到256位,允许单周期AVX2计算,而不是将计算分成两个指令和两个周期 通过提供256位加载和存储,这一点得到了增强,因此FMA设备可以连续供电 AMD指出,由于其能量感知调度,使用AVX2命令时没有预定义的频率下降(但频率可能会根据温度和电压要求下降,但无论使用哪个命令,这都是自动的) 在浮点单元中,队列每个周期从调度单元接受多达4个微操作,这些微操作馈入包含160个条目的物理寄存器文件 这将移动到4个执行单元,在加载和存储机制中可以向其提供256b的数据。 除了规模翻倍之外,FMA还进行了其他调整。 AMD表示,他们已经改进了内存分配、重复物理计算和一些音频处理技术的原始性能。 另一个关键更新是将浮点乘法延迟从4个周期减少到3个周期 这是一个相当大的进步。 AMD表示,它对许多细节保密,因为它想在8月份在热门芯片上展示这些细节。 我们将于7月7日进行全面的教学分析 整数单元、加载和存储整数单元调度器每个周期最多可以接受6个微操作,这些微操作将被馈送到224个条目(以前是192个)的重新排序缓冲器中 整数单元技术上有7个执行端口,由4个算术逻辑单元和3个AGU地址生成单元组成 调度器由4个16入口算术逻辑单元队列和1个28入口AGU队列组成,尽管AGU单元每个周期可以向寄存器文件馈送3个微操作 基于AMD在通用软件中对指令分布的模拟,AGU队列的大小增加了。 这些队列提供180个通用寄存器文件条目(最初为168个),但也跟踪特定的算术逻辑单元操作,以防止潜在的停机操作。 三个AGU被馈送到加载/存储单元,该单元可以支持每个周期两次256位读取和一次256位写入。 从上图可以看出,并非所有三个AGU都相同:AGU2只能管理存储,而AGU0和AGU1可以同时加载和存储 存储队列从44个条目增加到48个条目,数据缓存的TLB也增加了 然而,这里的关键指标是加载/存储带宽,因为内核现在可以支持每个时钟32字节,而不是原来的16字节。 缓存和InfinityFabric缓存中最大的变化是L1指令缓存,从64KB减少到32KB,但结合度从4路增加到8路。 这一变化使AMD能够将微操作高速缓存的大小从2K条目增加到4K条目,AMD认为这可以更好地平衡现代工作负载的发展。 L1-D高速缓存仍然是8路32KB,而L2高速缓存仍然是8路512KB L3高速缓存是非包容性高速缓存(L2是包容性高速缓存),现在其大小增加了一倍,达到16MB/核心复合体(最初为8MB) AMD管理L3的方式是每个CCX共享一个16MB的数据块,而不是允许L3从任何内核访问 随着L3大小的增加,延迟略有增加 L1仍然是4个周期,L2仍然是12个周期,但是L3已经从35个周期增加到40个周期(这是大缓存的一个特征,它们的延迟会稍长一些;这是一个有趣的权衡) AMD表示,它已经增加了处理L1和L2损失的队列大小,尽管它还没有具体说明它们现在有多大。 无限织物(InfinityFabric)随着Zen2的引入,我们也转向了第二代无限织物。 IF2的主要更新之一是支持PCIe4.0,从而将总线宽度从256位增加到512位 据AMD称,IF2的整体效率提高了27%,导致每比特功耗更低。 随着更多的中频链路在EPYC可用,这将变得非常重要,因为数据从小芯片传输到输入输出芯片。 IF2的一个特征是时钟已经与动态随机存取存储器主时钟分离 在Zen和Zen+中,中频频率与动态随机存取存储器频率耦合,这导致了一些有趣的场景,其中存储器可以运行得更快,但是中频的限制意味着它们都受到时钟锁定特性的限制。 对于Zen2,AMD引入了IF2的比率,支持1:1或2:1的正常比率,这可以将IF2时钟减半 该比率应自动在DDR4-3600或DDR4-3800左右工作,但这确实意味着IF2时钟减少一半,这对带宽有影响。 应当注意,即使动态随机存取存储器的频率很高,如果中频频率很低,从较快的存储器获得的原始性能增益也可能受到限制。 AMD建议在DDR4-3600左右保持1:1的比例,但以此速度优化子时序 结论:平台、系统芯片、核心建筑核心(如Zen2)需要的不仅仅是核心建筑 核心、SoC设计和平台之间的互动需要不同的内部团队团结起来,创造出个人工作所缺乏的协同水平。 AMD在小芯片设计和Zen2上的工作显示了巨大的希望,不仅可以使用更小的处理节点,还可以为计算的未来开辟一条道路。 当进入更高级的过程节点时,主要优势是更低的功耗。 这可以通过在相同性能下降低运行功率或使用更多功率预算来完成更多工作来实现。 随着时间的推移,我们已经在核心设计中看到了这一点:随着更多的功率预算被打开,核心中的不同单元变得更加高效,额外的功率被更广泛地用于驱动核心,希望提高原始指令率 这不是一个容易解决的问题,因为有很多权衡:Zen2内核的一个例子是L1I缓存的减少使AMD的微操作缓存翻倍,AMD希望这将提高性能和功耗。 对这些工程师来说,实施一个至少在高层次上可行的计划就像是在找乐子 然而,zen2看起来非常像Zen2。 它属于同一个系列,这意味着它看起来非常相似。 AMD在这个平台上所做的一切,启用PCIe4.0和将服务器处理器从类似NUMA的环境中解放出来,将有助于AMD的长期发展。 AMD的良好前景取决于它驱动服务器组件的频率,但Zen2+Rome将专注于解决Zen客户提出的大量问题。 简而言之,AMD在Zen2和Zen2+的基础上将其核心性能提高了15% 随着核心的变化,这在高层次上肯定是可行的。 注重性能的用户会喜欢新的16核Ryzen93950X,处理器在105瓦时看起来非常高效,所以看看低功耗会有什么样的效果会很有趣。 我们还预计罗马将在未来几个月推出非常强大的产品,特别是双倍FP性能和服务质量等特性。64核的原始多线程性能将成为市场上一个有趣的破坏者,特别是如果价格有效的话。 当处理器在7月7日发布时,我们将很快得到硬件来展示我们的发现。

未经允许不得转载:威尼斯人手机娱乐 » 用万字解读AMD的新建筑
分享到:
赞(0)

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址