Service 服务项目

高通揭露了自家研发的芯片架构细节,使得Apple M系列迎来了最强劲的竞争对手

 

在过去的8个月里,高通对其基于Windows-on-Arm的高性能SoC做出了多项引人注目的声明,这些声明中很多将在接下来的几周内进行测试。 然而,在日益激烈的 PC CPU 竞争环境中,除了众多性能宣传之外,仍有一个更为基础的问题困扰着我们,那就是:骁龙 X 是如何运作的呢?在下周发布之前,我们最终得到答案了,因为今天高通发布了他们期待已久的骁龙 X SoC 架构披露。不仅包括他们全新定制的 Arm v8 “Oryon” CPU 核心,还有他们 Adreno GPU 技术的披露,以及 Hexagon NPU 对他们积极推广的 AI 功能的支持。

这家公司之前明确表示,骁龙 X 是公司的一个重要且优先的计划——他们不会简单地使用现有的IP模组组装Windows SoC——因此,SoC集成了许多新技术。虽然我们对这一切感到高兴,但我们必须首先承认,我们最激动的是最终能够深入了解Oryon,即高通定制的Arm CPU核心。作为过去几年来第一个全新设计的高性能 CPU,Oryon 的重要性无论如何强调都不过分。Oryon不仅仅是为新一代Windows-on-Arm SoC提供基础(高通希望通过这一举措在Windows PC市场中占据一席之地),还将作为高通传统骁龙移动手机和平板电脑SoC的基础。鉴于这一情况,未来几年里,公司的许多硬件都将采用这种 CPU 架构——只要一切顺利进行,Oryon 将推出更多的产品代。无论如何,这将使高通在个人电脑和移动领域脱颖而出,因为这代表着高通正在摆脱Arm的参考设计,而Arm的参考设计本质上也是高通的竞争对手。

现在就开始,我们来详细了解一下高通骁龙X SoC的架构。Elite、Plus和当前发布的SKU简单回顾一下,高通迄今已发布了4款Snapdragon X SKU,所有产品都已交付给设备制造商,将在下周推出。

中有三种是“Elite”型号,即具有12个CPU核心。同时,高通目前只发布了一种“Plus”版本,其中 CPU 核心数量减少至10个。高通官方表示,它并没有为这些芯片型号指定任何热设计功耗(TDP)等级,因为原则上,任何特定的型号都可以在各种功耗水平下使用。需要在不带风扇的笔记本电脑中安装高端芯片吗?只要降低 TDP,使其与您的电源和散热能力相匹配即可。实际上,实现高通芯片的最大时钟速度和性能目标,需要进行大量的散热和电力供应。因此,我们不太可能在无风扇设备中看到X1E-84-100这款处理器的应用,因为它的时钟速度较高,会因为缺乏散热空间而造成大量能量浪费。这并不妨碍性能较低的芯片被选用作为预算选项用在更大的设备上,不过 SKU 表也可以根据 TDP 大致排序。尽管这个消息不是今天才发布的,但看到更多骁龙 X 芯片的不同版本即将推出,也不应感到意外。高通正在开发至少一款骁龙X芯片,这已经成为一个鲜为人知的秘密。这款芯片尺寸更小,CPU和GPU核心可能更少,未来可能会推出更注重预算的SKU系列。目前,高通正专注于推出其旗舰芯片,因此也是性能最强大的选择。虽然首批 Snapdragon X 设备直到下周才会与消费者见面,但从 OEM 采用情况来看,这显然将成为高通迄今为止最成功的Windows-on-Arm SoC。与 骁龙 8cx Gen 3 相比,采用情况的不同几乎是完全不同的;高通的 PC 合作伙伴已经开发了十几款笔记本电脑型号,采用了新芯片,而最新的 8cx 则有两种设计。因此,微软、戴尔、惠普、联想等公司都在生产搭载Snapdragon X处理器的笔记本电脑,使得Snapdragon X生态系统的推出比之前任何Windows-on-Arm产品更加强大。{X}{X}毫無疑問,這主要歸因於高通結構的強大。骁龙 X 芯片搭载了高通声称比最新(大约是 2022 年)8cx 芯片上的 Cortex-X1 内核更加强大的 CPU,还采用了与台积电 N4 节点具有激烈竞争力的工艺制造。所以,只要所有条件都符合,高通来说,骁龙X芯片应该被视为一项重大进步。

除此之外,还有另外两个关键因素支持着这个产品的推出。首先当然是人工智能,骁龙 X 是第一款支持 Copilot+ 的 Windows SoC。骁龙 X芯片的Hexagon NPU需要40+ TOPS的NPU,45 TOPS的Hexagon NPU使得该SoC成为首个在神经网络和其他模型推理方面提供如此高性能的芯片。性能是第二要素。高通保证,依托长期生产移动SoC的经验,其SoC的电池续航能力会非常出色。如果他们能够达到这个目标,同时兼顾性能目标,让用户两全其美,那么对骁龙X芯片和相关笔记本电脑将有很好的帮助。高通希望实现类似于苹果从英特尔x86芯片转向他们自家定制Arm芯片Apple Silicon时获得性能和电池寿命提升的时刻。而微软这个合作伙伴则非常希望能在个人电脑的生态系统中推出与MacBook Air 竞争的产品。这个挑战十分艰巨,主要是由于英特尔和AMD在过去几年中都没有停滞不前,但这并非不可达成的。尽管如此,高通和基于Arm架构的Windows生态系统的发展确实面临一些挑战,这也就意味着骁龙X处理器的发展道路永远无法与苹果相媲美。Windows存在一个明显的缺陷,就是它没有一个统一的开发硬件和软件生态系统,也没有鼓励开发人员为其开发软件。此外,Windows还带有向后兼容的预期,这也带来了一些遗留问题。微软继续致力于发展其 x86/x64 仿真技术,目前该技术称为 Prism。而骁龙 X 的推出将是该技术首次真正受到考验。尽管 Windows 多年来一直支持 Arm 架构,但软件生态系统仍在逐渐完善,因此骁龙 X 处理器将更多地依赖 x86 仿真技术,这将导致其性能不如苹果处理器。Windows和macOS是两个截然不同的操作系统,无论是从它们的历史还是开发理念的角度来看,这种差异在骁龙X的早期阶段尤为显著。Oryon CPU 架构: 为了满足各种应用的需求而精心设计的核心。为了深入探究这个架构,我们将从最关键的部分开始讲起:Oryon CPU 的核心。回顾一下,Oryon 实质上是高通的第三方收购。这款 CPU 核心最初名为“凤凰”,是由芯片初创公司 NUVIA 开发的。NUVIA 由多名前苹果员工组建,最初旨在研发一款新型服务器 CPU 核心,旨在与现代 Xeon、EPYC 和 Arm Neoverse V CPU 的核心展开竞争。高通在2021年抓住了获得优秀CPU开发团队的机会,收购了NUVIA。凤凰被重新利用于消费级硬件,转变为 Oryon CPU 核心。尽管高通没有过多关注Oryon的起源,但很明显,第一代架构(采用Arm的v8.7-A ISA)仍然扎根于最初的Phoenix设计思路。凤凰已经被设计成了可扩展和节能的,这对高通来说绝对是一件好事。然而,这也意味着许多以客户为中心的设计变化并未在最初的Oryon设计中呈现,我们可以期待未来几代CPU架构中能够看到这些变化。经过深入研究后,正如高通之前所公开的那样,骁龙 X 采用了三组 Oryon CPU 核心。在更高的角度看,Oryon 被规划为一个全尺寸的 CPU 核心,可以同时提供高能效和性能。因此,这是高通所需的唯一处理器核心;它不像之前的高通骁龙8cx芯片或英特尔/AMD最新的移动芯片一样,设有单独的性能优化和效率优化核心。据高通公司披露,所有的集群都是平等的。因此,没有一个集群是专门针对电源效率而不是时钟速度进行调整的“效率”集群。只有 2 个 CPU 内核(位于不同的集群)可以达到给定 SKU 的最高涡轮速度;其他内核的最高速度将与芯片的全核涡轮速度相等。每个群体都有自己的PLL,这样每个群体都可以独立进行计时和通电。事实上,这表示当工作量较少时,两个集群可以进入休眠状态,以便在需要更多性能时唤醒。

不同于大部分 CPU 设计,高通在 Snapdragon X 和 Oryon CPU 核心集群中采用了更加扁平的缓存层次结构。每个核心并非都配备自己的 L2 缓存,而是每 4 个核心共享一个 L2 缓存(这类似于英特尔在其 E 核心集群上共享 L2 缓存的方式)。此外,这还是一个相当庞大的L2缓存,容量为12MB。L2缓存具有12路关联,即使这么大,在L1未命中时访问L2缓存的延迟也仅为17个周期。

这个缓存设计具有包容性,也包括了L1缓存的内容副本。据高通公司表示,他们采用包容性缓存以实现节能;包容性缓存意味着驱逐更加简单,因为无需将L1数据移动到L2即可进行驱逐(或者在提升到L1时从L2中删除)。相反地,缓存一致性是通过采用MOESI协议来确保的。

L2缓存以与所有内核频率相同的速度运行。L1/L2缓存操作是64字节的全局操作,这就意味着在缓存和CPU核心之间每秒可以实现数百GB的带宽。尽管L2缓存通常为其直接连接的CPU核心提供服务,但高通还实施了优化的集群至集群监听操作,以解决一个集群需要读取另一个集群的情况。Snapdragon X有趣之处在于,它的4个核心集群配置甚至比Oryon CPU的集群要小。根据高通工程师的说法,这个集群设计实际上具备处理8核的所有功能和带宽,毫无疑问,让人想起它作为服务器处理器的起源。消费级处理器,拥有多个小集群,有助于提供更精细的电源管理,并可作为制造低端芯片(例如 Snapdragon 移动 SoC)的更优秀基础构建模块。然而,当这些核心位于不同集群中时(需通过总线接口单元连接到另一核心)时,将带来一些权衡,即核心之间的通信速度可能较慢。这个区别虽然细微,但却值得关注,因为目前英特尔和AMD的设计都是将6到8个CPU核心放置在同一集群/CCX/环内。对于 Oryon CPU 单个内核的深入研究让我们很快意识到,高通为何选择采用共享 L2 缓存:因为单个内核中的 L1 指令缓存已经非常庞大。Oryon 配备了192KB的L1 I-Cache,比起矮红树丛湾(Meteor Lake)的L1 I-Cache 要大三倍,甚至比 Zen 4 的还要更大。总的来说,6 路相关缓存让Oryon能够在CPU执行单元的本地存储大量指令。很遗憾,我们没有 L1I 延迟的资料,无法对其与其他芯片进行比较。Oryon的取指/一级缓存单元每个时钟周期最多能够检索16条指令。这提供了对非常宽解码器的支持。Oryon 可以在一个时钟周期内解码多达 8 条指令,其解码前端比 Redwood Cove (6) 和 Zen 4 (4) 更宽。并且所有的解码器都是相同的(对称的),所以不需要特殊的情况或场景就可以实现全面的吞吐量。

和其他现代处理器一样,这些经过解码的指令以微操作(uOps)的方式发出,以便CPU核心进一步处理。在技术层面上,每条 Arm 指令最多可以解码 7 个微操作,但据高通表示,Arm v8 的指令与解码后的微操作的比例通常更为接近1:1。

分支预测是CPU核心性能的另一主要因素,这也是Oryon慷慨支持的又一个领域。Oryon 具备所有常见的预测方式:直接、条件和间接。直接预测器运行在单个时钟周期内;而若分支预测错误,则会导致延迟损失长达 13 个周期。遗憾的是,高通没有公开透露有关分支目标缓冲区本身的信息。它们的尺寸不明确,因此我们不清楚它们实际有多大。

但是,我们确切知道L1转译后备缓冲区(TLB)的大小,它被用来进行虚拟到物理内存地址的映射。这个缓冲区最多可以存储256个项目,并支持4K和64KB页面。翻转到Oryon的执行后端时,有许多值得讨论的方面。这是因为这里装备了大量硬件设备和缓冲区。Oryon设备配备了一个容量为650个以上的重排序缓冲区(ROB),以实现指令乱序执行和整体性能的提升。高通成为最新的 CPU 设计师,他们舍弃了传统的思路,推出了一个大规模的ROB,这样就避免了声称更大的ROB带来的边际收益递减。反过来,8个指令输入与8个uOps输出匹配,指令退出与解码器块的最大容量相对应。正如之前提到的,解码器在技术上能够对一个指令发出多个uOps,但通常情况下它会与指令退出率完全匹配。在

Oryon上,寄存器重命名池的规模也相当庞大。你能感受到这里有一个共同的主题吗?)。共有超过400个寄存器可用于整数操作,还有额外的400个寄存器可用于向矢量单元传递数据。关于实际的执行管道本身,Oryon 提供了6个整数管道、4个浮点/矢量管道和额外的4个加载/存储管道。由于高通没有提供所有管道的完整映射,因此我们无法涵盖所有可能性和特殊情况。然而,在更高层次上,所有整数通道都可以实现基本的算术逻辑单元(ALU)操作,其中有2个能够处理分支,还有2个能够执行复杂的乘法累加(MLA)指令。我们同时得知大多数整数运算在单个周期内完成,具有单周期延迟。每个向量通道都有自己的 NEON 单元,在浮点和向量方面。请注意,这是一个Arm v8.7架构,因此不支持任何向量SVE或Matrix SME通道;CPU核心的唯一SIMD功能是使用传统的128位NEON指令。这使得CPU仅限制在比现代PC CPU更少的向量位数上(AVX2只有256位宽),但通过在所有四个FP管道上的NEON单元来弥补这一问题。因为我们正处于AI时代,FP/向量单元能够支持所有常见的数据类型,一直到INT8。唯一需要注意的一个遗漏是BF16,这是AI工作负载中常见的数据类型;然而,在严肃的AI工作负载中,这就是NPU的用武之地。我们在Oryon上还发现了数据加载/存储单元。主要的加载/存储模块非常有弹性,这表示在每个周期内,4个执行管线可以根据需要执行加载和存储的任意组合。队列最大可容纳192个项目,而储存队列最多可容纳26个项目。所有的填充都是以缓存行的完整大小为单位的:64字节。L1数据缓存,支持加载和存储单元的数量也是相当大的。6路关联缓存的大小为96KB,与英特尔Redwood Cove缓存相同,是其大小的两倍。尽管即将发布的Lion Cove将会改变这一点。它经过精心设计,能够有效地支持各种不同访问尺寸。高通的内存预取器被形容为一种“秘方”,因为据该公司表示,这个复杂的部件对性能有着重要的影响。因此,高通并没有详细披露其预取器的运作原理,但可以肯定的是,它准确地预测和预取数据的能力将显著影响 CPU 核心的整体性能,特别是在现代处理器时钟速度较快、DRAM 行程时间较长的情况下。总的来看,高通的预读取算法旨在涵盖各种情况,从简单的相邻和跨度到更复杂的模式,通过分析过去的访问记录来预测未来的数据需求。Oryon 的内存管理单元相对简单,与

相反。这款现代 MMU 全面功能齐备,支持多项高级功能,如嵌套虚拟化——允许客户虚拟机托管自身的客户虚拟机管理器,为更遥远的虚拟机提供服务。在这里,还有一项值得注意的功能,那就是硬件表遍历器。当缓存行不在 L1 或 L2 缓存中时,该单元将负责将缓存行移至 DRAM 存储器,最多支持 16 个并发传输通道。请记住,每个核心都是关键的,所以每个完整的 Snapdragon X 芯片最多可以进行 192 次表格遍历。在最后,除了CPU内核和CPU集群之外,我们还拥有SoC的顶级组成部分:共享内存子系统。这是缓存的最后一层,在这里与芯片共用L3缓存。鉴于芯片的L1和L2缓存大小,或许您会以为L3缓存也很宽裕。但您错了。实际上,高通只在芯片上配备了6MB的L3缓存,这只是它支持的36MB L2缓存中的一小部分。由于在 L1/L2 级缓存上已经有大量缓存,并且这些缓存之间紧密集成,高通在这里采用了相对较小的缓存来作为进入系统内存之前的最后一站。与传统的 x86 中央处理器相比,这是一个相当显著的差异。尽管这符合高通的品牌定位,但其 Arm 移动系统芯片通常具有较小的三级缓存。L3缓存有一个明显的优点,就是其访问速度非常快,延迟仅为26-29纳秒。具有与DRAM相同的带宽(135GB/秒),可以在其下方的L2缓存和其上方的DRAM之间传递数据。关于内存支持方面,正如之前公布的信息所述,骁龙 X 拥有128位内存总线,能支持LPDDR5X-8448,最大内存带宽可达135GB/秒。目前的骁龙X处理器支持最高64GB的LPDDR5X内存容量,但如果高通开始推出更高密度的LPDDR5X芯片,并确认支持128GB,我也不会感到意外。值得一提的是,与其他专注于移动领域的芯片不同,骁龙X没有使用任何封装内存。因此,LPDDR5X 芯片将被植入设备主板上,设备供应商可以自行选择内存配置。

采用LPDDR5X-8448内存,高通公司指出DRAM延迟应略高于100纳秒,大约为102至104纳秒。最后,让我们简单谈一下CPU的安全性。高通公司提供现代芯片所需的全部安全功能,包括 Arm TrustZone、每个群集的随机数发生器和指纹身份验证等安全增强功能。

的一个显著特点是,高通声称Oryon可以有效防范所有已知的旁路攻击,包括Spectre,这类攻击也被戏称为“无休止的礼物”。这个论断非常有趣,因为Spectre本身并非硬件漏洞,而是由推测执行所带来的固有后果。这也是因为它很难做到完全防御的缘故(最佳的防御是让敏感操作自行隔离)。尽管这样,高通相信,通过在硬件中引入不同的混淆措施,他们可以有效地抵御这种侧信道攻击。因此,观察这种发展将会非常有趣。

关于 x86 仿真的说明

最后,我希望能花些时间简单介绍一下有关 Oryon 平台上的 x86 仿真的相关内容。高通的x86仿真解决方案比我们在苹果设备上常见的解决方案更加复杂,这是因为在Windows领域,没有任何一家供应商能够同时控制硬件和软件整个堆栈。因此,尽管高通可以讨论他们的硬件,但他们无法掌控软件方面的问题 - 而且他们不愿意承担代表微软发言而可能出现的失误风险。因此,Snapdragon X 设备上的 x86 模拟实际上是两家公司的合作项目,高通公司提供硬件,微软则负责 Prism 转换层。虽然 x86 模拟主要是由软件任务完成的(Prism 承担了大部分工作),但 Arm CPU 制造商仍可通过一些硬件调整来提高 x86 性能。高通已经做出了相应的调整。Oryon CPU 核心带有硬件辅助功能,可以优化 x86 浮点运算性能。为了解决这个房间里大象的问题,Oryon 进行了硬件调整以适应 x86 的独特内存存储结构——这一举措被广泛认为是苹果在自家芯片上实现高性能 x86 模拟的关键进步之一。即便如此,没有人会相信高通的芯片能够像原生芯片一样迅速地运行 x86 代码。依然会存在一些转换成本(具体数额取决于工作量),性能关键型应用程序使用原生AArch64编译仍然有好处。然而,高通并非完全受微软的控制,他们已经对硬件进行了调整,以提升其 x86 模拟性能。

在兼容性方面,最大的挑战预计会出现在AVX2支持上。与Oryon的NEON单元相比,x86架构的矢量指令集更宽(256b对128b),且指令之间没有完全的重叠。就像高通所提及的,从AVX到NEON的转换是一项极具挑战性的工作。然而,我们清楚这是可能实现的——苹果本周将 AVX2 支持悄悄加入了他们的游戏移植工具包2——所以,关注未来几代Oryon CPU核心的发展将会非常有趣。与苹果的生态系统不同,x86 架构不太可能在 Windows 生态系统中消失,因此升级到 AVX2(最终将是 AVX-512 和 AVX10!需求永远都不会消失。

Adreno X1 GPU 结构:一个更为熟悉的图像

接下来,我们将讨论骁龙 X SoC 的GPU结构:Adreno X。

和Oryon CPU核心不同,Adreno X1并非采用全新的硬件架构。实际上,之前已经发布了三代的8cx SoC,即使对于Windows系统而言,这也并不算是全新的东西。然而,高通多年来一直保持对其GPU架构的保密,因此对AnandTech的读者来说,GPU架构可能也是一种未曾接触过的新事物。这么说吧,我已经花了超过十年的时间努力获取高通提供的详尽信息,现在骁龙 X 的推出终于让我如愿以偿。在更高的层面上看,高通目前正在开发的Adreno X1 GPU架构是Adreno系列的最新版本,其中X1代表第7代。Adreno GPU 自 15 年前从 ATI 收购以来一直在发展壮大,Adreno 这个名称实际上是 Radeon 的字母重排版本。在过去的多年里,高通的 Adreno 架构一直是 Android 领域中最顶尖的 GPU。在Windows领域,情况略有不同。因为独立GPU将集成GPU抛在了一边,不能处理那些绝对需要高GPU性能的工作负载。由于游戏开发一直与 GPU 架构/驱动程序密不可分,长期以来高通在Windows市场上的份额微乎其微,导致他们常常被游戏开发商所忽视。然而,高通并非一家新手在 Windows 游戏领域,这使得他们在努力扩大在 Windows 市场的占有率时处于有利地位。从功能上来看,Adreno X1 GPU 架构与现代的 x86 SoC 相比稍显陈旧。尽管这种设计可以实现光线追踪,但是这款芯片不支持完整的DirectX 12 Ultimate(功能级别 12_2)功能集。这代表它必须告知 DirectX 应用程序其为 12_1 功能级别的 GPU,因此大部分游戏将有限制地使用这些功能。尽管如此,Adreno X1 确实支持一些高级功能,这些功能已经在 Android 上广泛使用,因为它并不依赖于 DirectX。正如之前提到的,它能够利用光线追踪技术,在Windows应用程序中使用Vulkan API和其光线查询功能。鉴于 Vulkan 在 Windows 平台上的应用有限,高通不会深入讨论这一主题是可以理解的。不过报道表明,高通的实现是二级设计,支持硬件光线追踪,但不具备类似于 AMD RDNA2 中硬件BVH处理器的功能。

此外,还支持第2层可变速率着色(VRS),这对于优化移动GPU上的着色器工作负载非常重要。因此,似乎限制 X1 获得 DirectX 12 Ultimate 支持的功能是网格着色器和采样器反馈,这确实是一些相当显著的硬件变化。就 API 支持方面而言,正如之前所述,Adreno X1 GPU 兼容 DirectX 和 Vulkan。高通支持 DirectX 12、DirectX 11、Vulkan 1.3 和 OpenCL 3.0 的本机驱动程序/路径。该情况的一个特殊情况是 DirectX 9 的支持,和处理器供应商英特尔类似,该支持是通过 D3D9on12 实现的,它能够将 DX9 指令转换为DX12。如今 DX9游戏已经很少见(15年前被DX10/11所取代),但是由于它是Windows系统,所以向后兼容性一直是持续的期望。

则支持微软的新DirectML API,该API用于机器学习,即便是低级GPU。高通甚至对针对 GPU 编写的指令进行了优化,以使得能够更有效地运行 DirectML 软件,而不需要了解任何其他架构信息。

Adreno X1 GPU 架构深入解析

除了先进功能外,我们也来探讨一下基础架构。Adreno X1 GPU 分为 6 个着色器处理器块,每块包含 256 个 FP32 ALU,合计 1536 个 ALU。时钟速度最高可达1.5GHz,这使得骁龙X的内置GPU能够达到最大吞吐量为4.6 TFLOPS(较低端SKU的吞吐量更低)。

和其他 GPU 一样,GPU 的前端被分为传统的前端、SP(着色处理器)和后端部分,前端主要负责处理三角形设置和光栅化,以及将 GPU 基于图块的渲染模式进行合并。需要注意的是,GPU 前端在每个时钟周期可以处理和光栅化两个三角形。在2024年的个人电脑领域,这并不会引起太多关注,但对于集成GPU而言,这已经算是相当令人满意的表现了。为了增强性能表现,前端还可进行提前深度测试,以排除在光栅化前永远不会被显示的多边形。

与此同时,后端有6个渲染输出单元(ROP)组成,每个单元每个时钟周期可处理8个像素,总共每个时钟周期渲染48个像素。将数据存入本地缓存,以及在高通芯片中被称为GMEM的关键快取内存。单个的Shader处理器块在GPU架构中是比较常见的,尤其是如果你看过NVIDIA的架构图的话。每个SP都被细分为两个微通道(微调色器通道和纹理通道,或称为uSPTP),它们由专门的调度程序和其他资源(如本地内存、加载/存储单元和纹理单元)来控制。每个x个uSPTP都具有128个FP32 ALU。而且,令人意外的是,Adreno X1 拥有一组独立的256个FP16 ALU。这表示在处理FP16和FP32数据时,不需要共享资源,这与在FP32 ALU上执行FP16操作的架构有所不同。然而,如果 GPU 调度程序明确需要的话,FP32 单元也可用于执行FP16操作。最后,有16个基本函数单元(EFU)可用于处理超越函数,如LOG、SQRT以及其他不太常见但却重要的数学函数。Adreno X1 使用的波前尺寸十分宽大,让人感到吃惊。根据设计,高通使用的波束通常有 64 或 128 个通道宽度。高通表示,他们一般会选择 128 通道宽度的波束用于进行 16 位操作(如片段着色器),而选择 64 通道宽度的波束用于进行 32 位操作(如像素着色器)。AMD 的 RDNA 架构采用 32/64 宽波前,而 NVIDIA 的波前/扭曲始终为 32 宽。在PC领域中,宽设计已经不再流行,因为它难以维持馈电(散失过多),所以这是非常有趣的事情。尽管大多数人担心波前大小问题,但考虑到高通智能手机SoC所具备的出色GPU性能,可见其在高通这方面做得相当出色——尤其是考虑到手机屏幕的高分辨率,实现这点绝非易事。每个uSPTP除了包含ALU外,还有自己的纹理单元,每个uSPTP在每个时钟周期可以输出8个纹理像素。这里提供了一些有限的图像处理能力,例如纹理过滤,以及用于生成运动矢量的 SAD/SAS 指令。每个 uSPTP 最终都包含大量的寄存器空间。除了L1纹理缓存之外,还有总共192KB的通用寄存器,用于为每个块提供信息,并尝试隐藏前波的延迟气泡。如上文所述,Adreno X1 可支持多种渲染模式,以提供最佳性能,该技术被公司称为 FlexRender。在PC GPU设计中并不常见,但在移动领域却显得更为关键,这是由于其历史和效率原因造成的。高通不仅支持传统的直接/即时模式渲染方法(大多数PC GPU的常见方式),还提供基于图块的渲染,称之为合并模式。和其他图块渲染器一样,合并模式把屏幕分割成不同的图块,然后分别对每个图块进行渲染。GPU可以分批处理数据,将大部分数据存储在本地缓存中,从而减少与DRAM的数据流量,不过这样可能会增加能耗并限制性能。Adreno X1还有第三种模式,将分箱渲染和直接渲染结合起来,称之为分箱直接模式。在进行直接渲染之前,该模式会执行视觉分箱通道,进一步排除背面(不可见)三角形,以避免它们被光栅化。删掉这些数据后,GPU 就会切换到直接渲染模式,目前工作量减轻了。GPU 的 GMEM 是使分级渲染模式正常工作的关键,它是一个大小为3MB的SRAM块,可充当GPU的高带宽暂存器。就架构而言,GMEM 不只是一个缓存,因为它与系统的内存层次结构分隔开来,同时 GPU 几乎可以对内存做任何操作(包括在需要时将其作为缓存)。每个

GMEM块的大小为3MB,总体来说并不算很大。然而,它可以保存一个图块,以减少大量流量对系统内存的影响。它速度快,带宽高达2.3TB/秒,足以实现ROP全速运行,不会受限于内存带宽。假设

有了GMEM块,在最理想的情况下,GPU只需在渲染该图块时,将每帧数据写入DRAM一次。在实际操作中,DRAM 的使用量可能会更大,但这是高通设备避免 GPU 向DRAM写入数据从而占用内存带宽和电量的关键功能之一。当Adreno X1需要访问系统内存时,它会首先从自身的缓存中查找,然后才会访问Snapdragon X的共享内存控制器。每个 Snapdragon X 芯片组都有一个 128KB 集群缓存,高于GMEM,并且每对SP都有一个(每个Snapdragon X芯片组上总共有384KB缓存)。此外,还有一个大小为1MB的GPU统一L2缓存。最终,系统级缓存(L3/SLC)是最后剩余的,它为GPU上的所有处理块提供服务。当其他方法都尝试失败后,DRAM 仍然是一个选择。最后要注意的是,Adreno X1 GPU 内部还集成了一个专用的 RISC 控制器,作为 GPU 管理单元 (GMU)。吉姆尼大学提供多种功能,其中最为关键的是图形处理器内的电源管理。GMU 与其他 SoC 区域的电源管理请求协同工作,允许芯片基于 SoC 设定的最佳性能分配策略在各个区块间重新分配功率。

表现和初步印象

最后,在我们结束这次架构深度解析之前,让我们先来浏览一下高通提供的几张性能幻灯片。尽管在下周全球零售设备发布会上可以亲眼目睹骁龙X的性能,但在这之前,它让我们对预期结果有了更深入的了解。务必小心处理。

在 CPU 方面,高通声称 Snapdragon X Elite 能够在 GeekBench 6.2 的单核测试中超越所有现代 PC 对手。并且,在考虑能源效率时,它的领先优势也非常明显。

总的来说,高通声称,即使 Snapdragon X Elite 中的 Oryon CPU 核心的 TDP 不受限制,它在绝对性能方面也能超过 Redwood Cove(Meteor Lake)和 Zen 4(Phoenix)。考虑到移动 x86 芯片加速高达 5GHz 这一说法,尽管大胆,但并非不切实际。在 GPU 部分,高通同时也取得了类似的能效改善。然而,讨论的工作负载 3DMark WildLife Extreme 不太可能适用于绝大多数游戏,因为它是一种专门针对移动设备设计的基准测试,一直以来都在各移动 SoC 供应商的驱动程序中反复优化。用实际游戏来进行性能基准测试可能会更有帮助。虽然高通可能会选择一些好产品,但顶级的骁龙X SKU常常与英特尔的酷睿Ultra 7 155H竞争。它的整体表现可能不太出色,但高通目前在真实的游戏中表现强劲令人欣慰。在这种情形下,即使只是英特尔更好的移动处理器之一的平局或打败,也不算太糟糕。

以上是我们初次深入研究高通骁龙 X SoC架构的初步想法。高通计划长期投资于 Windows-on-Arm 生态系统,力争成为第三大 Windows CPU/SoC 供应商,从而打造领先地位。Snapdragon X SoC 和其 Oryon CPU 核心的最终意义不仅在于其作为笔记本电脑的 SoC。尽管高通在这个领域取得了巨大成功,但其出货量所占PC芯片市场份额与其在Android SoC领域的绝对实力相比仅是九牛一毛。Oryon 将在这里照亮高通移动 SoC 实现重大变革的道路。→ Oryon 将在这里为高通移动 SoC 带来重大变革。正如高通自Oryon之旅开启以来所强调的,这将逐渐成为高通所有产品的主要CPU内核。从这个月开始的PC SoC计划最终将扩展到涵盖移动SoC,包括骁龙8系列等。未来还将进一步发展,包括高通的汽车产品和XR耳机SoC等高端分支。我对我们是否会在高通产品中看到Oryon及其继任者一觉多少怀疑(由于该公司需要小而便宜的CPU内核来支持预算产品线,例如骁龙6和骁龙4),但毫无疑问,长远来看,它将成为他们大多数产品的核心。自己定制 CPU 内核的独特价值在于,在尽可能广泛的领域应用它,以最大化从 CPU 内核中获益。

最终,高通在过去8个月持续大力推广其即将推出的下一代PC SoC以及定制CPU核心,现在是时候让所有的部分都就绪了。PC CPU 行业将迎来第三个竞争对手,这个基于 Arm 架构的对手让人兴奋,然而,要注意的是,幻灯片和广告并非硬件实力和性能的体现。因此,我们怀着热切期待,盼望着下周会带来什么,看看高通的技术实力是否能够实现公司的雄心壮志。

作者:半导体行业观察,出处:半导体行业观察(ID:icbank),原标题:《高通自家芯片架构详细解析,挑战苹果M系列最强竞争对手》。

风险提示和免责声明 市场存在风险,投资需谨慎。本文并非个人投资建议,也未针对特定用户的个人投资目标、财务状况或需求进行考虑。用户需要思考这篇文章中的任何建议、观点或结论是否适合他们个人的情况。基于此进行投资,后果自负。

搜索