登录/注册

arm内核的结构组成与特点介绍

ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。

更多

好的,我们来详细介绍一下ARM内核的结构组成和主要特点。ARM架构因其卓越的能效比可定制化在全球范围内被广泛应用,特别是在移动设备、嵌入式系统和物联网领域。

ARM内核的结构组成

ARM内核的设计采用了精简指令集计算理念,其结构组成可以概括为几个核心部分,这些部分共同协作以高效地执行指令和处理数据:

  1. 指令集架构:

    • 基础: 定义了CPU可以理解和执行的基本指令集(如加、减、加载、存储等)。ARM指令集以其固定长度(通常是32位或64位)和简化的指令格式而闻名,这有助于提高译码效率。
    • 系列: ARM提供了不同的指令集架构系列,主要包含:
      • A系列: 高性能应用处理器(如智能手机、平板电脑、服务器)。支持32位(ARMv7-A)和64位(ARMv8-A, ARMv9-A)。
      • R系列: 实时处理器(如汽车控制、工业自动化)。需要确定性的快速响应。
      • M系列: 微控制器(IoT设备、传感器、低功耗嵌入式系统)。特点是极低功耗、小面积和高效率(非常广泛)。
    • 指令集状态: 在ARMv8及以后,支持两种执行状态:
      • AArch64: 执行64位指令集(A64)。
      • AArch32: 执行传统的32位指令集(兼容早期的ARM指令集,如Thumb)。
  2. 处理器核心硬件:

    • 流水线: ARM内核普遍采用流水线技术来提高指令执行的并行度。不同性能级别的内核有不同深度的流水线(如3级、5级、8级、10级甚至更深的超标量流水线)。
    • 寄存器文件: 一组高速存储单元,用于暂存数据和地址。ARM架构(特别是Cortex-M和Cortex-R)通常有16个32位通用寄存器(R0-R15),其中R13通常作为栈指针,R14作为链接寄存器,R15作为程序计数器。在AArch64状态下,有31个64位通用寄存器。
    • 算术逻辑单元: 负责执行算术(加、减、乘等)和逻辑(与、或、非、移位等)运算。
    • 浮点单元 / NEON单元: (可选,但常见)FPU专门处理浮点运算;NEON单元是一种SIMD引擎,用于加速多媒体编解码、信号处理等并行计算密集型任务。
    • 内存管理单元 / 内存保护单元:
      • MMU: 主要在应用处理器中使用,提供虚拟内存支持、内存访问权限控制和地址转换(物理地址到虚拟地址的映射),对运行复杂操作系统至关重要。
      • MPU: 主要用在微控制器和实时处理器中,提供内存区域保护和访问权限控制,但不进行虚拟地址转换(通常没有复杂的MMU开销)。
    • 高速缓存: L1指令缓存和数据缓存(I-Cache, D-Cache)是核心级的,用于加速指令和数据的访问。高性能内核还可能有L2缓存(共享或专用)。缓存的大小和关联性根据内核定位不同。
    • 总线接口: 通过标准化的AMBA总线协议(如AXI, AHB, APB)连接到片上系统的其他部分(外设、内存控制器、其它处理器等)。
    • 中断控制器接口: 核心通过标准接口(如GIC、NVIC)连接中断控制器,以高效处理外部事件。
    • 调试与跟踪单元: 提供硬件调试功能(如断点、单步执行)和性能分析接口(如CoreSight),用于开发和性能优化。
    • 电源管理单元接口: 提供多种睡眠、休眠状态,允许操作系统或固件精细地控制核心功耗。
  3. 核心关联模块:

    • 中断控制器:
      • NVIC: 用于Cortex-M系列,管理来自外设的中断请求,支持低延迟中断处理。
      • GIC: 用于Cortex-A系列(有时也用于高性能R系列),支持管理多核处理器中复杂的中断分发和优先级处理。
    • 系统控制外设: 如系统定时器、看门狗定时器、复位控制器等,这些通常不在核心内部,但与核心紧密协作。

ARM内核的主要特点

  1. 低功耗 & 高能效比: 这是ARM最核心的竞争优势。ARM架构从指令集设计、流水线优化、功耗门控(细粒度的时钟门控、电源门控)等层面进行了大量优化,使其在提供可观性能的同时保持极低的功耗,特别适合电池供电的移动设备和物联网设备。
  2. 精简指令集: RISC设计哲学带来诸多好处:
    • 指令长度固定,格式规整,译码简单快速。
    • 大部分指令是单周期或低周期执行(特别是寄存器-寄存器操作)。
    • 大量通用寄存器减少了频繁访问慢速内存的需求。
    • 简化了CPU控制逻辑,降低了硬件复杂度。
  3. 高度可定制化与可扩展性:
    • 多种核心选择: ARM公司提供广泛的产品组合(如Cortex-A78, Cortex-A55, Cortex-R82, Cortex-M33, Cortex-M0+等),针对不同的性能、功耗和面积需求进行优化。芯片厂商可以选择最适合其应用的核心。
    • AMBA总线标准: 定义了清晰的总线接口,使得芯片设计者可以轻松地将ARM内核与第三方IP核(如GPU, DSP, 各种外设控制器)以及自研模块集成在一起,形成复杂的SoC。
    • 协处理器接口: 允许添加自定义功能的硬件加速器。
    • 自定义指令: 在某些平台(如Arm Custom Instructions for Cortex-M33),允许芯片厂商添加自己的专用指令,在不改变基础架构的情况下进行特定加速。
  4. 强大的生态系统:
    • 软件支持: ARM拥有全球最庞大的软件生态系统。几乎所有主流操作系统(Android, Linux发行版,各种RTOS如FreeRTOS, Zephyr)都原生支持ARM架构。开发工具(编译器如GCC, LLVM Clang, Arm Compiler for Embedded,调试器)非常成熟和完善。
    • IP供应商: 大量第三方公司提供围绕ARM内核设计的丰富IP模块。
    • 设计服务与EDA工具: 众多公司提供基于ARM的设计服务和优化过的EDA工具流程。
  5. 广泛的适用性: 从最低功耗的传感器节点(Cortex-M0+),到汽车电子的实时控制(Cortex-R),再到智能手机/平板/笔记本电脑(Cortex-A),直至数据中心服务器(Neoverse系列)和高性能计算,ARM架构几乎覆盖了所有计算领域。
  6. 安全性: ARM架构集成了先进的安全特性:
    • TrustZone: 提供硬件隔离的安全区域,用于保护敏感代码和数据(如加密密钥、支付信息),即使在操作系统被攻破的情况下也能提供保护。
    • 分支目标识别 / 指针认证: 在现代架构(ARMv8.3-A及以后,ARMv8.1-M等)中引入,以抵御ROP/JOP等常见攻击。
  7. 性能(尤其在能效比约束下):
    • 虽然单核峰值性能可能不是最高的,但其在有限的功耗和面积预算下能提供的性能非常出色。
    • 通过多核异构计算(如big.LITTLE技术,将高性能大核和高能效小核组合)、强大的GPU集成方案(Mali系列)以及优化的存储层次结构,ARM平台可以提供满足各类应用需求的整体性能。在移动计算领域,性能表现早已能媲美传统x86笔记本电脑处理器。

总结

ARM内核的结构以精简高效的RISC指令集为基础,核心硬件围绕流水线、寄存器文件、ALU、Cache、MMU/MPU、总线接口等构建,并强调低功耗设计。其最大的特点是提供了无与伦比的能效比、高度的可定制化能力、强大的生态系统支持以及极其广泛的产品组合和应用场景。这使得ARM架构成为当今最成功的计算架构之一,深刻影响着我们身边几乎所有智能设备的形态和能力。

ARM处理器的结构特点

ARM处理器,全称Advanced RISC Machines,是一种基于精简指令集(RISC)架构的微处理器。其结构和特点在嵌入式系统、移动设

2024-09-10 11:09:36

了解体系结构 - 介绍 Arm 体系结构

。该体系结构为软件开发人员公开了一个通用的指令集和工作流程,也称为程序员模型。这有助于确保架构的不同实现之间的互操作性,以便软件可以在不同的 Arm 设备上运行。本指南为任何对此感兴趣的人

2023-08-01 14:35:14

ARM Linux设备树的组成结构

内核,内核会将这些资源绑定给展开的相应的设备。设备树的组成和结构整个设备

2022-05-11 16:28:03

ARM芯片与开发板实例

现将几种常用芯片的Samsung S3C44B0X (ARM7TDMI内核)、 S3C2410B (ARM920T核)和Intel PXA255

资料下载 姚小熊27 2021-04-09 09:29:10

Cortex系列ARM内核介绍

众所周知,英国的ARM公司是嵌入式微处理器世界当中的佼佼者。ARM一直以来都是自己研发微处理器内核架构,然后将这些架构的知识产权授权给各个芯片厂

资料下载 姚小熊27 2021-04-06 16:03:17

ARM处理器内核的详细资料概述

本文档的主要内容详细介绍的是ARM处理器内核的详细资料概述包括了:ARM

资料下载 佚名 2019-10-14 17:14:23

嵌入式系统及应用教程之ARM体系结构及处理器内核的详细资料说明

本文档的主要内容详细介绍的是嵌入式系统及应用教程之ARM体系结构及处理器内核

资料下载 佚名 2019-10-14 17:14:22

如何使用ARM进行嵌入式linux的系统设计

本文简要介绍了ARM处理器的特点及其基本结构,详细论述了基于

资料下载 佚名 2019-05-06 18:22:00

介绍几种常见的ARM内核

ARM内核 介绍几种常见的ARM

2021-12-07 06:36:51

内核结构特点

56.4.1课堂重点6.4.2测试与作业1单选(2分)以下哪个不是微内核结构的特点A.文件与网络服务和微

2021-10-27 06:09:10

ARM的体系结构是由哪些部分组成

ARM的体系结构是由哪些部分组成的?ARM的编程模式有哪几种?为什么要划

2021-10-21 06:23:36

ARM内核与架构是由哪些部分组成

到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?ARM的内核

2021-09-22 06:48:27

什么是ARMARM特点有哪些

RISC芯片内核设计公司,RISC–精简指令集计算机,特点是所有的指令的格式都是一样的,所有指令的指令周期也是一样的;ARM本身并不生产和销售芯

2021-07-29 06:43:20

VME的特点是什么?VME的结构是由哪些部分组成的?

VME的特点是什么?VME的结构是由哪些部分组成的?VME总线有哪些种类?

2021-05-27 07:00:00

米尔科技ARM体系结构与编程介绍

《ARM体系结构与编程》分14章对ARM处理器的体系结构、指令系统和开发

2019-11-25 09:18:57

7天热门专题 换一换
相关标签