徽州骆驼 · 1 天前

Arm架构详解

image.png

自1983年由英国剑桥的Acorn计算机公司首次设计以来,Arm (Advanced RISC Machine)架构已成为低功耗、高性能处理器的代表,广泛应用于移动设备、嵌入式系统和物联网等领域。Arm架构以精简指令集(RISC)、高效执行引擎和模块化设计为核心,极大提升了处理器的性能和能效,同时有效降低了功耗。这种架构通过灵活的设计理念,支持多核技术、低功耗优化和虚拟化技术,使芯片能够高效处理并行任务,延长设备续航时间。在芯片设计中,Arm架构的这些特性不仅在传统移动设备中占据优势,还拓展到云计算和数据中心等新兴领域,为高性能和低能耗的应用提供了坚实的基础。

01.相关理论基础

1.1 Arm架构概述

Arm架构是一种精简指令集计算机(RISC)架构,自其诞生以来,以低功耗、高性能和易于集成的特性,在计算机体系结构中占据了重要地位。Arm架构的发展历程从最初的Armv1逐步演进至如今的Armv9,每一代版本的更新都标志着技术的进步和性能的提升,体现了其对市场需求的快速响应。(*Arm9之后,Arm推出了诸如Arm11架构,进一步提高了性能和能效,并引入了更先进的特性,如多媒体指令集和更好的多核支持。)

image.png

image.png

* VFP(Vector Floating Point)是Arm公司为其 Cortex-A 系列处理器设计的一种 SIMD(Single Instruction, Multiple Data,单指令多数据)技术。SIMD 技术允许一条指令同时对多个数据进行操作,从而在多媒体和信号处理方面提高处理速度和效率。

* NEON的全称是“Advanced SIMD”,即“高级单指令多数据”处理技术。它是Arm架构中的一个重要组成部分,旨在通过并行处理数据来提高处理器的性能,特别是在处理多媒体和信号处理任务时。NEON技术允许处理器同时执行多个操作,从而加速了图像处理、音频处理、视频编码和解码等计算密集型的应用。

* TrustZone 是 Arm公司提出的一项安全技术,旨在为嵌入式系统和移动设备提供一种安全的运行环境。这项技术通过在芯片设计中加入一个独立的 secure world(安全世界),与传统的 non-secure world(非安全世界)形成对比,从而实现对敏感数据和操作的隔离保护。   

*Jazelle技术是Arm架构中的一个扩展,它允许Arm处理器直接执行Java字节码,而不需要先将字节码转换为机器码。这项技术的目的是为了提高运行Java应用程序的效率,尤其是在移动设备上,如智能手机和平板电脑。

在Arm架构的发展过程中,每个版本的更新不仅提升了整体性能,还针对不同应用场景进行了优化:

Armv7与32位系统的支持

Armv7是Arm架构成熟期的重要里程碑,推出了Cortex-A、Cortex-R和Cortex-M三大处理器系列,分别针对高性能应用、实时控制和微控制器领域。Cortex-A8、A9等型号成为智能手机和平板电脑的主力芯片,为安卓设备和iOS设备提供了强大的处理能力。Armv7的设计特点是性能优化、低功耗,并支持更多的多核架构,从而进一步增强了设备的多任务处理能力。

Armv8及之后的64位系统的优势

Armv8架构是Arm历史上的一个重大转折点,引入了对64位运算的支持(AArch64),并保持对32位应用的兼容性(AArch32)。这一改进使Arm架构在性能上有了显著的提升,为更复杂的计算任务提供了可能性,如高性能应用、服务器和数据中心。这一时期,苹果率先在其iPhone 5s中采用了基于Armv8架构的A7芯片,这是智能手机行业首款64位处理器,引领了移动设备向64位过渡的潮流。

Armv8还引入了更多的虚拟化支持和安全功能,如TrustZone技术,进一步提高了设备的安全性,使其能够在企业应用和IoT设备中发挥更大的作用。

Armv9:安全性、AI、机器学习等领域的增强

Armv9架构是Arm最新的处理器架构,旨在应对人工智能、机器学习和安全性等新兴技术领域的需求。与Armv8相比,Armv9在性能和能效上进一步提升,并引入了新的安全功能和AI计算扩展。

Armv9的一个重要特点是引入了 “机密计算架构”(CCA),该架构通过硬件支持的数据隔离和加密,使得设备在处理敏感数据时能够提供更高的安全性,这对于现代企业和个人用户的数据安全需求至关重要。

image.png

*Realm:这是一个隔离的环境,用于运行中间件和应用程序,以及操作系统。

*Non-secure:这是一个非安全区域,也运行中间件和应用程序,以及操作系统。它通过Hypervisor与安全区域进行通信。

*Secure:这是一个安全区域,运行中间件和应用程序,以及操作系统。它通过Secure Partition Manager与非安全区域进行通信。

在AI和机器学习方面,Armv9加入了SVE2(Scalable Vector Extension 2可扩展矢量扩展2),以增强处理向量化数据和AI计算任务的能力。SVE2的加入使得Arm处理器在进行复杂的数据分析、图像处理和机器学习推理时能够更有效率,进一步扩展了其在边缘计算和数据中心中的应用前景。

image.png

Armv9强化了在AI和机器学习任务中的能力,使其能够在边缘设备上执行更复杂的推理和计算任务,这对于物联网设备、智能家居和工业自动化等领域有着重要的意义。

Arm9之后,Arm推出了Arm11架构,进一步提高了性能和能效,并引入了更先进的特性,如多媒体指令集和更好的多核支持。

1.2 Cortex处理器系列

Arm的Cortex系列是Arm处理器产品线中最广泛应用的家族,针对不同的应用场景,分为Cortex-A、Cortex-R和Cortex-M三大类,每一类都有各自的特点和目标应用。   

image.png

image.png

1.3 其他Arm处理器设计

除了传统的Cortex系列处理器,Arm还推出了针对高性能计算和数据中心的专用架构,满足云计算、大数据和边缘计算等新兴领域的需求。

Neoverse架构:数据中心和高性能计算

  • Neoverse 是Arm专为数据中心和高性能计算(HPC)设计的架构,重点提升多核计算能力、能效和系统带宽。它与传统的Cortex系列不同,针对的是服务器级别的计算环境,致力于提供更高的并行处理能力和更强的计算性能。

image.png

  • 应用场景:Neoverse架构被广泛应用于云服务器、数据中心、网络基础设施和边缘计算设备中。随着Arm生态系统的不断壮大,越来越多的云服务提供商(如Amazon AWS的Graviton处理器)采用Arm架构进行高效能计算和大规模数据处理。Neoverse处理器提供的多核并行性和高能效设计,使其在处理AI、机器学习、数据分析和科学计算等任务时表现出色。

1.4 Arm的授权模式

Arm架构的成功还源于其开放的授权模式,吸引了大量芯片厂商参与其中。国内如华为和紫光展锐等企业,基于Arm架构开发了多款具有自主知识产权的处理器产品,这些产品广泛应用于智能手机、平板电脑、物联网等领域,进一步推动了Arm架构的普及和发展。例如,华为的麒麟系列处理器在多项性能测试中表现优异,赢得了市场和消费者的广泛认可,通过深度定制优化,成功跻身高端芯片行列,成为国产高端芯片的代表, 显示了Arm架构在移动设备领域的强大适应性和竞争力。

image.png

与此同时,国外的Arm架构研究与应用同样蓬勃发展。作为Arm架构的创始者与核心知识产权持有者,Arm公司持续推动该架构的技术创新和市场拓展。高通、三星、苹果等国际知名芯片厂商基于Arm架构开发出多款高性能处理器,这些产品在全球范围内享有极高声誉和市场占有率。尤其在智能手机和平板电脑领域,Arm架构已成为主导力量,凭借卓越的性能与能效表现,确保基于Arm的设备在移动计算市场占据重要地位。此外,Arm架构正逐步进军笔记本电脑市场,展现出对传统x86架构的有力挑战,带来了更高效的功耗管理和移动性体验。

image.png

image.png

无论在国内还是国外,Arm架构的研究和应用都展现出强劲的发展势头。随着技术的不断演进和市场的拓展,Arm架构将在未来进一步发挥重要作用,推动全球计算机技术的持续创新与进步。特别是在人工智能、物联网和云计算等新兴领域,Arm架构将为构建低功耗、高性能的计算平台提供更多可能性,助力全球信息技术产业的升级和发展。

1.5 Arm指令集

Arm指令集作为Arm架构的核心,设计中体现了简洁与高效的理念。其主要分为两大类:Arm指令和Thumb指令,分别针对不同的应用场景和性能需求。

  1. Arm指令:Arm指令采用32位长度,这种设计使得每条指令能够携带更多的操作信息和寻址模式,支持更为复杂的操作。这类指令在高性能计算任务中表现优异,能够满足复杂算法和数据处理的需求。其丰富的指令功能和灵活的寻址方式,为高性能处理器提供了强大的运算能力。此外,Arm指令集在执行时能够快速、高效地处理数据,适用于需要高吞吐量的应用,如多媒体处理和图像运算。 
  2. Thumb指令:Thumb指令长度为16位,设计目标是在保持一定性能的同时,降低功耗和提高代码密度。相比Arm指令,Thumb指令集的紧凑性使得代码占用更少的存储空间,这在内存有限的嵌入式系统中尤为重要。它特别适用于对成本和功耗有严格要求的设备,如物联网终端、可穿戴设备和低功耗传感器。通过减少每条指令的长度,Thumb指令集实现了更高的能效,满足了便携式设备对低功耗和紧凑设计的需求。

image.png

Arm指令集凭借其简洁、高效的特点,成为计算机指令集设计的典范。在高性能计算和低功耗应用场景中,Arm指令集都能提供合适的解决方案。通过不断适应技术发展趋势、优化架构性能、扩展新功能,Arm指令集不仅实现了技术层面的创新,更抓住了市场需求,推动了Arm架构在全球范围内的广泛应用和持续发展。

1.6 Arm处理器结构

Arm处理器的核心结构是其实现高性能和低功耗的基础,主要包括处理器核心、缓存系统和总线接口等关键模块。这些组件通过紧密协作,确保指令的高效执行和数据的快速处理。如图是一个典型的Arm架构处理器芯片内部结构示意图,各个模块的作用如下:

image.png

image.png

Arm架构的整体工作原理是通过多个组件和模块的协同工作,确保处理器高效地执行任务、响应中断并维护系统安全性:

  1. 在运行过程中,Arm Core从外部存储器(通过Code Interface)加载指令,并通过Bus Matrix和各模块进行数据交互。
  2. NVIC和WIC确保系统可以响应外部事件并高效处理中断。
  3. DAP和ETM等调试模块为开发者提供强大的调试工具,方便进行程序优化和问题排查。
  4. 内存保护和虚拟化技术(如MPU和TrustZone)保障系统的安全性和数据完整性。

image.png

Arm处理器的结构设计始终围绕高性能、低功耗和易集成等目标,通过不断优化核心结构、提升缓存系统性能以及完善总线接口设计,适应不同的应用需求。在移动设备、嵌入式系统和物联网设备等领域,Arm处理器以其卓越的能效比、灵活的架构设计和可扩展性,成为主流选择。例如,Big.LITTLE架构的提出,通过结合高性能核心和低功耗核心,实现了在性能和能耗之间的动态平衡,在手机和嵌入式设备中广泛应用。

image.png

随着技术的不断进步和市场需求的多样化,Arm处理器结构设计将继续创新发展。例如,随着人工智能(AI)应用的普及,未来的Arm处理器将更多地集成专用AI加速器,以便在边缘设备上实现实时AI推理。此外,5G技术和物联网设备的激增,将促使Arm架构进一步优化其低功耗特性,以支持海量连接设备的高效通信。通过不断演进,Arm处理器将在未来计算领域注入更多活力,为更多应用场景提供创新的计算解决方案。

1.7 Arm架构中的关键技术

Arm架构中的关键技术涵盖了多核技术、低功耗设计和虚拟化技术等领域,这些技术协同作用,构成了Arm架构的核心竞争力,使其在多样化的应用场景中表现卓越。

多核技术

多核技术在Arm架构中尤为重要,通过在一个处理器内集成多个核心,实现了并行处理能力的显著提升。这种设计不仅支持同时处理多个任务,还能通过任务分割和并行执行,提高单个任务的处理效率。尤其是在复杂计算任务和多任务操作中,多核技术使Arm处理器能够高效响应,提高整体性能和用户体验。随着大数据处理、图像处理等应用需求的增长,多核技术成为了Arm架构应对复杂计算的关键手段。

低功耗设计

Arm架构的低功耗设计是其在移动设备市场取得成功的基础。为了满足便携设备对电池续航的需求,Arm通过精心的电路优化、动态电压和频率调节(DVFS)等技术,显著降低了处理器的功耗。在不牺牲性能的前提下,Arm处理器能以更低的能耗运行,从而延长设备的使用时间。这种低功耗特性不仅在智能手机和平板电脑中发挥优势,也在物联网和可穿戴设备等领域得到广泛应用,支持设备全天候运行。

image.png

虚拟化技术

随着云计算和数据中心的快速发展,虚拟化技术成为Arm架构中不可或缺的组成部分。Arm通过支持硬件级虚拟化,使多个操作系统和虚拟机可以在同一物理处理器上独立运行,实现了资源的灵活调度和高效利用。通过虚拟化技术,企业能够在减少物理服务器数量的同时,提升整体资源利用率,降低成本。这项技术的应用拓宽了Arm处理器在数据中心和边缘计算等高性能领域的应用范围,为用户带来了灵活高效的计算解决方案。   

可扩展性与兼容性

Arm架构在可扩展性和兼容性方面的设计同样值得关注。无论是面向高性能需求的服务器,还是低功耗的嵌入式设备,Arm架构都能通过模块化的设计适应不同的应用场景。这种可扩展性使开发者能够根据具体需求配置处理器核心数量、频率和功能,同时确保与现有软件和硬件的兼容性。Arm的开放授权模式进一步促进了其生态系统的扩展,吸引了各大芯片厂商参与创新,使得Arm架构在多个行业领域中获得广泛应用。

Arm架构凭借多核技术、低功耗设计和虚拟化技术等关键技术,打造了强大的计算平台。多核技术提升了并行处理能力,低功耗设计满足了移动设备的需求,而虚拟化技术则助力数据中心和云计算的发展。这些技术优势加上高度的可扩展性和兼容性,使Arm架构在不断变化的市场中保持领先。随着技术的持续演进,Arm将在更多领域释放其潜力,为计算机科学技术的发展注入新活力。

1.8 Arm常用的操作系统

Arm架构上常用的操作系统种类繁多,涵盖从开源平台到专有系统,为基于Arm的设备提供了多样化的软件生态支持。以下是一些典型的操作系统及其在Arm架构上的特点和应用优势。

image.png
image.png

总体而言,Arm架构上常见的操作系统各具特色,形成了丰富多样的软件生态。Linux的开放性、Windows RT的优化能效、Android的广泛适配性和iOS的软硬件协同设计,共同推动了Arm架构在移动设备、嵌入式系统以及其他新兴技术领域的快速发展。随着Arm架构的不断进步,未来这些操作系统将在更多场景中得到更广泛的应用和创新。

参考:    

  1. 华为自研CPU,遇到了最佳时候,网友:老天都在帮华为—维科号
  2. Quick Look At Windows 10 On ARM - MDM Tech Space
  3. 被Armv9 重点引入的SVE2是何方神圣?_Photo
  4. Introducing the Confidential Compute Architecture - Arm Announces Armv9 Architecture: SVE2, Security, and the Next Decade
  5. An Introduction To ARMv9 & Its Key Features Trustonic
  6. Ppt | PPT | Free Download
  7. ARM processor Introduction
  8. The ARM Processors: A, R, and M Categories and Their Specifics - Sirin Software
  9. Arm Clashes With Intel and AMD With N2 Server CPU Core | Electronic Design  

END

作者:北湾南巷
来源:汽车电子与软件

推荐阅读:

更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。)
推荐阅读
关注数
5704
内容数
438
汽车电子与软件行业的相关技术报道及解读。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息