【划重点】嵌入式系统原理与应用B ---期末复习(第2章 ARM7体系结构)

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【划重点】嵌入式系统原理与应用B ---期末复习(第2章 ARM7体系结构)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

第二章 ARM7体系结构

● RISC:精简指令集计算机 — 指令长度固定 ● CISC:复杂指令集计算机 ● ARM7分为三级流水,具有以下特点: ○ RISC处理器结构 ○ 能够提供0.9MIPS/MHZ的三级流水线结构 ○ 支持32位的ARM指令集和16位的Thumb指令集 ○ ARM7所有的指令都可以条件执行,使得程序设计更适合流水线的工作特点 ○ 专用的存储器访存指令 ● ARM7TDMI的流水线分为三级 分别为: ○ 取指:从存储器取指令到处理器 ○ 译码:对已取入到处理器的指令进行译码分析 ○ 执行:完成该指令的对应操作 ● ARM7TDMI处理器内核包含两套指令系统 ○ ARM状态:32位指令码,处理器执行字方式的ARM指令,处理器默认为此状态 ○ Thumb状态:16位指令码,处理器执行半字方式的Thumb指令 ● ARM体系结构支持7种处理器模式 ○ 除了用户模式外,其余模式均为特权模式 ○ 用户模式(usr) ■ 正常程序工作模式 ■ 不能软件切换到其它模式 ○ 系统模式(sys) ■ 用于支持操作系统的特权任务等 ■ 与用户模式类似,但具有可以软件切换到其它模式的特权 ○ 以下五种模式称为异常模式,除了可以通过程序切换进入,也可以异常进入 ○ 快中断模式(fiq) ■ 支持高速数据传输及通道处理 ■ FIQ异常响应时进入此模式 ○ 中断模式(irq) ■ 用于通用中断处理 ■ IRQ异常相应时进入此模式 ○ 管理模式(svc) ■ 操作系统保护代码 ■ 复位或执行SWI软中断指令事件 ○ 中止模式(abt) ■ 用于支持虚拟内存和存储器保护 ■ 在ARM7TDMI中没有大用处 ○ 未定义模式(und) ■ 支持硬件协处理器的软件仿真 ■ 未定义指令异常相应时进入此模式 ● ARM的寄存器 ○ CPU寄存器 ■ 处理器内部主要用于暂存运算数据、运算中间结果的存储单元,这样用途的寄存器称为通用数据寄存器 ■ 汇编语言中的寄存器R0-R12 — 保存数据或地址的通用寄存器 ● R0 - R7 未分组寄存器 ● R8 - R14 分组寄存器 他们所对应的物理寄存器取决于当前的处理器魔师 ○ R8 - R12 — 两个分组的物理寄存器 一组用于非FIQ 一组用于FIQ ○ R13、R14 — 6个分组的寄存器 一个用于用户和系统模式 其余五个分别用于五种异常模式 ■ R13 — 堆栈指针(SP) ■ R14 — 链接寄存器(LR) ● ARM处理器特别功能寄存器 ○ SP — 堆栈指针寄存器(R13) ■ SP用于指向进出栈的操作点 ○ PC — 程序计数器 (R15) ■ PC指向正在取指的指令 ■ ARM指令长度固定为32bit ■ Thumb指令长度固定为16bit ○ LR — 返回连接寄存器(R14) ■ 调用返回点、断点需要保护,以便返回 ○ PSR — 程序状态寄存器 ■ 用户不能对 CPSR or SPSR 进行写操作 ■ PSR中的值被称作“程序状态字” — PSW ■ ARM7中有1个CPSR和5个SPSR ■ CPSR — 当前程序状态寄存器 ● CPSR寄存器的格式 ○ bit[31:28] 条件代码标志 ■ N : 负 或 小于 ■ Z : 零 ■ C : 进位 或 借位扩展 ■ V : 溢出标志 ○ bit[7:0] 控制位 ■ I : IRQ禁止 ■ F :FIQ禁止 ■ I位或F位被置位时,相应中断被禁止 ■ T : 状态位 — 选择 ARM(1) or Thumb(0) ■ M[4:0] :模式位 — 七种模式的选择 ○ bit[27:8] 保留 ■ 读 — 无意义 ■ 写 — 千万别 ■ SPSR — 存储程序状态寄存器 ● 堆栈(Stack) ○ 堆栈是一种具有“后进先出”(LIFO)特殊访问属性的存储结构 ○ 堆栈的分类 ■ 递增堆栈 : SP向大地址方向变化 ■ 递减堆栈 : SP向小地址方向变化 ■ 满堆栈 : SP指向空间有有效堆栈数据 ■ 空堆栈 : SP指向空间无有效堆栈数据 ○ 堆栈类型 ■ 空递增堆栈 — EA ■ 空递减堆栈 — ED ■ 满递增堆栈 — FA ■ 满递减堆栈 — FD ● ARM7的异常 ○ ARM中定义了7种异常(事件),分别对应ARM7处理器的5种异常模式 ■ 复位 ■ 未定义指令 ■ SWI(软中断) ■ 预取指中止 ■ 预取数中止 ■ irq(中断) ■ fiq(快中断) ■ Tips:usr、sys模式是通过指令修改M[4:0]进入 ● ARM7对异常的相应 ○ 异常响应 :当异常发生时,处理器会对异常事件作出相应的相应(处理) ■ Step1 处理器转入ARM状态对应的异常模式 ■ Step2 在该异常模式的SPSR、LR寄存器分别备份CPSR、PC当前的数据 ■ Step3 重置CPSR和PC ○ 异常优先级 : 当多个异常同时发生时,硬件电路设定的优先级决定系统处理异常的顺序 ■ 1 复位 ■ 2 数据中止 ■ 3 FIQ ■ 4 IRQ ■ 5 预取指中止 ■ 6 未定义指令中止 ■ 6 SWI 软件中断异常 ● 计算机中需要编址的资源 ○ 内存单元 用于存放CPU执行的程序和数据 ■ 特点:连续,成块 ■ 构成内存资源空间 ○ IO端口 用于数据的采集和控制、显示、传输等输出 ■ 特点:单元数量少,地址分散 ■ 构成外设端口空间 ■ 编址方式 ● 统一编址 存储器单元与IO端口编址在统一的一个地址(空间)平面 ○ 统一编址无需专用的管脚和指令 ● 独立编址 存储器单元与IO端口编址分别在“存储器地址空间”和“IO端口地址(空间)” ○ 独立编址需要专用的管脚和指令支持 ● ARM7处理器寻址空间 ○ 单个平面 — 8bit ○ 包含 230个字 — 32bit ○ 包含 231个半字 — 16bit ● 存储器格式 ○ 小端存储器系统(小端模式) ■ 数据的高字节存放在高地址中 ○ 大端存储器系统(大端模式) ■ 数据的高字节存放在低地址中 ● 片内存储器(Flash,SARM) ○ 片内FLASH程序存储器 ■ LPC2000 系列中除了 LPC2210、2220、2290外,其他ARM存储器都带有容量不等的Flash ■ 可以将程序直接放在Flash上运行 ■ 片内Flash编程方法 ● 使用JTAG仿真器,通过芯片的JTAG接口下载程序 ● 使用在系统编程技术(即ISP),通过UART0接口下载程序 ● 使用在应用编程技术(即IAP),在用户程序运行时对Flash进行擦除和/或编程操作,实现数据的存储和固件的现场升级。 ○ 片内静态RAM — SRAM ● 存储器映射 ○ AHB — 先进的高性能总线 ○ VPB — VLSI外设总线

脚本宝典总结

以上是脚本宝典为你收集整理的【划重点】嵌入式系统原理与应用B ---期末复习(第2章 ARM7体系结构)全部内容,希望文章能够帮你解决【划重点】嵌入式系统原理与应用B ---期末复习(第2章 ARM7体系结构)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: