高通的 Oryon 核心:历经漫长时间打造而成

  • 2019 年,名为 Nuvia 的初创公司走出隐身模式,其领导团队包括多位知名芯片架构师,其中一人曾在苹果工作。苹果 M1 芯片因性能可与 AMD 和英特尔产品媲美且能效更高而获得认可,Nuvia 有类似目标,旨在创建高效能核心超越 AMD、苹果、Arm 和英特尔的设计,高通 2021 年收购 Nuvia 并将其员工纳入内部 CPU 工作。
  • 高通内部 CPU 工作因 Nuvia 员工而焕发生机,导致 Snapdragon X Elite 中的 Oryon 核心诞生,距 Nuvia 新闻发布近五年,高通上次发布内部设计核心的智能手机 SoC 近八年,Nuvia 粉丝等待已久。
  • 拥有配备 Qualcomm Snapdragon X1E - 80 - 100 CPU 的三星 Galaxy Book4 Edge 16 英寸笔记本,因无上游设备树无法安装 Linux 桌面,测试多在 Windows Subsystem for Linux (WSL) 下进行。
  • Snapdragon X1E - 80 - 100 实现 12 个 Oryon 核心在三个四核集群中,每个集群有 12 MB L2 缓存,高通未采用混合核心配置,Oryon CPU 集群以不同最大时钟运行以提供良好的单线程和多线程性能。
  • 从核心到核心延迟测试可明显看出 Snapdragon X Elite 的集群安排,与高通之前的笔记本芯片尝试相比,延迟不太一致。Nuvia 联合创始人曾在苹果工作,M1 是比较点,M1 使用共享 L2 的四核集群,且采用混合核心配置,核心到核心延迟在集群内相似,跨集群传输延迟高但绝对值稍好。
  • 运行于 Asahi Linux 下的 Macbook Air 中,Mac OS 无设置线程亲和性的系统调用。Snapdragon X Elite 和 M1 都有系统级缓存 (SLC),以牺牲部分性能为代价为芯片上的多个块服务。
  • Snapdragon X Elite 的主要竞争对手是 AMD 的 Phoenix 和英特尔的 Meteor Lake,AMD 的 Phoenix SoC 有八个 Zen 4 核心和 16 MB L3,核心都在同一集群,核心到核心延迟测试较无聊,整体延迟很低,但其 16 核桌面 Zen 4 变体的跨集群延迟仍优于 Snapdragon X Elite 或 M1。英特尔的 Meteor Lake 有复杂混合设置,不同核心共享不同缓存,核心到核心延迟在 CPU 片内较低,但跨到低功耗 E - Core 集群则延迟较长。
  • 处理器在空闲时通过降低时钟来节省电量,从空闲到高性能状态的转换需要时间,Snapdragon X Elite 在电池供电时加载后超过 110ms 才达到最大时钟速度,英特尔 Meteor Lake 极端情况下在电池上不达到最大 boost 时钟,AMD 在墙电和电池供电上都有快速 boost 策略。在墙电下,三星不让 CPU 空闲以获得更好响应性,但会使笔记本在空闲时明显发热,Meteor Lake 和 Phoenix 则无此特性。
  • Qualcomm 的 Oryon 是 8 宽核心,具有很高的重新排序能力,可运行在 4GHz 及以上,顶级 Snapdragon X Elite SKU 可在两个核心上达到 4.3GHz,测试的 X1E - 80 - 100 可达到 4GHz。Zen 4 仍有时钟速度优势,但在移动领域差距缩小。
  • Oryon 的分支预测器与 Apple 的 Firestorm 和 Qualcomm 自己更老的 Kryo 有传承,方向预测器类似 Golden Cove,分支目标缓冲 (BTB) 与指令缓存相关,Oryon 的 BTB 测试显示其在处理分支方面有特点,间接分支预测器规模小于 Zen 4,返回堆栈较深,超过容量时会导致调用 + 返回时间急剧增加。
  • 前端从内存获取指令并解码为微操作,Oryon 和 Apple 的 Firestorm 核心策略相似,都有大的 L1 指令缓存和 8 宽解码器,AMD 的 Zen 4 前端带宽在小指令足迹时高,但在大指令足迹时受下游 rename 阶段限制,Oryon 和 M1 在 L1i 缺失后代码获取带宽较低。
  • Oryon 的重排序缓冲区大,整数和浮点寄存器文件有 384 个可用条目用于推测结果,还有 32 个已知良好的架构寄存器值条目,总共有 416 个条目。内存排序队列规模较保守,加载和存储队列分别有 192 和 56 个条目,加载队列容量与 Redwood Cove 相当,存储队列感觉较小。
  • Oryon 在调度能力方面表现出色,可为基本整数操作带来 120 个调度条目,仅次于 Firestorm,远高于 Zen 4,在 FP/向量方面也有很大调度能力,与 Firestorm 相似但处理不太常见操作的方式不同,AMD 用大的非调度队列防止调度器导致管道堵塞,Oryon 的 FP/向量调度能力在没有 SVE 支持的情况下接近极限。
  • Oryon 有很大的 TLB,有助于减少地址转换延迟,一级数据 TLB 有 224 个条目,二级 TLB 有超过 8K 个条目,测量结果显示地址转换惩罚在 6MB 后增加,但与 Zen 4 的 L2 TLB 覆盖范围不匹配。
  • Oryon 使用类似苹果的缓存策略,L1 大且 L2 相对较快,AMD 有 1MB 私有 L2 和 16MB L3 缓存,Oryon 在 L2 访问溢出时提供有竞争力的延迟,Meteor Lake 缓存策略类似 Zen 4 但延迟更高。
  • Oryon 有 6MB 系统级缓存 (SLC),测试显示在一定大小范围内延迟较低,但容量相对 L2 缓存较小,DRAM 延迟为 110.9ns,与 Qualcomm 声称的值相近,Ryzen 7840HS 延迟更低,Meteor Lake 内存延迟更差。
  • Oryon 在向量执行方面表现出色,支持 128 位向量宽度,L1 缓存容量大有助于处理小数据足迹,在读取 DRAM 时单个核心带宽可达 80GB/s,L2 在多线程负载下能为四个核心提供近 330GB/s 的带宽,在所有核心工作负载下与 Phoenix 各有优劣,在 DRAM 带宽方面远超 Phoenix 和 Meteor Lake。
  • Maxon 的 Cinebench 基准测试显示 Qualcomm 表现良好,SMT 帮助 AMD,但 Snapdragon X Elite 更高的核心数使其有性能优势,功耗仅增加 2%,高通幻灯片显示更高功率参考设备可实现更好结果,但在三星 Book Edge4 中 Snapdragon X Elite 平均频率为 2.71GHz,HP ZBook Firefly G10 A 中 Ryzen 7840HS 平均频率为 3.75GHz,英特尔 Meteor Lake 核心数更高但性能未达预期。
  • Oryon 结合了 Firestorm 和 Kryo 的设计理念,是非常坚实的架构,Snapdragon X Elite 在纸面上应能击败竞争对手,但受热和功率限制无法拉开差距,高通希望通过下一代 CPU 核心跟上 AMD 和英特尔的步伐。同时,Snapdragon X Elite 面临兼容性和价格问题,需要与 OEM 合作降低价格以吸引消费者。
  • 感谢 Patreon 成员和 Paypal 捐赠者,欢迎加入 Discord 交流。
阅读 33
0 条评论