Cortex A76没出生就已被它干掉?三星Exynos M3架构详解

  • 时间:
  • 浏览:4
  • 来源:幸运快3_快3平台网址_幸运快3平台网址

今年年初,三星发布了Exynos 9810旗舰处里器,其CPU为三星第三代自研猫鼬(Mongoose)架构:Exynos M3。老是以来,外界对于Exynos M3知之甚少,终于在昨天的HotChips会议上,三星官方披露了Exynos M3的完全设计,让外界得以一窥这款超级架构。

据雷锋网了解,三星Exynos 9810就让发表声明 时,外界曾普遍认为其在性能方面取得了巨大的飞跃,甚至有数据显示,Exynos 9810的GeekBench单应用多多线程 得分甚至高达3200+,远超包括骁龙845在内的许多安卓阵营处里器。

三星的架构研发是在德克萨斯州的三星奥斯汀研发中心(SARC,Samsung’s Austin R&D Center)进行的,该中心成立于2010年,目标是为三星的S系列手机研发Exynos系列处里器。

三星的第一代自研架构Exynos M1据说在2012年的某个就让就因此始于了设计,历经短短三年研发,Exynos 8890便于2016年首次亮相于Galaxy S7。

Exynos M1是完全从零始于了设计的,后续的几代架构自然会把它作为下一步开发的起点。随着Exynos M1的淘汰,SARC团队在2015年第一季度始于了使用现有的Exynos M1 RTL着手进行Exynos M3的设计。

Exynos M3最初的定位是一次增量开发,然而在2016年第一季度,开发计划存在了大变动,架构目标被设定得更高,以实现更大的性能提升,那我为增量开发设定的目标被拆分成了Exynos M2(即Exynos 8895处里器)。

Exynos M2在各工作负载上的IPC改进率高达20%,这使得它即便在频率降低了12%的请况下,最终性能仍优于Exynos M1。三星通过在Exynos M2中加入许多那我为Exynos M3设计的底部形态实现了你这人 增长目标,而新的Exynos M3设计方案则变得异常激进。

第三代猫鼬架构

对比Exynos M3和Exynos M1可不不能看到了而是 的这类之处,但Exynos M3增加了相当多的扩充。SARC团队将微架构的解码单元从4层厚扩展到6层厚,并为内核新增了一一有一个多所含乘法器功能的整数ALU、一一有一个多加载单元和一一有一个多大幅强化的浮点/SIMD单元,将计算容量提升了三倍之多

三星从未真正公开过Exynos M2的信息,也没办法 特定的编译器机器模型与之关联,但在此次HotChips会议上,三星将Exynos M2的乱序提交窗口大小从96修改为200。尽管无法直接进行不同ISA之间的比较,但Exynos M3的乱序提交窗口大小被再次扩展至228,这与Intel的核心设计颇为这类。

值得注意的是,在6月初Arm发表声明 的全新Cortex A76架构信息中,其乱序提交窗口大小为128,比Exynos M3还要小,Arm表示乱序提交窗口增加7%可不不能了提升1%性能,出于平衡性能和面积/功耗的考虑,并没办法 着重增强这次责设计。

三星则在会上解释称,乱序提交窗口的大小与架构的其余次责、缓冲区设计以及后端调度应用多多线程 容量的设计相关联,窗口大小和解码层厚在设计时应该相互适应。Exynos M3的6层厚解码单元可不不能很好地填充乱序提交窗口,从而获得更强的性能。

更大的前端规模

继续深入了解架构前端的更多细节,可不不能看到分支预测单元和取指单元的各种改进。Exynos M1的分支预测单元与许多架构的不同之存在于能每周期接收一一有一个多分支因此在后端具一一有一个多分支端口。

Exynos M3似乎仍然保持了你这人 层厚,因此将μBTB(BTB,Misses per kilo instructions,分支目标缓冲器)从64链路增加到128链路,主BTB仍维持2000链路,低于Cortex A76的20000链路,但对于已接收分支的延迟有所改进。

此外更重要的是,Exynos M3中分支预测单元的整体质量得到了提高,分支预测失败的请况减少了15%。三星在会上发表声明 了一一有一个多真正的MPKI(Misses per kilo instructions,每千条指令失败率)值,这是Arm及许多厂商均未发表声明 过的数据。

Exynos M3的分支预测单元和取指单元分别提供解耦的地址队列和解耦的指令队列,那我可不不能在执行中对单元进行时钟控制。

Exynos M3的取指单元的强度也被加倍,每时钟周期期最多可读取48Byte,即12条32bit指令,取指与解码的比率为2:1(12条/6解码),相比Exynos M2的1.5:1(6条/4解码)有所提升。

三星表示,为了应对日益严重的分支气泡什么的问题,还要大幅增加架构成本。觉得被取分支的平均间距小于12条指令,2:1的取指/解码比率因此会造成浪费,但更大的解码层厚对突发的指令爆发有很大帮助。

觉得你这人 设计具有很高的瞬时功率利用率,但当指令队列(现在是层厚的两倍)的填充强度比解码单元的消耗强度很快时,它允许对取指单元进行时钟门控,因而会对功耗产生积极的影响。

Exynos M3的指令转换后备缓冲区(ITLB)大小从256个条目增加到了51一一有一个多条目。三星采用了与常规Arm处里器不同的三级层次底部形态,Cortex A75和Cortex A76的一级ITLB分别有32条和48条,其中mainTLB 共有12200个条目,包括102一一有一个多条目(页面最大为64KB)和一一有一个多辅助256条目表(页数> = 1MB)。

Exynos M3有的是一级数据和指令TLB,但三星没办法 透露L1 ITLB的大小。

流水线与缓存设计

Exynos M3的解码单元设计为6层厚,不过三星并未披露任何相关细节,而是 称其改进了指令/微指令融合功能。Exynos M3支持自Exynos M1以来的多调度形式,解码器发出的微指令可不不能同时段派到多个调度器,但在乱序提交窗口中它仍然只作为一一有一个多调度和一一有一个多条目。

流水线方面,Exynos M3的整数次责新增了一一有一个多额外的调度器,微指令发射能力那我代的7发射增强至9发射。一一有一个多新增端口之一是具有乘法功能的附加ALU单元,使MUL吞吐量加倍,并将简单整数算术吞吐量提高25%。那我新增端口是负载AGU,它可不不能使核心的负载强度加倍。

暴力的浮点运算能力

与前代相比,Exynos M3的浮点运算能力堪称暴力,三星为其增加了第三条流水线,就简单的浮点能力而言,其的乘法和算术吞吐量增加了三倍。Exynos M3在Exynos M1的FMAC+FADD单元基础上,又增加了有一个128位FMAC/FADD单元,使最大吞吐量从3(1*FMAC(2)+1*FADD(1))翻倍到6(3*FMAC(2))。

当然,因此执行吞吐量的急剧增加,而是 还要扩展调度器窗口和物理寄存器页面。Exynos M3的调度器窗口大小从32增加到了62,FP PRF大小也从96扩展到192。

三星老是在努力降低执行延迟,这也适用于浮点流水线。Exynos M3乘法单元的执行周期从4缩短到3,乘法累加单元的执行周期也从5下降到4;简单浮点加法的执行周期从3缩短到2,并升级了浮点除法单元Radix-64以显着降低除法运算的延迟。

BTW,Arm在Cortex A76发布时大肆宣传其新的浮点流水线,称为其全新的“VX(矢量执行)流水线”感到非常自豪。不过从Exynos M3的请况来看,三星似乎在一年之内便再次领先了Arm,Exynos M3与Cortex A76具有相同的浮点延迟,但共同还有更高的执行吞吐量以及更低的ASIMD延迟。

全新的加载/存储单元

Exynos M3的加载/存储单元增加了第有一个128bit加载端口,读取强度加倍。加载调用延迟在一一有一个多周期内保持不变,存储强度在每周期1次存储时只一一有一个多周期延迟。Exynos M3的一一有一个多加载单元均以128bit/周期运行,与Cortex A76相同,而Cortex A75则为64bit/周期。

总体而言,Exynos M3的加载/存储调度器容量因此增加,存储缓冲区增加了一倍。在这里,三星的预读取单元还要有相当高的性能,以实现完美命中缓存的目标,处里任何内存瓶颈。

就让,三星提到了就让描述的新TLB层次底部形态。Exynos M3拥有与Exynos M1相同的32入口的DTLB(Data Translation Lookaside Buffer,数据转换检测缓冲区),因此Exynos M3额外一一有一个多容量为512条目的全新中级DTLB,且为ITLB(Instruction Translation Lookaside Buffer,指令转换检测缓冲区)和DTLB提供服务的统一L2 TLB容量也那我代的1024条目扩容至4096条目。

有得有失的高性能流水线

显而易见,扩大架构规模要付出代价,与Exynos M1的15级流水线相比,Exynos M3的流水线层厚增加了2级,为17级,并换成了辅助调度阶段,以及用于寄存器读取的第二阶段。相比之下,Cortex A75和Cortex A76的流水线层厚为13级。Exynos M3的分支预测错误的惩罚也从Exynos M1上的1一一有一个多周期增加至16个周期

Exynos M3和Exynos M1相对于Arm公版架构的的缺点是,它的取指和解码单元比Arm公版多2级,寄存器重命名单元要多1级,以及还要第有一个调度阶段(再多1级)。三星没办法 透露Exynos M3在流水线各阶段之间有无有许多快速路径来减少关键请况下的延迟,但表示这是设计大规模高性能架构的必要成本。

理论上更长的流水线级数利于频率的提升(Intel为让奔腾4冲击高频,曾在NetBurst架构的Prescott核心中使用31级超长流水线)。不过奇怪的是,三星的17级流水线并没办法 给Exynos M3带来频率上的优势,反而在冲击高频时付出了极大的功耗代价。这似乎意味三星在EDA功力还有待提升。

全新的缓存层次底部形态

与Cortex A75和Cortex A76一样,Exynos M3引入了新的独占L2缓存作为核心和最后一级共享缓存之间的后边级。新的独占L2为每核心512KB,与Exynos M1中的共享L2相比,访问延迟从2一一有一个多周期减少到1一一有一个多周期。不过,Cortex A75的L2命中延迟可不不能了8个周期,Exynos M3在你这人 方面存在劣势。

Exynos M3的L2缓存强度也增加了一倍,为每时钟周期32Byte读写,而Cortex A75则每时钟周期16Byte读/32Byte写。

值得注意的是,因此实际芯片中会受到物理布局的影响,实际延迟数据因此前会更高。根据实测,骁龙845的L2延迟在2.8GHz时约为4.4ns, Exynos 9810在2.7GHz时的延迟L2延迟约为4.6ns。

Exynos M3的共享L3缓存是以NUCA(Non-uniform cache architecture,非一致性缓存体系)土辦法 实现的大型4MB缓存,由一一有一个多存在CPU核心对面的1MB分区组成。因此布局不均匀,CPU核心在访问缓存分区时的延迟暂且相同,访问相邻分区强度迟为3一一有一个多周期,访问距离最远的分区强度迟为4一一有一个多周期,三星表示整体的平均访问延迟为37个周期。

与L2的请况这类,Exynos M3在L3缓存方面也要弱于Arm公版架构,Cortex A75的L3访问延迟仅为2有一个周期,你这人 点在实测数据中也得以体现:骁龙845的L3访问延迟约为11.4ns,而Exynos 9810的延迟则为11ns~20ns。

三星在会议中解释称,你这人 缓存分区的设计旨在为高端移动设备之外的不同设计实现更好的可配置性,言外之意似乎与S.LSI试图进入汽车领域有关。总体而言,三星承认最终产品的缓存层次底部形态设计并未达到我们我们 真正我让你的水平。

硅芯片上的物理布局

三星今年发表声明 了芯片物理布局的数据,完全分析了处里器内核的平面图。

以下是雷锋网对图片中许多术语名词的简短说明:

·pL2:独占L2缓存,在Exynos M3中为每核心512KB。

·FPB:浮点数据路径;浮点单元/ASIMD单元。

·FRS:浮点调度器以及浮点/向量寄存器。

·MC:解码单元和重命名单元。

·DFX:这是调试/测试逻辑,代表“针对某某的设计”,这类DFD(针对调试的设计)、DFT(针对测试的设计)、DFM(针对可制造性的设计)和许多杂项逻辑。

·LS:加载/存储单元以及64KB的L1高速数据缓存。

·IXU:整数执行单元,所含执行单元、调度器和寄存器。

·TBW:透明缓冲写入,包括TLB底部形态。

·FE:架构前端,包括分支预测单元、取指单元和64KB L1高速指令缓存。

与Exynos M1相比,Exynos M3中的功能单元尺寸都大大增加,最终Exynos M3的内核功能模块面积为2.52mm?,另外还有0.98mm?的面积用于512KB L2缓存。



Exynos M1核心布局



Exynos M1核心布局

三星还展示了整个Exynos M3集群的平面图, 一一有一个多核心彼此相邻排列,L2和L3有的是序的彼此相邻放置。你这人 布局可不不能大大节省芯片布局工作,只需将每个模块简单地克隆技术4次即可。



IPC平均提升59%

会议最后,三星分析了Exynos M3的性能表现,称其IPC增长幅度约为59%。

当然,在不同的工作负载下,IPC的增长并有的是线性的,在高ILP(多种指令共同执行)的工作负载下,IPC增长仅有限25%,在MLP(存储级并行)工作负载下甚至几乎没办法 增加,而在许多许多混合工作负载中,IPC的提升幅度超过200%。

三星展示了Exynos M2、Exynos M3和Cortex A75之间的GeekBench4性能对比,分布代表Exynos 8895、Exynos 9810和骁龙845的性能表现。

除三星展示的对比数据外,我还换成了许多新的Spec分数,那些分数改进了最初的评论数据,新的Spec分数考虑了动态电压频率调整以及更综合的测试环境。

能效比老是是处里器的一一有一个多重要评判标准,不过三星在Exynos M3上显然省略那些。正如上文中提到的,Exynos M3在冲击高频时付出了极大的功耗代价,尽管它在2.7GHz时拥有绝对领先的性能,但此时能效比却低于Exynos M2。在将频率降低到与Exynos M2相同的2.3GHz后,Exynos M3才显示出能效比上的优势。

下图显示了完成测试中的电能消耗量及平均功耗,左边的条形表示消耗的能量,以J(焦耳)为单位,条形越短代表耗能越少,相应的平台的强度越高;右边的条代表性能分数,条形越长代表性能越强。

从结果来看,Exynos M3拥有相当宽泛的能效比区间。与Cortex A75相比,Exynos M3在2.3GHz时便可拥有更强的性能以及相仿的能耗比;而与Exynos M2相比,Exynos M3即便在1.8GHz你这人 最低频率上,性能和能效比均压倒性的优于2.3GHz的满血Exynos M2。

据了解,Exynos 9810中的Exynos M3集群在单核、双核、四核满载的请况下频率分别为2.7GHz、2.3GHz、1.8GHz,功耗均为3.5瓦左右。换言之,M3核心从1.8GHz到2.3GHz,提升2000MHz频率功耗便翻了一倍,而从2.3GHz提升到2.7GHz,仅200MHz的提升就让功耗再次翻倍,即从1.8GHz到2.7GHz,即便性能也呈线性同步提升,幅度也可不不能了200%,功耗则翻了两番。

而Exynos 9810的四核Exynos M3完全运行在相同的电压和频率上,许多请况下执行次责应用多多线程 的核心暂且还要跑在与主应用多多线程 核心相同的最高性能点上,但其所需的性能又超过了Cortex A55小核心所能负担的范围,而是 执行次责应用多多线程 的核心可不不能了与主应用多多线程 核心飚在相同的高频率上,大大降低了整体的能效比。

三星未来战略与结论

最后,三星更多地讨论了Exynos项目的时间表。正如开篇介绍中所说,Exynos M3原计划于2014年第2季度始于了,然而随着M1的完成,RTL在2015年第1季度始于了,开发计划存在了大变动,目标被设定得更高,那我的Exynos M3被拆分成了Exynos M2,而新的Exynos M3设计方案则变得异常激进。

RTL于2017年第一季度交付给SoC团队,用于Exynos 9810的第一一有一个多EVT0流片(实际产出的芯片是EVT1),并于2017年中期下线,而最终发布的Exynos 9810则是在 2018年3月上市。

Exynos M3对于三星设计团队来说是一次相当大的挑战,整个分派几乎推倒重来,因此还还要面对极端的时间压力,在项目截止日期前推出产品。

整体来看,Exynos M3是一一有一个多非常坚实的微体系底部形态,感觉上更像是一款桌面级架构。三星为了增强架构性能,采取了最简单粗暴的土辦法 扩充规模,这也意味了其巨大的内核尺寸。不过因此时间限制,三星似乎仍然保留了而是 没办法 被纳入Exynos M3的改进,很糙是缓存层次底部形态似乎是你这人 架构中最薄弱的次责,三星承认我们我们 对此暂且满意。

三星的猫鼬架构经历了Exynos M2和Exynos M3两代改进,其IPC增长率分别高达20%和59%。据悉,SARC设计团队现在每年前会有持续的架构改进,且三星表示Arm Cortex A76的真正竞争对手是明年的Exynos M4,而有的是现在的Exynos M3。

就在几天前,Arm发表声明 了其未来三年CPU路线图,揭示了Cortex A76的继任者Deimos和Hercules,并承诺约15%和10%的代际收益。从目前的测试数据来看,Exynos M3在性能方面似乎已达到或超过Cortex A76的水平,预计在Exynos M4上,我们我们 仍可不不能看到三星自研架构的竞争优势。

感谢三星老是以来所做的架构曝光,你这人 细节展示在行业内实属少见。希望S.LSI和SARC要能处里Exynos M3架构的弱点,使明年的新架构取得更大的成功。

微信公众号搜索"

驱动之家

"加关注,每日最新的手机、电脑、汽车、智能硬件信息可不不能让我一手全掌握。推荐关注!【

微信扫描下图可直接关注