当前位置: 首页 > news >正文

嵌入式学习日记(42)ARM

  1. 什么是RISC, CISC? ARM属于哪种?

    • CISC (复杂指令集计算机):指令系统复杂,指令长度不固定,单条指令可完成复杂操作,但执行效率可能较低。代表:Intel x86架构。

    • RISC (精简指令集计算机):指令系统精简,指令长度固定,采用流水线技术,追求单周期执行指令,效率高。ARM属于RISC架构

  2. ARM内核中都有哪些部分组成?

    • 核心组成部分通常包括:

      • 算术逻辑单元(ALU):执行运算。

      • 寄存器组:用于存储数据和指令。

      • 控制单元:控制指令的执行和流水线。

      • 流水线:提高指令执行效率。

      • 内存管理单元(MMU)内存保护单元(MPU):管理内存访问和保护(MMU用于实现虚拟内存)。

  3. ARM9有多少种工作模式?Cortex A有几种?名称和作用?

    • ARM9 (基于ARMv5架构) 有 7种 工作模式:

      1. 用户模式 (User):正常程序执行模式,权限受限。

      2. 快速中断模式 (FIQ):处理高速数据传输、通道处理等快速中断。

      3. 外部中断模式 (IRQ):处理普通中断请求。

      4. 管理模式 (Supervisor):操作系统保护模式,复位和软中断指令进入。

      5. 中止模式 (Abort):处理内存访问失败(预取指中止、数据中止)。

      6. 未定义模式 (Undefined):处理未定义指令异常。

      7. 系统模式 (System):运行特权级操作系统任务(ARMv4及以上版本才有)。

    • Cortex-A (如A8/A9, 基于ARMv7-A架构) 有 8种 工作模式(增加了1种):

      1. 用户模式 (User)

      2. 快速中断模式 (FIQ)

      3. 外部中断模式 (IRQ)

      4. 管理模式 (Supervisor):也是复位和软件中断(SVC)的入口。

      5. 监视模式 (Monitor)这是新增的模式,用于实现安全扩展(TrustZone),在安全世界和非安全世界之间切换。

      6. 中止模式 (Abort)

      7. 未定义模式 (Undefined)

      8. 系统模式 (System)

  4. ARM9、Cortex A有多少个寄存器?

    • 寄存器数量与架构版本工作模式相关,程序员可见的通常是 37个(32个通用寄存器 + 5个状态寄存器,不包括PC)。

    • 不同模式下有自己专属的备份寄存器(Banked Registers),但总数是37个。这个数量在ARM9 (ARMv5) 和 Cortex-A (ARMv7-A) 中是相同的。

  5. 当异常产生时,ARM内核会做哪些工作?

    1. 下一条指令的地址保存到相应异常模式下的链接寄存器LR(R14)中。

    2. 当前程序状态寄存器CPSR复制到异常模式下的程序状态保存寄存器SPSR中。

    3. 根据异常类型,强制改变CPSR中的模式位,进入特定的异常模式(如IRQ、FIQ等)。

    4. 强制将PC指针指向异常向量表中对应的异常入口地址。

    5. 禁止中断(如果需要,例如自动禁止IRQ以防止嵌套中断)。

  6. 什么是异常向量表?

    • 异常向量表是一块固定的内存地址区域(通常位于地址0x00000000或高端地址0xFFFF0000)。

    • 表中每一项存放的是一条跳转指令或者一个异常入口地址,对应一种特定的异常(如复位、未定义指令、IRQ、FIQ等)。

    • 当异常发生时,处理器会自动跳转到向量表中对应的固定位置开始执行指令。             

冯诺依曼架构:诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构

哈佛架构:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构

AHB总线:先进高速总线

APB总线:先进外设总线

RAM分类

ROM分类

http://www.dtcms.com/a/374148.html

相关文章:

  • 盖奇的遭遇__[心理学和脑科学神经科学](1)
  • CSS-基础认知(基础篇)
  • 淘宝商品数据爬虫 API 实战开发指南:合规化采集与高效数据处理
  • BBEH:大模型高阶推理能力的“超难”试金石
  • 训诂学与现代人工智能的融合——学术价值、技术潜力与未来展望
  • 【面试题】Transformer创新应用
  • KGDB(Kernel GNU Debugger)工具使用方法详解
  • 架构思维升维:用三层模型穿透技术表象,驾驭复杂系统——淘宝亿级并发架构演进启示录
  • Java设计模式之结构型—装饰器模式
  • Python编程基础(八) | 类
  • Ubuntu1804安装SonarQube
  • commons-lang3
  • 分布式专题——4 大厂生产级Redis高并发分布式锁实战
  • Infortrend普安科技IEC私有云平台VM解决方案
  • 实战对比:百炼知识库与钉钉知识库的全方位对比
  • GitLab升级后仓库镜像信任证书导入问题
  • 2. 计算机系统基础知识
  • 软考中级习题与解答——第三章_操作系统(2)
  • 第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛--算法题科普
  • 【CentOS7】使用yum安装出错,报HTTPS Error 404 - Not Found
  • 今天继续学习shell脚本
  • 解决哈希冲突
  • C++算法专题学习:栈相关的算法
  • CentOS部署ELK Stack完整指南
  • 多模态大模型Keye-VL-1.5发布!视频理解能力更强!
  • JAK/STAT信号通路全解析:核心分子、激活与负调控
  • 人工智能知识图谱应用平台国家标准发布实施
  • Chiplet封装革命:路登多芯片同步固晶治具支持异构集成
  • 语法分析:编译器中的“语法警察”
  • python数据分析工具特点分析