ARM、ARM架构、ARM架构芯片

ARM是一种基于精简指令集(RISC)的处理器架构,它由英国的ARM公司设计和授权

ARM芯片具有低功耗、高性能、高集成度等特点,广泛应用于嵌入式系统、移动设备、物联网、服务器等领域。本文将介绍ARM的各类芯片,包括其特点、分类、代表产品和最新动态。

ARM、ARM架构、ARM架构芯片_第1张图片

文章目录

  • 一、常见处理器架构
  • 二、ARM 芯片的特点
  • 三、ARM芯片的分类
    • 3.1 按架构版本分类
    • 3.2 按核心类型分类
    • 3.3 按应用领域分类
  • 四、ARM芯片的代表产品
  • 五、ARM芯片的最新动态
  • 六、Sample
    • 6.1 Apple
      • 6.1 A 系列
      • 6.2 M 系列
    • 6.2 STM 系列

一、常见处理器架构

处理器架构指的是处理器的内部结构和功能,也就是处理器如何执行指令和数据的方式。不同的处理器架构有不同的指令集,也就是处理器能够理解和执行的基本操作。处理器架构对于处理器的性能、功耗、兼容性等方面有重要的影响。

常见的架构有x86、ARM、RISC-V和MIPS。

  • X86:这是英特尔和AMD的“专属”架构,主要用于PC、服务器和云计算领域,拥有高性能、高速度和高兼容性的优势。在PC市场上,X86架构几乎独霸多年,占据了超过90%的份额。在服务器市场上,X86架构也占据了约80%的份额,但近年来受到ARM和RISC-V等架构的挑战。
  • ARM:这是一种低功耗、低成本的架构,主要用于移动设备、物联网、嵌入式系统和边缘计算领域,拥有节能、灵活和可定制的优势。在移动设备市场上,ARM架构占据了绝对优势,几乎所有的智能手机、平板电脑和智能手表都使用了基于ARM的芯片。在物联网市场上,ARM架构也占据了约70%的份额,成为最受欢迎的架构之一。
  • RISC-V:这是一种开源、模块化、可扩展的架构,主要用于人工智能、机器学习、智能穿戴和工业控制等领域,拥有开放、简单和易于移植的优势。RISC-V架构是近年来崛起的新星,受到了许多芯片公司和技术巨头的青睐。在人工智能市场上,RISC-V架构预计将占据约20%的份额,在智能穿戴市场上,RISC-V架构预计将占据约10%的份额。
  • MIPS:这是一种简洁、优化、高拓展性的架构,主要用于网络设备、机顶盒、数字电视和游戏机等领域,拥有高效、稳定和兼容性强的优势。MIPS架构是一种历史悠久的架构,曾经在网络设备市场上占据了较高的份额,但近年来受到了ARM和RISC-V等架构的冲击。在网络设备市场上,MIPS架构预计将占据约10%的份额,在机顶盒市场上,MIPS架构预计将占据约5%的份额。
架构 指令集类型 优势 劣势 应用领域 代表芯片
x86 CISC(复杂指令集) 计算性能强,兼容性好,生态成熟 功耗高,指令集封闭,授权限制 PC和服务器 Intel Core i9, AMD Ryzen 9
ARM RISC(精简指令集) 功耗低,架构灵活,授权模式多样 计算性能弱,授权费用高,受美国制裁影响 移动设备和嵌入式系统 Apple M1, Qualcomm Snapdragon 888
RISC-V RISC(精简指令集) 开源免费,架构模块化,自主研发空间大 生态不完善,技术不成熟,缺乏商业支持 物联网和边缘计算 SiFive Freedom U740, Alibaba XuanTie C910
MIPS RISC(精简指令集) 简洁,优化方便,高拓展性 市场份额小,竞争力不足,生态落后 网关、机顶盒等市场上非常受欢迎 龙芯3A5000, Loongson 3A4000

除了上述常见的架构,还有一些其他的架构,比如国产的csky,它是由杭州中天微系统有限公司开发的,主要用于嵌入式系统和物联网领域,它也是RISC-V的一个分支,支持RISC-V的基本指令集和扩展指令集。我用过使用这种架构的芯片:w800

二、ARM 芯片的特点

ARM芯片的主要特点有以下几点:

  • 精简指令集:ARM芯片使用精简指令集,即每条指令只完成一项简单的操作,从而提高指令的执行效率和处理器的性能。相比之下,复杂指令集(CISC)的指令可以完成多项复杂的操作,但是需要更多的硬件资源和执行时间。
  • 负载/存储架构:ARM芯片使用负载/存储架构,即只有专门的负载和存储指令可以访问内存,其他指令只能在寄存器之间进行操作。这样可以减少内存访问的次数和延迟,提高数据处理的速度。相比之下,寄存器/内存架构的处理器可以直接在内存和寄存器之间进行操作,但是会增加内存访问的开销。
  • 统一寄存器文件:ARM芯片使用统一寄存器文件,即所有的通用寄存器都可以用于任何目的,没有专门的数据寄存器或地址寄存器。这样可以提高寄存器的利用率和灵活性,减少数据移动的开销。相比之下,分段寄存器文件的处理器需要区分不同类型的寄存器,并进行相应的转换。
  • 条件执行:ARM芯片支持条件执行,即每条指令都可以根据一个条件码来决定是否执行。这样可以减少分支指令的使用,提高代码密度和流水线效率。相比之下,非条件执行的处理器需要使用专门的分支指令来实现条件跳转。
  • 多种工作模式:ARM芯片支持多种工作模式,例如用户模式、系统模式、管理模式、中断模式、异常模式等。不同的工作模式有不同的权限和功能,可以实现不同级别的任务切换和异常处理。相比之下,单一工作模式的处理器需要使用软件来模拟多任务和异常处理。

三、ARM芯片的分类

ARM芯片可以根据其架构版本、核心类型、应用领域等方面进行分类。以下是常见的分类方法:

3.1 按架构版本分类

ARM架构从最早的ARMv1到最新的ARMv9,经历了多次升级和改进,增加了许多新的特性和功能。不同版本的ARM架构有不同的指令集、寄存器、异常模型等。例如,ARMv7引入了Thumb-2指令集和NEON向量扩展,ARMv8引入了64位支持和AES加密扩展,ARMv9引入了可信执行环境和标量扩展等。

版本 发布年份 指令集类型 主要特点 代表芯片
ARMv1 1985 32位RISC 支持26位地址空间,可寻址64MB内存,有16个32位寄存器,支持条件执行和异常处理 ARM1
ARMv2 1987 32位RISC 增加了乘法指令和协处理器接口,支持浮点运算和内存管理单元(MMU) ARM2
ARMv3 1989 32位RISC 扩展了地址空间到32位,可寻址4GB内存,增加了Thumb指令集,提高了代码密度和性能 ARM6
ARMv4 1993 32位RISC 增加了ARM/Thumb交叉切换模式,支持大端和小端模式,增加了DSP扩展指令和快速乘累加指令(MLA) ARM7TDMI
ARMv5 1997 32位RISC 增加了增强型DSP扩展指令(E)和Java字节码加速指令(J),支持信号处理和嵌入式Java应用,增加了状态转移模型(T2)和信任区域扩展(TE) ARM9E
ARMv6 2002 32位RISC 增加了SIMD媒体扩展指令(M),支持多媒体和图形处理,增加了无需MMU的硬件分页机制(P),支持大型物理地址扩展(LPAE),增加了向量浮点运算单元(VFP) ARM11
ARMv7 2005 32位RISC 增加了高级SIMD扩展指令(NEON),支持高性能的多媒体和科学计算,增加了安全扩展(S),支持可信执行环境(TEE),增加了超标量双发射架构(Cortex-A8)和多核架构(Cortex-A9) Cortex-A8/A9/A15/A17
ARMv8 2011 64位RISC 增加了64位数据处理和寻址能力,支持128位浮点数和SIMD运算,增加了一致性内存模型(RCU),支持虚拟化扩展(V),增加了可选的循环冗余校验指令(CRC)和原子操作指令(A) Cortex-A53/A57/A72/A73/A75/A76
ARMv9 2021 64位RISC 增加了安全性能提升方案(SPS),支持动态实时防护内存区域,增加了实时计算框架(RCF),支持低延迟、高吞吐量的实时应用,增加了标量浮点扩展指令(SVE/SVE2),支持高性能的AI和HPC计算,增加了虚拟化主机扩展(VHE)和嵌套虚拟化扩展(NV) 骁龙8 Gen 1, 天玑9000

3.2 按核心类型分类

ARM核心是指实现了某个版本ARM架构的具体处理器设计,它由ARM公司设计并授权给其他厂商生产。不同类型的ARM核心有不同的性能、功耗、面积等。例如,Cortex-A系列是针对高性能应用的核心,Cortex-R系列是针对实时应用的核心,Cortex-M系列是针对微控制器应用的核心等。

系列 应用领域 特点 代表芯片
Cortex-A 高性能应用处理器,如智能手机、平板电脑、服务器等 支持32位或64位指令集,支持虚拟化和安全扩展,支持多核和大规模集成,支持高级SIMD和浮点运算,支持动态频率和电压调节 Cortex-A5/A7/A8/A9/A12/A15/A17/A32/A35/A53/A55/
A57/A65/A72/A73/A75/A76/A77/A78/A510
Cortex-R 实时处理器,如硬盘控制器、汽车传动系统、无线通信基带等 支持32位指令集,支持安全扩展,支持双核和锁步模式,支持错误校正码(ECC)和物理地址扩展(LPAE),支持高效的中断处理和内存保护 Cortex-R4/R5/R7/R8/R52
Cortex-M 微控制器处理器,如传感器、可穿戴设备、物联网设备等 支持16位或32位指令集,支持低功耗模式,支持嵌套向量中断控制器(NVIC),支持可选的浮点运算单元(FPU)和数字信号处理(DSP)扩展,支持可信执行环境(TEE)和物理不可克隆函数(PUF)等 Cortex-M0/M0+/M1/M3/M4/
M7/M23/M33/M35P/M55

3.3 按应用领域分类

ARM芯片可以根据其应用领域的不同,分为不同的系列和产品。

例如,STM32系列是基于Cortex-M核心的微控制器芯片,适用于各种嵌入式系统;Snapdragon系列是基于Cortex-A核心的应用处理器芯片,适用于各种移动设备;ThunderX系列是基于Cortex-A核心的服务器处理器芯片,适用于各种云计算和大数据场景等。

四、ARM芯片的代表产品

ARM芯片有许多代表产品,以下是一些常见的例子:

  • STM32F103:这是一款基于Cortex-M3核心的微控制器芯片,它具有72MHz的主频、64KB~512KB的闪存、20KB的SRAM、多种通信接口和外设等。它适用于各种工业控制、消费电子、物联网等领域。

ARM、ARM架构、ARM架构芯片_第2张图片

  • Raspberry Pi 4:这是一款基于Cortex-A72核心的单板计算机,它具有1.5GHz的主频、2GB~8GB的内存、双频Wi-Fi、蓝牙5.0、千兆网口、两个HDMI接口等。它适用于各种教育、创客、媒体中心等场景。
    ARM、ARM架构、ARM架构芯片_第3张图片

  • Apple M1:这是一款基于自定义ARMv8.4架构的应用处理器芯片,它具有8个CPU核心(4个高性能核心和4个高效能核心)、8个或16个GPU核心、16个神经网络加速器核心、8GB或16GB的内存、高速缓存和安全模块等。它适用于苹果公司的IPad、MacBook Air、MacBook Pro、Mac mini和iMac等产品。
    ARM、ARM架构、ARM架构芯片_第4张图片

  • Ampere Altra:这是一款基于Neoverse N1架构的服务器处理器芯片,它具有80个CPU核心(每个核心都可以运行在3GHz)、64MB的L3缓存、128个PCIe 4.0通道、8个内存通道(支持DDR4-3200)等。它适用于各种云计算、边缘计算、高性能计算等场景。

五、ARM芯片的最新动态

ARM芯片在不断地发展和创新:

  • 2021年3月,ARM公司发布了ARMv9架构,这是ARM架构十年来的第一次重大升级。ARMv9架构增加了许多新的特性和功能,例如可信执行环境(TEE)、标量扩展(SVE)、实时扩展(RTE)、内存标签扩展(MTE)等。ARMv9架构旨在提高安全性、性能和人工智能能力,满足未来十年的需求。
    ARM、ARM架构、ARM架构芯片_第5张图片

  • 2021年4月,英伟达公司宣布推出Grace CPU,这是一款基于Arm Neoverse V2架构的服务器处理器芯片,它具有高达300个CPU核心、512GB的LPDDR5x内存、900GB/s的NVLink-C2C带宽、600GB/s的PCIe 5.0带宽等。它适用于各种大规模的AI和HPC应用,例如自然语言处理、推荐系统、超级计算等。

  • 2021年6月,三星电子公司发布了Exynos 2100,这是一款基于Cortex-X1核心的应用处理器芯片,它具有8个CPU核心(1个Cortex-X1、3个Cortex-A78和4个Cortex-A55)、14个GPU核心(Mali-G78)、3个NPU核心(神经网络处理器)、16GB的LPDDR5内存、6.7GB/s的UFS 3.1存储等。它适用于各种高端的智能手机和平板电脑等产品。
    ARM、ARM架构、ARM架构芯片_第6张图片

  • 2021年7月,华为公司发布了鲲鹏920,这是一款基于自主研发的鲲鹏架构的服务器处理器芯片,它具有64个CPU核心(每个核心都可以运行在2.6GHz)、8个内存通道(支持DDR4-2933)、40个PCIe 4.0通道、100Gb RoCEv2网络接口等。它适用于各种云计算、边缘计算、大数据分析等场景。
    ARM、ARM架构、ARM架构芯片_第7张图片

  • 2023年1月,高通公司发布了Nuvia CPU,这是一款基于Armv9架构的应用处理器芯片,它具有16个CPU核心(每个核心都可以运行在3.5GHz)、32MB的L3缓存、256GB的LPDDR5x内存、1200GB/s的NVLink-C2C带宽、800GB/s的PCIe 5.0带宽等。它适用于各种高性能的移动设备和笔记本电脑等产品。
    ARM、ARM架构、ARM架构芯片_第8张图片

六、Sample

6.1 Apple

6.1 A 系列

芯片 发布年份 设备 CPU 架构 CPU 核心数 GPU 核心数 工艺制程
A4 2010 iPad (第一代)、iPhone 4、iPod touch (第四代)、Apple TV (第二代) ARM Cortex-A8 1 1 45 nm
A5 2011 iPad 2、iPhone 4S、iPod touch (第五代)、iPad Mini (第一代)、Apple TV (第三代) ARM Cortex-A9 2 2 45 nm / 32 nm
A5X 2012 iPad (第三代) ARM Cortex-A9 2 4 45 nm
A6 2012 iPhone 5、iPhone 5C Apple Swift (ARMv7s) 2 3 32 nm
A6X 2012 iPad (第四代) Apple Swift (ARMv7s) 2 4 32 nm
A7 2013 iPhone 5S、iPad Air (第一代)、iPad Mini 2、iPad Mini 3 Apple Cyclone (ARMv8-A) 2 4 / 6 / 8 /10 /12 /16 /20 /24 /28 /32 /36 /40 /44 /48 /52 /56 /60 /64 /68 /72 /76 /80 /84 /88 /92 /96 /100 /104 /108 /112 /116 /120 /124 /128 nm
A8 2014 iPhone 6、iPhone 6 Plus、iPod touch (第六代)、iPad Mini 4、Apple TV HD、HomePod Apple Typhoon (ARMv8-A) 2 4/6/8/10/12/16/20/24/28/32/36/40/44/48/52/56/60/64 nm
A8X 2014 iPad Air 2 Apple Typhoon (ARMv8-A) 3 8 20 nm
A9 2015 iPhone 6S、iPhone 6S Plus、iPhone SE (第一代)、iPad (第五代) Apple Twister (ARMv8-A) 2 6 14 nm
A9X 2015 iPad Pro (12.9-inch) (第一代)、iPad Pro (9.7-inch) Apple Twister (ARMv8-A) 2 12 16 nm
A10 Fusion 2016 iPhone 7、iPhone 7 Plus、iPad (第六代)、iPad (第七代)、iPod touch (第七代) Apple Hurricane + Zephyr (ARMv8-A) 4(2+2) 6 16 nm
A10X Fusion 2017 iPad Pro (10.5-inch)、iPad Pro (12.9-inch) (第二代)、Apple TV 4K Apple Hurricane + Zephyr (ARMv8-A) 6(3+3) 12 10 nm
A11 Bionic 2017 iPhone 8、iPhone 8 Plus、iPhone X Apple Monsoon + Mistral (ARMv8-A) 6(2+4) 3 10 nm
A12 Bionic 2018 iPhone XS、iPhone XS Max、iPhone XR、iPad Air (第三代)、iPad Mini (第五代)、iPad (第八代) Apple Vortex + Tempest (ARMv8-A) 6(2+4) 4 7 nm
A12X Bionic 2018 iPad Pro (11-inch) (第一代)、iPad Pro (12.9-inch) (第三代) Apple Vortex + Tempest (ARMv8-A) 8(4+4) 7 7 nm
A12Z Bionic 2020 iPad Pro (11-inch) (第二代)、iPad Pro (12.9-inch) (第四代) Apple Vortex + Tempest (ARMv8-A) 8(4+4) 8 7 nm
A13 Bionic 2019 iPhone 11、iPhone 11 Pro、iPhone 11 Pro Max、iPhone SE (第二代) Apple Lightning + Thunder (ARMv8-A) 6(2+4) 4 7 nm
A14 Bionic 2020 iPad Air (第四代)、iPhone 12、iPhone 12 mini、iPhone 12 Pro、iPhone 12 Pro Max Apple Firestorm + Icestorm (ARMv8-A) 6(2+4) 4 5 nm
A15 Bionic 2021 iPad mini (第六代)、iPhone 13、iPhone 13 mini、iPhone 13 Pro、iPhone 13 Pro Max Apple Firestorm + Icestorm (ARMv8-A) 6(2+4) / 5(2+3) / 4(2+2) / 3(1+2) / 2(1+1) / 1(1+0) / 0(0+0) 5 / 4 / 3 / 2 / 1 / 0 5 nm
A16 Bionic 2022 iphone 14 Everest + Sawtooth (ARMv8-A) 6(2+4) 5 4nm³

6.2 M 系列

M系列芯片具有高性能、低功耗、高集成度等特点,是苹果公司从英特尔x86架构的处理器芯片转向ARM架构的处理器芯片的重要标志。本文将介绍苹果M系列芯片的各个型号,包括其特点、性能、功能和应用等。

芯片 发布时间 晶体管数 CPU核心数 GPU核心数 NPU核心数 内存容量 内存带宽
M1 2020年11月 160亿 8 (4+4) 7或8 16 最高16GB LPDDR4X 68GB/s
M1 Pro 2021年10月 330亿 最高10 (8+2) 最高16 16 最高32GB LPDDR4X 200GB/s
M1 Max 2021年10月 570亿 最高10 (8+2) 最高32 16 最高64GB LPDDR4X 400GB/s
M1 Ultra 2022年3月 1140亿 最高24 (16+8) 最高64 32 最高128GB LPDDR4X 800GB/s
M2 2022年7月 180亿 8 (4+4) 10或12 24 最高24GB LPDDR5 100GB/s
M2 Pro 2022年11月 360亿 最高10 (8+2) 最高20 24 最高48GB LPDDR5 300GB/s
M2 Max 2023年1月 620亿 最高10 (8+2) 最高40 24 最高96GB LPDDR5 600GB/s
M2 Ultra 2023年6月 1340亿 最高20 (16+4) 最高76 32 最高192GB LPDDR5 1200GB/s

6.2 STM 系列

芯片 发布时间 处理器核心 主频 内存 存储 外设
STM32F0 2011年 Cortex-M0 最高48MHz 最高16KB RAM 最高256KB Flash 最高32个GPIO,最高7个定时器,最高2个ADC,最高1个DAC,最高2个I2C,最高2个SPI,最高4个USART,最高1个USB 2.0 FS
STM32F1 2007年 Cortex-M3 最高72MHz 最高96KB RAM 最高1MB Flash 最高80个GPIO,最高15个定时器,最高3个ADC,最高2个DAC,最高2个I2C,最高3个SPI,最高5个USART,最高1个USB 2.0 FS
STM32F2 2010年 Cortex-M3 最高120MHz 最高128KB RAM 最高1MB Flash 最高140个GPIO,最高17个定时器,最高3个ADC,最高2个DAC,最高2个I2C,最高4个SPI,最高6个USART,最高1个USB 2.0 HS/FS
STM32F3 2011年 Cortex-M4 (FPU) 最高72MHz 最高40KB RAM 最高512KB Flash 最高114个GPIO,最高18个定时器,最高4个ADC,最高2个DAC,最高3个I2C,最多6个SPI,最多8个USART/UART,最多1个USB 2.0 FS
STM32F4 2011年 Cortex-M4 (FPU) 最高180MHz 最多256KB RAM 最多2MB Flash 最多168个GPIO, 最多25个定时器, 最多3个ADC, 最多2个DAC, 最多4个I2C, 最多6个SPI, 最多10个USART/UART, 最多1个USB 2.0 HS/FS
STM32F7 2015年 Cortex-M7 (FPU) 最多480MHz 最多512KB RAM 最多2MB Flash 最多176个GPIO, 最多26个定时器, 最多3个ADC, 最多2个DAC, 最多4个I2C, 最多6个SPI, 最多10个USART/UART, 最多1个USB 2.0 HS/FS
STM32H7 2016年 Cortex-M7 (FPU) 或Cortex-M4 (FPU) 或双核(M7+M4) M7:最多550MHz; M4:最多240MHz; 双核: M7:480MHz; M4:240MHz M7:128KB或512KB或1MB RAM; M4:128KB或240KB RAM; 双核: M7:128KB或512KB或1MB RAM; M4:128KB或240KB RAM; 共享:128KB或512KB RAM
STM32L0 2015年 Cortex-M0+ 最高32MHz 最高20KB RAM 最高192KB Flash 最高51个GPIO,最高16个定时器,最高2个ADC,最高1个DAC,最高2个I2C,最高3个SPI,最高5个USART/UART,最高1个USB 2.0 FS
STM32L1 2011年 Cortex-M3 最高32MHz 最高80KB RAM 最高512KB Flash 最高87个GPIO,最高17个定时器,最高3个ADC,最高2个DAC,最高3个I2C,最高3个SPI,最高5个USART/UART,最高1个USB 2.0 FS
STM32L4 2016年 Cortex-M4 (FPU) 最高120MHz 最高320KB RAM 最高2MB Flash 最高114个GPIO,最高24个定时器,最高3个ADC,最高2个DAC,最高4个I2C,最多6个SPI, 最多8个USART/UART, 最多1个USB 2.0 FS
STM32L5 2019年 Cortex-M33 (FPU) 最高110MHz 最高256KB RAM 最高512KB Flash 最多114 GPIOs, 最多26 timers, 最多3 ADCs, 最多2 DACs, 最多4 I2Cs, 最多6 SPIs, 最多8 USARTs/UARTs, 最多1 USB 2.0 FS


~

你可能感兴趣的:(Embedded,Systems,架构,ARM,嵌入式)