Icbank半导体行业观察

文章数:25239 被阅读:103424336

账号入驻

高通最强Arm芯片,细节曝光

最新更新时间:2024-05-20
    阅读数:
半导体行业观察" data-pluginname="mpprofile" data-signature="半导体深度原创媒体,百万读者共同关注。搜索公众号:半导体芯闻、半导体产业洞察,阅读更多原创内容">

????如果您希望可以时常见面,欢迎标星????收藏哦~


来源:内容由半导体行业观察(ID:i cba nk)编译自chipsandcheese,谢谢。


2023 年 10 月,高通发布了其最新的笔记本电脑 SOC 系列,称为 Snapdragon X Elite (SDXE)。从那时起,这款芯片就引起了人们的广泛关注,因为它使用了高通于 2021 年初收购的 Nuvia 团队的定制 ARM 内核。


这使得该芯片在 ARM SOC 领域(Apple 之外)成为相当独特的产品,因为大多数公司选择从 ARM 自己购买现成的核心 IP。随着 SDXE 笔记本电脑在 Computex 上发布的预期,人们对该芯片感到非常兴奋,但有关内核本身的信息却很少。


幸运的是,不久前上传了一个 LLVM 补丁,讨论了 Snapdragon X Elite 中 Oryon 核心的一些结构布局,所以让我们深入了解一下。


Pipeline说明


从分支错误预测惩罚(Branch Mispredict penalty)开始,Oryon 核心的错误预测惩罚为 13 个周期。Zen 4 的平均损失也是 13 个周期,但这取决于 Zen 4 从 Op Cache 中获取数据的频率。


按照AMD Zen4 微架构软件优化指南所说,分支错误预测惩罚的范围为 11 到 18 个周期,具体取决于错误预测分支的类型以及指令是否从 Op Cache 馈送。常见情况的惩罚是 13 个周期。


继续讨论 L1 数据缓存,遗憾的是该补丁中没有说明 L1D 的大小,但确实说明了 L1D 的加载使用延迟为 4 个周期。这对于主频在 4.2GHz 左右的现代核心来说相当标准,并且使 L1D 的绝对延迟在一纳秒以下。这一绝对延迟与 Apple 的 Firestorm 核心相当,但 Firestorm 具有约 3.2GHz 的 3 周期 L1D。


宽度、管道和调度程序


Oryon 每个周期最多可以发出 14 个操作,其中整数侧有 6 个管道,矢量侧有 4 个管道,内存侧有 4 个管道。


整数方面:从整数侧开始,共有 6 个管道和 6 个 ALU。



与其他高性能核心相比,Oryon 的整数吞吐量与 Firestorm 最相似。一个区别是 Oryon 上每个周期 4 个吞吐量的比较,而 Firestorm 上每个周期 3 个吞吐量的比较。



Oryon 的 120 个条目整数调度程序与其 x86 同类调度程序相比相当大。Zen 4 的整数调度器中共有 96 个条目,但是这 96 个条目还必须处理所有内存操作。Golden Cove 的统一数学调度程序中有 97 个条目,但顾名思义,该调度程序必须处理整数和向量运算。


与其他 ARM 内核相比,Oryon 处于较大范围,Cortex X2 的整数调度器有 96 个条目,而 Neoverse V1 的整数调度器有 124 个条目。然而,Apple 的 Firestorm 和 M3 P-Core 在各自的整数调度程序中总共有 156 和 160 个条目,比 Oryon 的调度程序大约 30-33%。


现在,将我们的目光转向核心的 Vector 一侧,与 Firestorm 和 M3 P-Core 的相似之处变得更加明显。



Oryon 和 Firestorm 的矢量指令吞吐量和延迟几乎相同;唯一的区别是 Oryon 对于 SIMD INT MUL 有 2 个周期延迟,而对于 Firestorm 则有 3 个周期。


Oryon、Firestorm 和 M3 P-Core 共有的另一件事是缺乏 SVE 或 SVE2。这意味着这 3 个核心可以执行的唯一 SIMD 操作是 NEON 操作。与 Zen 4 或 Server Golden Cove 支持的 AVX512 操作相比,NEON 是一组更加有限的操作。


现在转向调度程序布局,Oryon 再次与 Firestorm 和 M3 P-Core 相似。



Oryon 的矢量调度程序非常大,有 192 个组合条目,即使与 x86 对应程序相比也是如此。Zen 4的向量调度器和非调度队列加起来只有128个条目。转向 ARM 领域,Cortex X2 的组合向量调度程序和非调度队列只有 75 个条目。


转到 Apple 方面,这里的情况与整数方面相反:Oryon 具有更大的向量调度程序,每个调度程序有 48 个条目。Firestorm 和 M3 P-Core 也有 4 个大小相等的向量调度程序,但 Firestorm 每个调度程序只有 36 个条目,而 M3 P-Core 每个调度程序有 41 个条目。


转到 CPU 的最后一个主要部分——存储方面,我们将首先从调度程序布局开始。



LLVM 补丁表示内存调度程序有 4 个端口,并且存储管道与加载管道共享端口。


LSU 有 4 个端口 p6 ~ p9(ls0 ~ ls3), p10/p11(std0, std1) 必须与 ls0~ls3 配合使用


Qualcomm Oryon 调度程序 LLVM 补丁线 44


这表明 Oryon 有 4 个管道,所有管道都可以处理加载操作,但其中只有 2 个管道可以同时处理存储操作。稍后在 LLVM 补丁中强化了这一点,这意味着存储指令可以填充内存调度程序中的所有 64 个条目。


存储 STA/STD 管道组合的说明


def ORYONST : ProcResGroup<[ORYONST0, ORYONST1]> {


让缓冲区大小= 64;


Qualcomm Oryon Scheduler LLVM 补丁行 167-169



现在转向内存吞吐量和延迟,Oryon 每个周期总共可以执行 4 次加载,无论它们是标量加载还是矢量加载。这比该系列中的任何其他 CPU 都要多。与其他 ARM 内核相比,Oryon 可以处理多 33% 的负载带宽。与 x86 相比,Oryon 的负载带宽与 Zen 4 相同,但负载带宽仅为 Golden Cove 的 2/3。


过渡到存储方面,Oryon 具有与其他 ARM 内核以及 Zen 4 相同的存储带宽,但同样只有 Golden Cove 的一半。就总带宽而言,Oryon 可能与其他 ARM 内核具有相同的带宽,但仅为 Zen 4 和 Golden Cove 总带宽的 66%。


根据这个LLVM补丁,与Firestorm有很多相似之处。考虑到 Nuvia 团队的很多成员都参与了 Firestorm 的工作,这并不令人意外。但这并不是说 Oryon 是 Firestorm 的复制品,LLVM 补丁强调了两个内核之间的一些关键差异。我们期待在使用 Snapdragon X Elite 的笔记本电脑上架时看到 Oryon,因为除了苹果和现在的高通之外,目前只有华为正在尝试为客户端设备制造高性能定制 ARM 内核。


参考链接

https://chipsandcheese.com/2024/05/15/qualcomms-oryon-llvm-patches/


点这里????加关注,锁定更多原创内容

END


*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。



今天是《半导体行业观察》为您分享的第3771期内容,欢迎关注。


推荐阅读


『半导体第一垂直媒体』

实时 专业 原创 深度

公众号ID:icbank


喜欢我们的内容就点 “在看” 分享给小伙伴哦

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved