嵌入式(2)ARM7体系结构

cisc&risc

cisc(复杂指令集):

  • 具有大量指令,寻址方式
  • 8/2原则,80%程序用20%指令
  • 大多数程序少量代码运行

risc(精简指令集):

  • 通道只有最有用的指令
  • 可快速执行
  • CPU结构简单

risc特点与ARM增加

  • 简化指令集
  • 设计大量通用寄存器,减少访存次数
  • 支持流水线
  • 简单指令格式,规整字长与寻址方式
  • 单机器周期

ARM7增加:

  • ALU与移位处理
  • 地址自增自减
  • 批量传输
  • 条件执行
    ARM7三级流水:取指,解码,执行
    在这里插入图片描述
    在这里插入图片描述
    pc会指向即将进行取指的指令
    在这里插入图片描述
    冯诺依曼结构/哈佛结构
  • 五大结构
  • 二进制运算
  • 存储单元与控制单元
  • 哈佛和冯诺依曼区别就在于哈佛存储将指令与数据分开放了

ARM总线:总线标准AMBA

AHB:高性能高时钟
ASB:高性能,读写双工模式
APB:连接低功耗外设

前两个称为系统总线,后面的称为片内外设总线

外设追踪技术

宏单元:实现在线调试,运行过程跟踪功能
可跟踪端口,跟踪触发器

ARM7指令系统

分为ARM(32位,字处理,默认)与thumb(16位,半字处理)两种指令集
在这里插入图片描述
ARM包含thumb, 地址置1表示thumb状态,bx切换指令
在这里插入图片描述
地址置0表示ARM状态,bx切换状态

ARM7模式

  • 用户模式
  • 快中断模式
  • 中断模式
  • 管理模式
  • 中止模式
  • 未定义模式
  • 系统模式
    在这里插入图片描述特权模式:
    除用户模式外都成为特权模式,用户模式不能直接转换到其他模式
    其他模式可以直接切换到用户模式
    异常模式
    除用户,系统模式外的五种称为异常模式,可进退出异常
    用户,系统模式不能直接进入异常,要修改cpsr(后面说)

ARM寄存器

  • ARM有37个存储器,31个通用寄存器。6个状态寄存器
  • 7种模式,用户系统占用一组,其他一个模式一组
  • SPSR,系统,用户模式不可见 在这里插入图片描述
    R0-R7为未分组通用寄存器,任何模式都能用
    R8-R12分为用于快中断和不用于快中断的,快中断可以不保存状态,加快FIQ(快中断)处理速度
    R13-R14,用户,系统模式占用一个,其余模式各占用一个
    R13称为SP,堆栈段指针寄存器,用于保存待使用的寄存器内容
    R14称为链接寄存器LR,一般将返回地址放置在LR中
    R15称为PC程序计数存储器,指向正在取指的指令
    CPSR当前程序状态寄存器,SPSR程序状态保存寄存器。每一个异常都有自己的SPSR,进入异常CPSR保存在SPSR,退出回复CPSR

thumb下可以访问的寄存器
R0-R8
PC,SP,LR,CPSR
发生异常时,处理器会自动进入ARM状态

在这里插入图片描述
R8-R12称为高端寄存器,Thumb中只有MOV,CMP,ADD可以访问
在这里插入图片描述
二者切换图

ARM异常处理

正常程序流被暂时中止,处理机就会进入异常模式
多异常下,会按优先级顺序处理

  1. 复位
  2. 数据中断
  3. LFQ(快中断)
  4. IRQ(中断)
  5. 欲取指中止
  6. 未定义指令中止
  7. 软件中断异常

异常进入

  1. PC+偏移->LR
  2. CPSR->SPSR
  3. CPSR设置为对应异常模式
  4. PC设置为异常进入入口

异常退出

  1. LR-偏移量->PC
  2. SPSR->PCSR
  3. 清零中断禁止标志

ARM存储方式

单个平面2^32 ,8位字节地址
地址空间包含2^30,32位字节地址或
2^31,16位半字节地址
在这里插入图片描述
两种映射机制

  • 小端存储器系统
  • 大端存储器系统。

在这里插入图片描述
小端高字节在高地址,大端低字节在高地址
非对齐访问
字对齐地址写thumb,非字写入ARM的R15
或者这样的形式读除其他存储器的值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值