• 【ARM-0】基本概念


    1. ARM 介绍

    之前称作艾康精简指令集机器,Acorn RISC Machine。现在的含义是 Advanced RISC Machine,高级 RISC 机器;

    ARM 是 RISC(精简指令集计算机) 的一种。

    指令集分为精简指令集与复杂指令集,对应两种计算机:

    • RISC
    • CISC

    1.0 常见术语

    • PE Processing Element:状态机 ,单核单线程的处理器是一个 PE;多核,每个核单线程的处理器,每个核是一个 PE;多核,每个核多线程的处理器,每个线程是一个 PE
    • IMPLEMENTATION DEFINED:实现已经被定义,简称 IMP DEF。被描述为 IMP DEF 的特性或功能,其任何实现必须提供完全一致的行为或完全相同值。
    • UNPREDICTABLE and CONSTRAINED UNPREDICTABLE: 不可预测和约束不可预测 ,用来描述软件不应该做的事。当某个事件是 不可预测和约束不可预测 时,软件不能依赖处理器的行为。如果软件多次执行不良操作,处理器可能会展现出不同的行为。
    • DEPRECATED:不赞成。有时某个特性、功能会因为性能问题、不经常使用或者没有必要而删除,再删除之前,该特性或功能会被标记为 DEPRECATED,同时在该架构中添加一个控制开关,来允许关闭该特性或功能,也方便了使用该特性或功能的遗留代码进行测试。
    • RES0/RES1
      • Reserved, should be Zero:保留字段,初始化时应为 0
      • Reserved, should be One:保留字段,初始化时应为 1

    1.1 ARM 与 APPLE

    ARM 的前身为艾康电脑,1978年于英国剑桥创立。在1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。1985年,艾康电脑研发出采用精简指令集的新处理器,名为ARM(Acorn RISC Machine),又称ARM 1。因为艾康电脑的财务出现状况,1990年11月27日,获得Apple与VLSI科技的资助,分割出ARM,成为独立子公司。—— 维基百科

    ARM 架构所属的公司是安谋科技。2016年7月18日,日本软银集团收购了安谋科技。ARM 盈利模式为出售 ARM IP(Intellectual Property,知识产权)授权。

    1.2 ARM 核类型

    • A(Applications):高性能,可以运行复杂系统,例如 Linux、Windows
    • R(Real-time):面向实时应用场景,通常用在网络设备、嵌入式设备中
    • M(Microcontroller):高功耗效率比,用在 IoT,即物联设备中

    1.3 ARM 架构版本号

    ARMv8-A:具体信息在 v8-A

    • v8,表示 verison 8,版本号是 8
    • A,表示核的类型是 A 型,即 Application

    A 核最新版本是 ARMv9-A,ARMv9-A 基于 ARMv8-A,新增了一些特性:

    • 可扩展向量扩展,版本2,SVE2(Scalable Vector Extension2)
    • 事务内存扩展,TME(Transactional Memory Extension)
    • 分支记录缓存扩展,BRBE(Branch Record Buffer Extension)
    • 嵌入式跟踪扩展,ETE(Embeded Trace Extension)
    • 追踪缓存扩展,TRBE(Trace Buffer Extension)

    1.4 Architecture 与 Micro-Architecture,架构与微架构

    架构不会讲处理器是如何构建的,以及内部如何运行。

    1.5 Architecture 包括什么

    • 指令集
    • 寄存器集
    • 异常模型
    • 内存模型
    • Debug、Trace跟踪、Profiling分析

    1.6 Micro-Architecture 包括什么

    • 流水线长度以及布局
    • Cache 分级、数量、大小
    • 单个指令有多少个指令周期(Cycle Count,这里说指令周期可能不准确,有待查证)
    • 实现了哪些可选的特性

    1.7 不止是架构和微架构规范

    Arm 对构成现代系统级芯片 (SoC) 的许多组件都有类似的规范。

    • Generic Interrupt Controller(GIC):标准的通用中断控制器的规范,在 Armv7-A/R、Armv8-A/R 中有使用。
    • System Memory Management Unit(SMMU\IOMMU):提供给非处理器 master 译址服务
    • Generic Timer:通用计时器 Generic Timer 是 ARM 架构的一部分,system counter 是一个系统组件。Generic Timer 提供给所有处理器一个 system count reference(参考、引用),Generic Timer 提供的功能通常用在诸如 OS scheduler tick 之类的地方。
    • Server Base System Architecture and Trusted Base System Architecture:SBSA、TBSA 为 SoC 开发者提供设计指导。
    • Advanced Microcontroller Bus Architecture:总线协议系列的高级微控制器总线体系结构 (AMBA) 控制基于Arm的系统中的组件的连接方式以及这些连接上的协议。

    1.8 阅读 ARM 文档

    • Arm Architecture Reference Manual:描述了架构规范
    • Arm Cortex processor has a Technical Reference Manual (TRM):每个 Cortex 处理器都有一个 TRM 文档。TRM 描述了特定 Cortex 处理器的特性。通常,TRM不会重复ARM架构参考手册中给出的任何信息。
    • Arm Cortex processor also has a Configuration and Integration Manual (CIM):每个 Cortex 处理器也有一个 CIM 文档。CIM描述了如何将处理器集成到系统中。通常,该信息仅与SoC设计者相关。

    以 Cortex-A75 为例,相关文档如下:图片引用自 ARM 官方文档 [Introducing the Arm architecture]。
    在这里插入图片描述
    reference manuals 和 user guides 的区别:前者提供概念、技术细节,后者提供使用方法。

  • 相关阅读:
    半入耳蓝牙耳机哪款好用?南卡和FIIL半入耳耳机测评
    828. 统计子串中的唯一字符
    极端气候肆虐催化,碳中和带出了一个“再生时代”
    3D开发工具HOOPS SDK在电子设计自动化(EDA)中的应用
    golang 解析oracle 数据文件头
    「运维有小邓」合规审计报表
    spring boot1.5 jsp页面找不到
    YOLOv5改进实战 | GSConv + SlimNeck双剑合璧,进一步提升YOLO!
    艾美捷细胞计数试剂盒-8(CCK-8),一步到位
    cuda11安装 nvidia-455配置报错 解决方法
  • 原文地址:https://blog.csdn.net/qq_43261873/article/details/126181725