从A76到A78——在变化中学习ARM微架构

Linux阅码场 2023-05-26 08:02


一、引言



伴随智能手机的高速发展,移动处理器架构设计厂商ARM公司几乎每年都更新CPU的核心架构。从2018至2020年,ARM公司基于ARMv8架构推出了三代Cortex-A76、Cortex-A77、Cortex-A78经典CPU核心架构。基于这几代CPU架构,芯片设计厂商也设计了多款性能优秀的处理器产品。本文从A76微架构开始学习,通过对比每一代的变化,让读者了解处理器微架构关键知识。下表给出了一些基于这三代ARM处理器架构的典型处理器产品。





二、从A76开始了解ARM微架构



从ARM的A76开始,网络上可以查询到较多资料,例如我们可以从wikichip网站(en.wikichip.org)获取到A76的完整微架构框图。





1. DSU(DynamIQ Shared Unit)


从A75开始,ARM提出了一个新的多核心管理系统单元,叫做DSU。通过DSU模块,CPU设计者可以随意摆放不同架构的核心并共享L3缓存,减少不同架构核心直接传递数据损耗。在DSU架构之前,每个Cluster需要摆放同架构CPU,如将4个A73处理器放在一个Cluster中,将4个A53放在另外一个Cluster中,这两个Cluster的数据相互访问会有一定的连接损耗。



利用DSU模块,开发者可以随意设计CPU的组合,例如图中1大+7小,2大+6小,4大+4小,1大+2小,1大+3小,1大+4小等等组合。





2. 性能功耗优化



架构和工艺具有一定的关联性,如A76架构设计可采用7nm工艺,根据ARM数据,基于7nm的A76比基于10nm工艺的A75,性能可提升40%,或同性能下能耗降低50%。可见A76相比上一代的A75的提升较大,后面我们会详细了解架构上差异点。



3. 三级缓存设计


A76采用三级缓存机制,其中:

L1是核心独有缓存,具有独立的64KB指令Cache(ICache)和64KB数据Cache(DCache);

L2是核心独有缓存,可以配置成256KB或者512KB(加钱);

L3是核间共享缓存,在DSU内部,可以配置成2MB或者4MB。



4. 分支预测单元(BPU)


多级流水线系统中,在执行分支判断指令时,系统如果不知道下面走哪一条分支,需要等到分支执行出结果才可以再获取正确的指令。为了提升流水线性能,现代处理器中提供了一个分支预测单元(BPU),用来预测常用路径,并提前进行指令预取,确保流水线被填充完整。


A76的BPU和指令Fetch单元独立,BPU可以同时和Fetch单元工作,提前推测并获取分支后指令,降低分支预测的延迟。




5. 前端设计(Front-end)



指令预取后进入一个解码队列,A76提供了4路decoder,相比A75增加了一路decoder单元,这是性能提升的一个要素。



6. ROB模块设计



经过译码的指令叫做MOP(Macro-Operation),MOP不是实际执行的指令,最终送到执行单元的指令叫做uOP(Micro-Operation)。MOP比uOP稍微复杂一些,可能是多条uOP的组合指令,通过后端单元的拆解,可以把MOP分解成处理器可以执行的最基础指令uOP,uOP的指令数量约比MOP多20%。


ROB(ReOrder-Buffer)模块提供了128个entry,用来将指令进行重新排序,尽可能填充流水线,这里可以看到A76设计的输入是4路MOP,输出是8路uOP。



7. 执行单元 (Execution Engine)



Dispatch单元将uOP指令发射到执行单元(Issue),执行单元提供了120个entry,分成三类:整型、浮点和读写,整型部分包括了1个分支单元,2个基础ALU单元,1个复合ALU单元;浮点部分提供了2个128bit的高级SIMD指令单元;读写部分则提供了2个AGUAdress Generation Unit)地址单元。



8. LSU(Load Store Unit)设计



LSU模块和执行单元的2个AGU相连接,同时连接64KB的L1数据缓存(DCache),并提供2个16B/cycle的load端口和1个32B/cycle的store端口。



9. 小结


至此,我们从取指、译码、指令分派、指令发射、指令执行到数据读写,简略了解了A76处理器的微架构,下一节我们通过对比A77和A76架构的差异,进一步了解ARM微架构设计的步伐。



三、A77微架构和A76对比



A77微架构图,大家且看且珍惜,因为自A77之后的产品在网络上很难找到完整的微架构图了。





1. 性能提升



ARM资料显示同样是7nm工艺3GHz的条件下,A77的性能可以比A76提升20%,注意这里面标注是单线程性能提升,后面我们可以从架构升级中推测性能提升的原因。


2. L0缓存(MOP Cache)



A77新引入了MOP Cache模块,这个模块并不是ARM的创新设计,在PC处理器上已经有了,例如Intel在早期的酷睿Sandy Bridge处理器中就加入了uOP Cache模块。



此外AMD的Zen架构也有MOP缓存模块。



MOP Cache主要用做L0级别缓存,存储译码过的MOP指令。MOP Cache的好处是如果在里面找到需要的指令,前面的电路模块都可以暂时由MOP Cache来替代,可以节省功耗提升性能。ARM数据显示这个MOP Cache的命中率有85%,可见是A77的一个非常大的改进。


继续看下MOP Cache的尺寸,ARM给的尺寸数据是1.5K而不是1.5KB,单位不是Byte而是条,考虑到ARM常规decoded出的机器码是32位宽(Aarch64也是32位宽,当然也有个别64位宽指令),推测这个L0 Cache的大小应该是6KB左右(和Intel的sandy bridge时一样)。


移动处理器领域引入L0,ARM并不是首家,早在高通的Snapdragon S4时代就在Krait核心中引入了L0 cache。根据数据显示1.5K的Cache就可以达到80-85%的命中率,再增加Cache,提升命中率的边际效应会越来越明显。



3. 前端设计(Front-End)



A77相对于A76的另一个重要变化是产生MOP指令的能力从原来的每周期4个提升到最多6个,但是decode的能力还是保持4个没有变化。可以对比下整体上fetch和decode的基本架构和A76没有太大变化,MOP提升的主要原因是新加入的MOP Cache提供的。如果MOP Cache命中,可以绕过decode模块最多一次取6条MOP指令,如果不命中回到decode模块还是一次4条,L0 Cache和Decode进行了很好的补充,让一周期可以提供更多的MOP指令。



4. ROB模块设计



A77相对A76在执行单元上提升了重排序缓冲的大小(ReOrder-Buffer),还记得A76是128-entry,A77提升了25%到160-entry。


另外可以看到输入是6条MOP,输出提升到了10条uOP,对比A76则是8条。据说其他厂商基于ARM定制内核时会修改这个部分,随着ARM内核逐步吸收这些优秀的设计,定制ARM内核的空间和收益会越来越小 。



5. 执行单元



A77相比A76在执行单元也有比较大的改变:新增加了一路分支单元,将分支预测的带宽提升了一倍;新增了第四个基础整型ALU单元,这个单元可以用一个周期执行简单的算术运算或二个周期执行更复杂运算。A77一共4个整型ALU,其中3个是基础整型ALU单元,还有一个是复杂整型ALU单元,可以执行更复杂的计算(例如MAC乘加,DIV除法),A76也有这个复杂ALU单元。在整型执行单元上,A77相对A76提升是比较大的,从4个提升到6个,有50%的提升。


此外,还A76的每个执行单元都有独立的发射列队,A77则进行了一定程度的优化,将发射列队(issue queue)统一成三个,整型、浮点和读写发射列队,由于A77的执行单元多,将发射列队统一进行管理和分配,可以进一步提升执行效率。



6. LSU设计



A77在Load\Store单元上有两个独立的地址生成单元AGU,这和A76是一样的。不同的地方是A77额外增加了两路Store端口,等于将Store的带宽增加了一倍。同时这四路LSU单元也共享一个发射队列,ARM宣称这样可以提升25%的内存并发读写性能。


再来看一下LSU单元,更宽的执行单元需要有更宽的LSU支持,A77增大了LSU的load和store buffer,同时可以支持85级深度load 操作和90级深度store操作,总共支持同时175个内存操作,稍高于指令操作的宽度160,相比A76的LSU深度140,提升了25%。



7. 小结


最后整理了一个更详细的表格来对比A77和A76,A77是ARMv8系列中非常成功的一代,基于A77,产生了如麒麟9000、骁龙865这样经典的产品。




四、A78微架构和A77对比



1. 性能功耗优化




2020年,ARM更新了代号Hercules的A78新架构,也是ARMv8体系中最后一代中核架构。ARM宣传这一代是“持续的性能功耗领先”,图中看到性能提升了20%,工艺从7nm提升到5nm,注意性能提升包含了频率的15%提升,架构的性能提升ARM估计在7%左右。得益于工艺进化到5nm,同样性能,功耗可以比A77降低50%(2.1GHz相当于A77的2.3GHz)。从第二张图可以看出,A78这一代的主要设计目标是小幅度提升性能,提升能效并减少芯片面积。



2. A78微架构的一些特点






1、L1缓存:ARM提供了32KB缓存的选择,让一些注重成本和芯片面积的厂商可以选择更低的数据和指令缓存,默认是64KB。


2、分支预测:分支预测的带宽相对A77提升了1倍。


3、执行单元:增加了一个MUL单元,允许一个周期进行2个整型的乘法运算(A77是一周期1个)。增加了一个用于Store的AGU单元,Store的能力从16B/cycle提升到32B/cycle。


A78是ARMv8架构最后一代产品,主要是对前面几代微架构的优化,可谓ARMv8架构的守门员了。



五、总结




A78是ARMv8架构的最后一代产品,智能手机依然在高速发展并快速更新产品,ARM处理器的架构也在持续迭代和更新。2020年,ARM公司提出了对厂商定制高性能核心的计划,并推出了面积更大性能更强的Cortex-X系列核心。2021年,ARM公司推出了全新的ARMv9架构,目前已经有A710、A715等产品接替A78的路线。限于篇幅限制,后续我会和大家一起继续学习X系列和ARMv9架构的相关内容。



摘要

1、DSU介绍 https://www.androidauthority.com/arm-dynamiq-need-to-know-770349/

2、A76 wikichip https://en.wikichip.org/wiki/arm_holdings/microarchitectures/cortex-a76

3、A77 wikichip https://en.wikichip.org/wiki/arm_holdings/microarchitectures/cortex-a77

4、A77介绍 https://www.anandtech.com/show/14384/arm-announces-cortexa77-cpu-ip

5、Intel's Sandy Bridge Architecture Exposed https://www.anandtech.com/show/3922/intels-sandy-bridge-architecture-exposed/2

6、AMD Zen Microarchitecture https://www.anandtech.com/show/10578/amd-zen-microarchitecture-dual-schedulers-micro-op-cache-memory-hierarchy-revealed

7、A78介绍 https://www.anandtech.com/show/15813/arm-cortex-a78-cortex-x1-cpu-ip-diverging

8、A78 wikichip https://en.wikichip.org/wiki/arm_holdings/microarchitectures/cortex-a78

9、A78介绍 https://fuse.wikichip.org/news/3536/arm-unveils-the-cortex-a78-when-less-is-more/

10、ARMv9介绍 https://www.anandtech.com/show/16584/arm-announces-armv9-architecture

Linux阅码场 专业的Linux技术社区和Linux操作系统学习平台,内容涉及Linux内核,Linux内存管理,Linux进程管理,Linux文件系统和IO,Linux性能调优,Linux设备驱动以及Linux虚拟化和云计算等各方各面.
评论 (0)
  • 文/Leon编辑/cc孙聪颖‍蛇年春晚最有意思的节目,一定非机器人跳舞莫属。就算是遥控或预编程,机器人能够做出如此复杂的动作,在五年前都是不敢想象的事情,其制造商宇树科技也因此火爆全网。就在春节过后不到一个月,会骑自行车的人形机器人诞生了。这背后,是近年来“具身智能”概念的迅猛发展。“我们造了一个跟人一样灵动的机器人!”3月11日,智元机器人联合创始人兼首席技术官彭志辉在微博上说道。在视频中,灵犀X2会骑自行车、能跳《科目三》,还可以与人促膝长谈,甚至拿起葡萄“穿针引线”。在全球人形机器人领域,
    华尔街科技眼 2025-03-17 12:38 83浏览
  • 万物互联时代,全屋智能正从概念走向现实,而蓝牙低功耗(BLE)技术凭借独特优势,已成为构建智慧家庭生态的核心驱动力之一。作为一项成熟且持续创新的无线通信协议,BLE技术不仅以“低功耗”定义行业标准,更凭借Mesh组网能力打破场景疆界,为智能家居设备提供了灵活、可靠、可扩展的解决方案,有力推动了全屋智能的落地应用。据中商产业研究院整理数据显示,2023年我国智能家居市场规模为7257亿元,预计到2024年将达7848亿元,到2025年将达到8526亿元,同比增长率约为10%。随着未来新房建设和老房
    华普微HOPERF 2025-03-14 17:08 60浏览
  • 在现代机械传动系统中,电机与传动轴的连接至关重要。正确的连接方式不仅能提高传动效率,还能延长设备的使用寿命。本文将探讨电机传动轴的几种常见连接方式及其优缺点。1.直接连接直接连接是将电机的输出轴与传动轴直接相连,通常采用联轴器进行连接。这种方式的优点是结构简单,传动效率高,适合于高转速和高精度的应用场合。然而,直接连接对对中精度要求较高,稍有偏差就可能导致振动和磨损。2.齿轮连接齿轮连接通过齿轮传动将电机的动力传递到传动轴。该方式的优点在于能够实现较大的转速变化和扭矩增益,适合于需要大功率和高扭
    博扬智能 2025-03-14 16:32 68浏览
  • 宠物饮水机是专为宠物设计的自动供水设备,它能够持续提供新鲜流动的水,刺激宠物饮水欲望,保持宠物健康。智能水位监测功能可确保宠物始终有水可饮,同时避免溢水和干烧,是现代宠物家庭的理想选择。那么,宠物饮水机水箱是如何实现低水位提醒功能的呢?ICMAN液位检测芯片轻松实现宠物饮水机的水箱低液位提醒功能!工作原理 :基于双通道电容式单点液位检测原理方案特点:液位检测精度高达±1mm,超强抗干扰,动态CS 10V 为家用电器水位提醒的应用提供了一种简单而又有效的实现方式<iframe height=
    ICMAN 2025-03-14 16:46 75浏览
  • 在求职路上,一直没能拿到理想的录用通知,真的要放低要求吗?对很多人来说,这个问题往往让人进退两难。期待中那个能够激发自我潜能又能带来丰厚回报的职位,似乎离自己遥不可及。可是眼看着账单越压越重,生活在缓缓拖累前行。在这种局面下,究竟该不该向现实妥协,先找一份工作再说?有些人会觉得,先就业意味着放弃理想,觉得一旦走上这条路,就难以回到最初的目标。但事实上,这种担忧常常让人陷入犹豫与停滞。路走不通时,不代表必须原地不动。有时选择一份尚可接受的工作,也能带来意想不到的机会。公司内部的人脉、行业的历练,乃
    优思学院 2025-03-14 17:12 64浏览
  • esp32s3使用platformio 点亮1.69寸TFT历程之LVGL移植 继上一篇我历经很久的时间点亮了1.69寸TFT之后。我开始进行LVGL的移植。开始LVGL的学习。用platformio 开发esp32s3真的好方便。按照上一节的环境。本次由于需要使用LVGL。打开platformio lib界面搜索LVGL。目前里面的版本是9.2.2。我使用的8.3.6。然后按照下图加载到自己的工程项目。待加载完毕后。我们会看到libdeps下面会出现LVGL库好了,这一步完成后。我们就开始移植
    zhusx123 2025-03-15 20:58 104浏览
  • 工艺工程师(Process Engineer)在工业生产中扮演着重要的角色,负责设计、优化和管理各种工业流程。这些流程通常涉及化学、物理或生物转化,旨在将原材料和能源转化为有用的产品。以下是关于工艺工程师角色、职责、技能和行业应用的详细分析,旨在为读者提供全面的理解。定义与范围根据 Wikipedia 的定义,工艺工程(Process Engineering)是理解和应用自然基本原理和定律,将原材料和能源在工业层面转化为有用产品的过程。它涵盖了化学、物理和生物流程的设计、操作
    优思学院 2025-03-14 12:26 50浏览
  •        在工业物联网的世界里,设备之间的“语言不通”曾让无数工厂陷入效率泥潭。想象一个汽车制造车间:1980年代的老式PLC控制器用Modbus RTU协议“说话”,2020年的智能机械臂支持OPC UA协议,而散布在角落的电表和传感器则操着DLT645等不同“方言”。这种协议碎片化让数据互通成为奢望,直到广和通4G模块化身“工业翻译官”,用多协议兼容和边缘计算能力打破僵局。一、从“铁皮盒子”到“边缘大脑”的技术蜕变    &nb
    中科领创 2025-03-14 14:14 51浏览
  • 近日,2025年GTI国际产业大会成功举办,活动上GTI Awards 2025获奖名单正式揭晓,紫光展锐连续三年斩获国际权威机构GTI颁发的大奖。此次,T8300凭借在5G技术创新和娱乐体验方面的卓越表现,荣获GTI“移动技术创新突破奖”(Innovative Breakthrough in Mobile Technology Award)。GTI是由中国移动、软银、沃达丰等运营商于2011年发起成立的国际产业合作平台。GTI Awards作为全球通信行业最具影响力的奖项之一,旨在表彰为行业
    紫光展锐 2025-03-14 17:35 66浏览
  • 失效模式与影响分析(FMEA)失效模式与影响分析(FMEA)是一种系统方法,用于识别和分析系统或过程中的潜在失效,广泛应用于工程和制造领域,以提高产品可靠性和安全性。最新标准由 2019 年发布的 AIAG-VDA FMEA 手册(第一版) 定义,该手册结合了美国和欧洲汽车行业的最佳实践,并引入了 七步法,确保分析全面且结构化。图:优思学院六西格玛新版 FMEA 失效分析的七个步骤1. 规划与准备确定 FMEA 研究的 范围、边界和目标。组建跨职能团队(设
    优思学院 2025-03-17 14:43 78浏览
  • 在安防监控领域,图像信号处理芯片的性能直接决定了摄像机的成像质量与应用效果。今天,为大家重磅介绍一款专为专业安防摄像机精心打造的图像信号处理芯片——XS5037C,它以全方位的卓越性能与显著优势,成为安防监控领域的得力之选,尤其是其出色的低功耗特性,更为产品增色不少。低功耗设计 节能典范在能耗方面,XS5037C 展现出了卓越的优势。其内核电压仅为 1.1V,普通 IO 电压设定为 3.3V,PSRAM IO 和 PSRAM 电压为 1.8V,Sensor DVP IO 电压同样为 1.8V,D
    芯片徐15652902508 2025-03-14 09:49 45浏览
  • 一、问题现象:语音播放异常的典型表现在使用WT588F(E)系列语音芯片的开发过程中,工程师常会遇到以下两类典型异常现象:播放不全:语音仅播放前段内容后突然中断,或特定段落无法触发播放断续:音频输出存在明显卡顿、爆音或波形畸变某智能门锁项目实测数据显示,在首批样机中有2%的设备出现语音提示突然中断的情况,经排查发现电源电压在播放瞬间跌落至2.0V(低于芯片工作阈值)。这类问题的根源往往隐藏于硬件设计与系统协同的细节之中。二、核心机理:电压稳定性对语音芯片的影响2.1 电源系统的动态响应特性WT5
    广州唯创电子 2025-03-17 09:18 108浏览
  • 一、引言:语音芯片的智能化浪潮在万物互联的智能化时代,语音交互技术已成为人机交互的重要纽带。从智能家电的提示音到儿童玩具的趣味互动,从工业设备的语音告警到公共服务设施的自动播报,语音播放芯片IC作为核心硬件支撑,正在重塑各行各业的用户体验。在众多解决方案中,WTN6、WT588、WT2003H、WTV四大系列产品,凭借差异化的技术特性构建了完整的语音芯片产品矩阵。本文将深度解析这四大主流芯片的技术特点与应用场景,为开发者提供选型参考。二、主流语音芯片技术特性全解析2.1 WTN6系列:高性价比的
    广州唯创电子 2025-03-17 09:04 122浏览
  • 随着健康消费需求的升级,颈部按摩仪市场正朝着智能化、便携化方向快速发展。用户不仅追求舒适高效的按摩体验,还对产品交互友好性、功能多样性及续航能力提出了更高要求。WTV380-P(QFN32)语音芯片凭借其微型化设计、高集成度、可扩展性强及超高性价比,成为颈部按摩仪语音交互与智能控制的核心解决方案,助力产品在竞争中脱颖而出。一、超小体积,释放PCB空间潜能WTV380-P采用QFN32封装(仅4mm×4mm),体积比传统语音芯片缩小50%以上,可轻松嵌入颈部按摩仪内部狭小的电路板空间,为电池扩容、
    广州唯创电子 2025-03-14 08:57 47浏览
  • 随着智能家居的普及,扫地机器人、擦窗机器人、洗地机等清洁设备正从“功能型”向“智能交互型”跃迁。用户不仅需要高效的清洁能力,更期待直观的语音提示、多传感器协同以及稳定可靠的性能。WTV380-8S语音芯片凭借SOP8超小封装(5mm×6mm)、380秒语音容量、强大扩展性及超高性价比,成为清洁设备语音交互与智能控制的核心解决方案,助力厂商打造差异化产品。一、微型封装,极致节省PCB空间WTV380-8S采用SOP8封装设计(5mm×6mm),体积小巧,可无缝嵌入清洁设备紧凑的电路板中,为电池、电
    广州唯创电子 2025-03-14 09:14 49浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦