ARM架构与内核

978年在英国剑桥,一家名为CPU的公司成立(注意这里的CPU是公司名称,不要和计算机的CPU混淆),公司全称是Cambridge Processor Unit,直译为“剑桥处理器单元”。

Central Processing Unit,简称CPU,是这家公司的核心产品。公司的创始人Hermann Hauser,是一位奥地利籍的物理学博士,他和英国工程师Chris Curry共同创立了这家公司。

起初,公司致力于开发微处理器和相关技术,然而发展之路并非一帆风顺。1979年,公司更名为橡果电脑(Acorn Computer)有限公司,简称Acorn,将业务重心转向电子设备的设计与制造。

在20世纪80年代,当时主流的处理器架构是复杂指令集(CISC),像英特尔的 X86 系列处理器就采用这种架构,在桌面电脑领域占据主导地位。但在嵌入式和移动设备领域存在不足,功耗和成本都很高,难以大规模应用具备复杂指令集的芯片。

为了解决芯片功耗和成本高的问题。1983 年,Acorn 公司成立了 RISC 项目组,由来自剑桥大学的计算机科学家苏菲・威尔逊(Sophie Wilson)和史蒂夫・弗伯(Steve Furber)带领,开始研发基于 RISC 架构的处理器。当时芯片设计所需的 EDA 等工具尚未普及,Acorn 公司除了要设计指令集,还需完成其他所有研发设计工作,困难重重。并且,当时大公司为了确保芯片设计无 bug,通常会将设计工作重复 5 – 10 遍,但 Acorn 公司既没有充足的资金,也没有足够的人力去这样做,只能简化整个研发过程。

没想到,这个简化的流程带来了意想不到的效果,RISC架构通过简化指令集,降低了芯片的功耗和成本,同时保持了较高的性能。这使得RISC架构在嵌入式和移动设备领域具有显著优势,逐渐成为主流架构之一。

1985年4月,ARM1 正式推出,其主频为 6MHz。该款处理器采用 3 微米工艺,仅包含 6000 个逻辑门,是一款开创性的精简指令集计算(RISC)芯片它的诞生标志着 ARM 架构的开端。

ARM架构发展

1987年,Acorn 公司推出了第一台基于精简指令集(RISC)的家用电脑 Acorn Archimedes,这台电脑搭载了ARM2 芯片,还配备了新开发的RISC OS 操作系统。

但Archimedes系列电脑的市场表现却不尽人意。虽然RISC架构虽在理论上有性能优势,但当时的家用电脑用户更关注兼容性和易用性。RISC OS操作系统缺乏对主流商业软件(如微软Office、Adobe系列)的原生支持,导致用户需额外安装模拟器或寻找替代软件,增加了使用门槛,而且价格也高于同时期的IBM PC兼容机和苹果Macintosh电脑。

20世纪80年代末,ARM 内核的命运迎来了转机,RISC 架构引起了苹果的注意,苹果看到了 ARM 内核在低功耗、低成本方面的巨大潜力,决定ARM合作。

1990年11月,苹果、Acorn 和超大规模集成电路技术公司联合成立了一家名为 Advanced RISC Machines Limited 的新公司,也就是后来大名鼎鼎的 ARM 公司,苹果投资 300 万美元,持有该公司 43% 的股份。这笔投资专门用于资助 ARM 处理器的设计和开发,目标是打造一款用于 Apple Newton MessagePad 的处理器。

1993年,苹果公司发布了第一款Newton MessagePad,这款PDA设备搭载了ARM610处理器,成为ARM架构在移动设备领域的早期应用案例。尽管Newton因手写识别技术不成熟、定价过高(约700美元)和体积笨重(重约1.5磅)最终未能获得商业成功,但它向业界证明了ARM处理器在低功耗移动设备中的潜力,吸引了更多厂商关注ARM技术。

与此同时,ARM公司开始意识到单一客户依赖的风险,将芯片设计转向技术授权模式。‌1994年‌,德州仪器(TI)成为首个获得ARM架构授权的第三方厂商,这一里程碑标志着ARM商业模式的重大突破。此后,ARM通过授权其处理器IP(如ARM7、ARM9系列),逐步构建起开放的生态系统。

1998年,诺基亚选中ARM7TDMI处理器用于其早期智能手机,奠定了ARM在移动芯片领域的主导地位。到21世纪初,ARM架构已广泛应用于手机、嵌入式系统和消费电子设备,最终成就了其在移动和嵌入式设备的主流地位。

ARM架构版本

ARMv1是第一代精简指令集(RISC)架构,仅包含26条指令,但它奠定了 ARM 架构精简指令集(RISC)的基础,此后,ARM 架构不断迭代升级,每一个新版本都带来性能与功能的巨大提升。

ARMv4是ARM架构发展历程中的重要版本,发布于1993年。该架构包含53条指令,并引入16位压缩指令集Thumb,显著提升代码密度(相比32位指令减少约35%内存占用),同时保持与ARM指令集的兼容性。处理器可通过指令切换ARM(32位)与Thumb(16位)状态,以适应不同场景的性能与存储需求。

ARMv5版本在ARMv4版本的基础上,扩展了多项关键特性,主要应用于ARM9系列处理器。

ARMv7 架构的发布是 ARM 发展历程中的一个重要里程碑,它整合了 ARM 和 Thumb 指令集为 Thumb-2,实现了指令集的统一,进一步提高了代码执行效率。硬件虚拟化技术的支持,使得 ARM 处理器能够在同一硬件平台上运行多个操作系统实例。

ARMv8是ARM架构的重大升级版本,主要引入64位支持并优化了32位兼容性,该架构在2011年发布。ARMv8的通用寄存器从16个(32位)扩展至31个(64位),可寻址64位空间的16EB虚拟内存,远超ARMv7的4GB限制。此外,ARMv8 架构还支持虚拟化技术,可以实现多个操作系统同时运行在一台服务器或 PC 上。

ARMv9 架构的推出主要是为了应对人工智能、物联网、5G 等技术带来的挑战。它引入了可扩展向量扩展(SVE2)等新特性,增强了对机器学习和人工智能任务的支持。ARMv9 还在安全性方面进行了进一步的改进,引入了 MTE(Memory Tagging Extension)技术,能够提供硬件级别的内存安全保护,有效防范缓冲区溢出等安全威胁。

ARM内核

ARM架构定义了CPU指令集(RISC)、寄存器模型、内存管理等基础规则。内核是基于架构设计的物理实现,属于具体处理器核心,负责执行指令集并完成计算任务。

针对每一种ARM架构,ARM都设计了很多的处理器(内核),主要包括Cortex-M系列处理器、Cortex-R系列处理器、Cortex-A系列处理器。

‌Cortex-M系列‌:专为微控制器设计,低功耗且成本敏感,如STM32系列直接集成Cortex-M3/M4内核。‌

‌Cortex-R系列‌:面向实时系统(如汽车电子、工控),厂商可基于公版内核开发高可靠性芯片‌

‌Cortex-A系列‌:高性能应用处理器内核,手机SoC(如骁龙、Exynos)均基于此架构衍生。‌

第三方公司可以向ARM公司购买架构使用权,ARM授权架构给第三方公司,第三方公司自己去设计内核,这就是自研内核,如三星、高通、苹果公司都有基于ARM架构的自研内核。

ARM公司自己针对自己架构设计的内核又称作公版内核,Cortex-M、Cortex-R和Cortex-A系列处理器均属于ARM公司的公版内核设计。

ARM公司不直接生产芯片,而是通过授权处理器架构和内核设计(即公版内核)给半导体厂商(如高通、三星、意法半导体等),厂商可基于公版内核定制或直接集成到芯片中。如意法半导体生产的STM32单片机系列就采用了Cortex-M内核。

发表评论

滚动至顶部