Cortex - A7架构的基本资料

  • A7支持一到四核,是小核,通常与大核如Cortex - A15 配合,大核负责高性能运算,小核负责普通应用。A7性能堪比A9,但是lower power
  • A7有九种运行模式,我们常用的是
    user用户模式,非特权模式
    irq一般中断模式
    svc超级管理员模式,由os使用
    除了用户模式其他都是特权模式

    stm32有两种运行模式,特权和非特权
  • cortex - A 的内核寄存器组
    共有18个内核寄存器
    a . 16个通用寄存器:R0 - R15:前十五个用来存放数据,R15用作PC
    b . 2个特殊寄存器
    CPSR:程序当前状态寄存器,存放一些标志位、控制位,除了user和sys模式,别的模式都有独立的物理寄存器来做CPSR,防止冲突
    SPSR:备份程序状态寄存器,就是CPSR的备份
    Cortex - A7架构的基本资料_第1张图片

c . 模式特有寄存器(专门用于某个或者某些模式)
一般来说,不同的模式会有一些本模式特有的寄存器组

R0 - R15 是通用寄存器,分成三类:
A . 未备份寄存器:R0 - R7 ,实际上各对应一个物理寄存器,各模式公用
B . 备份寄存器:R8 - R14 , 一个对应多个物理寄存器,用于不同模式使用。如快速中断模式中R8 - R12是独立的,此时中断处理程序不用执行保存和恢复中断现场的指令,从而加速终端的处理过程。
R14(LR)一般用来存放当前子程序的返回地址,BL,BX跳转后是要返回的。

MOV PC , LR@LR的值赋值给PC,跳转返回
又或者
PUSH PR
POP PC

C . 程序计数器 : R15
arm处理器是三级流水线:
取指令 —> 指令译码 —> 执行指令
对于32位的arm处理器,每条指令字长4个字节
PC / R15保存当前正在执行的指令地址值+8个字节

你可能感兴趣的:(Cortex - A7架构的基本资料)