计算机三级之嵌入式系统学习笔记1

  • 嵌入式系统的体系结构按指令集可以分为两大类:复杂指令集结构(CISC)和精简指令集结构(RISC)
  • 嵌入式体系结构按存储机制分为冯诺依曼结构和哈佛结构
  • 冯诺依曼结构中程序和指令并存,共用一条总线;而哈佛结构中数据和指令使用两条独立的总线,不允许数据和指令共存
  • ARM全部采用RISC结构,且多为哈佛结构
  • ARM处理器分为五类:

    • 经典ARM处理器(ARM7、ARM9、ARM11)
    • ARM Cortex嵌入式处理器(Cortex—A)
    • ARM Cortex实时嵌入式处理器(Cortex—R)
    • ARM Cortex应用处理器(Cortex—M)
  • ARM共有三种工作状态:ARM状态、Thumb状态及Thumb-2状态、调试状态

    • ARM状态的指令全都是32位的
    • Thumb状态就是运行Thumb-2指令的状态,它是执行16指令的状态,但是他同时也兼容32位指令,因为在有些情况下如异常处理时必须由Thumb状态切换到ARM状态,然后处理完毕后重新返回到Thumb状态
    • 处理器停机调试时进入调试状态
    • 所有ARM复位之后均处于ARM状态
    • 通过BX指令,将操作数寄存器的最低位设置为1即可将ARM状态切换到Thumb状态;将操作数寄存器的最低位设置为0即可将Thumb状态切换到ARM状态;当处理器进行异常处理时,则从异常向量地址开始执行,将自动进入ARM状态
  • ARM体系结构(除Cortex外)支持7中工作模式,取决于当前程序状态寄存器低5位的值
    • 用户模式(User):程序正常执行工作模式
    • 快速中断模式(FIQ):处理高速中断,用于高速数据传输或通道处理
    • 外部中断模式(IRQ):用于普通中断管理
    • 管理模式(SVC):操作系统的保护模式,处理软件中断SWI
    • 中止模式(ABT):处理存储器故障,实现虚拟存储器和存储器保护
    • 未定义指令模式(UND):处理未定义的指令陷阱,用于支持硬件协处理器仿真
    • 系统模式(SYS):运行特权级的操作系统任务
  • ARM状态下的寄存器组织
    • R7~R0为通用的寄存器
    • CPSR为当前程序状态寄存器(包括运算标志位、条件码标志等)
    • SPSR为备份的程序状态寄存器
    • R0~R15均为32位的寄存器
    • R13为堆栈指针寄存器,R14为程序链接寄存器,R15均为PC(程序计数器)
  • Thumb状态下的寄存器组织
    • 高位寄存器R8~R12在Thumb状态下不可见,即不能直接作为通用寄存器使用,而在Thumb-2下可以使用,即R8~R12只有在32位指令下才可当做通用寄存器使用
  • ARM体系结构有两种方法存储数据字:大端模式和小端模式
    • 大端模式:32位数据字的高字节存储在低地址中,低字节存储在高地址中
    • 小端模式:32位数据字的高字节存储在高地址中,低字节存储在低地址中
    • 系统复位时一般自动默认为小端模式
  • 外部中断请求(IRQ)
  • 快速中断请求(FIQ)
  • MMU:存储器管理单元
  • MPU:存储器保护单元

猜你喜欢

转载自blog.csdn.net/qq_36554582/article/details/81267844