嵌入式系统学习笔记【华电】——《第三章 ARM体系结构》

第三章 ARM体系结构

1、嵌入式微处理器概述

嵌入式微处理器的组成:
(1)控制单元
(2)算术逻辑运算单元
(3)寄存器

2、ARM体系结构概览

ARM处理器的特点:
(1)体积小、功耗低
(2)16/32位双指令集
(3)合作伙伴多

3、ARM编程模型

指令流水线:ARM7采用3级,PC指向正在被取指的指令。

ARM的工作状态(2种):
(1)ARM状态:32位
(2)Thumb状态:16位
ARM采用32位架构,使用BX指令切换状态。

ARM的工作模式(7种):
(1)用户(usr):正常的模式。
(2)系统(sys):可执行操作系统特权指令。
(3)快中断(fiq):高速数据传输和通道。
(4)中断(irq):通用中断处理。
(5)管理(svc):操作系统保护模式。
(6)中止(abt):支持虚拟内存。
(7)未定义(und):支持硬件协处理器的软件支持。

除了用户模式,其他均为特权模式。特权模式可以随意切换到其他模式,而用户模式则不行。
用户和系统模式都不能由异常进入,使用相同的寄存器。

ARM的寄存器:

  • 37个寄存器( R 0 ∼ R 15 R_0\sim R_{15} R0R15
    • R 0 ∼ R 13 R_0\sim R_{13} R0R13完全通用, R 0 ∼ R 17 R_0\sim R_{17} R0R17未分组, R 8 ∼ R 14 R_8\sim R_{14} R8R14分组
    • R 13 → S P R_{13}\rightarrow SP R13SP
    • R 14 → L R R_{14}\rightarrow LR R14LR,链接寄存器
      • 子程序返回地址保存在自身的 R 14 R_{14} R14
      • 异常返回地址保存在对应的 R 14 R_{14} R14异常版本中,因此,发生异常嵌套时, R 14 R_{14} R14可能被破坏。
    • R 15 → P C R_{15}\rightarrow PC R15PC
  • 6个状态寄存器( C P S R 和 S P S R CPSR和SPSR CPSRSPSR
    • C P S R CPSR CPSR,程序状态寄存器(32bit)
      • 保存ALU信息(N、Z、C、V)
      • 控制允许和禁止中断(I、F)
      • 设置操作模式(Mode),工作状态(T)
    • S P S R SPSR SPSR,程序状态保存寄存器

嵌入式系统学习笔记【华电】——《第三章 ARM体系结构》_第1张图片

4、ARM 异常处理

异常:打断处理器正常执行,迫使其执行特权指令的事件。
异常的分类:
(1)同步异常 → \rightarrow 内部事件,一般是指令,如陷阱、故障、中止。
(2)异步异常 → \rightarrow 外部事件,一般是硬件信号,如中断。

ARM异常,首先要保存处理器的状态
ARM异常类型:
(1)FIQ
(2)IRQ
(3)未定义指令
(4)软件中断(SWI)
(5)…

ARM异常处理过程:

  • 进入异常
    • C P S R → S P S R _ < m o d e > CPSR\rightarrow SPSR\_ CPSRSPSR_<mode>
    • 更新 C P S R CPSR CPSR
      • C P S R CPSR CPSR的T位清0进入ARM态
      • C P S R CPSR CPSR的Mode位设置为相应的模式
      • C P S R CPSR CPSR的I、F位置1,禁止中断
    • 异常返回地址 → L R _ < m o d e > \rightarrow LR\_ LR_<mode>
    • 异常向量(入口地址) → P C \rightarrow PC PC
  • 退出异常
    • S P S R _ < m o d e > → C P S R SPSR\_\rightarrow CPSR SPSR_<mode>CPSR
    • L R _ < m o d e > → P C LR\_\rightarrow PC LR_<mode>PC

ARM中断:
(1)硬件中断:IRQ、FIQ等,优先级FIQ > \gt >IRQ
(2)软件中断:SWI

中止:当前存储器的访问不能完成。
(1)预取中止
(2)数据中止

你可能感兴趣的:(嵌入式系统学习笔记,嵌入式,操作系统,arm)