- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式微处理第三章 编程模型 ARM7 TDMI的指令流水线 ARM单周期指令3段流水线操作* 处理器的工作状态 ARM7TDMI 处理器有两种工作状态: ARM - 32-bit, 按字排列的ARM指令集 Thumb -16-bit, 按半字排列的Thumb指令集 ARM7TDMI 核的操作状态可能通过BX指令(分支和交换指令)在ARM状态和Thumb状态之间切换 存储器模式* 大端模式 最高位字节保存在最低位地址 字由最低位字节的字节地址寻址 小端模式 最低位字节保存在最低位地址 字由最低位字节的字节地址寻址 操作模式 ARM7TDMI 处理器有7种操作模式: 用户模式(usr) - 正常的程序执行模式 快速中断模式(fiq) - 支持高速数据传输或通道处理 中断模式(irq) - 用于通用中断处理 管理员模式(svc) - 操作系统的保护模式. 中止模式(abt) - 支持虚拟内存和/或内存保护 系统模式(sys) - 支持操作系统的特殊用户模式(运行操作系统任务) 未定义模式(und) - 支持硬件协处理器的软件仿真 除了用户模式外,其他模式均可视为特权模式 寄存器 - 1 37 寄存器 31 个通用32位寄存器,包括程序计数器PC 6 个状态寄存器 15 通用寄存器 (R0 to R14), 以及1或者2个状态寄存器和程序计数器在任何时候都中可见的 可见的寄存器取决于处理器的模式 其它寄存器 (the banked registers) 的状态在支持IRQ, FIQ, 管理员, 中止和未定义模式处理时被切换 寄存器 - 2 R0 到 R15 可以直接访问 R0 到 R14 是通用寄存器 R13: 堆栈指针 (sp) (通常) 每种处理器模式都有单独的堆栈 R14: 链接寄存器 (lr) R15 包含程序计数器 (PC) CPSR – 当前程序状态寄存器,包括代码标志状态和当前模式位 5个SPSRs--(程序状态保存寄存器) 当异常发生时保存CPSR状态 寄存器组织 – 3* 程序状态寄存器 - 1 ARM7TDMI 包含当前程序状态寄存器 (CPSR), 加上5个程序状态保存寄存器SPSR,当异常发生时,用于保存CPSR的状态 这些寄存器的功能是: 包括关于最近执行的ALU操作的信息 控制中断的使用和禁止 设置处理器操作模式 程序状态寄存器 - 2 N, Z, C and V 条件码标志 可以在处理器中作为数学和逻辑操作改变 可以被所有的指令测试,以决定指令是否被执行 N : Negative. Z : Zero. C : Carry. V : oVerflow I and F 位是中断禁止位 M0, M1, M2, M3 and M4 位是模式位 程序状态寄存器PSR的模式位 异常 - 1 异常——内部或外部中断源产生并引起处理器处理一个事件,如外部中断或试图执行未定义指令都会引起异常。 处理异常之前必须保留处理器的状态 异常 - 1 异常类型 FIQ IRQ(Interrupt ReQuest) 未定义指令 预取中止 数据中止 复位 软件中断Software interrupt 通过软件中断产生 进行管理员模式中获得 通常要求特殊的管理功能,如操作系统支持 异常 - 2 异常类型 未定义的指令陷井 当ARM接受到一条不能处理的指令,ARM把这条指令提供给任何一个协处理器执行 如果协处理器可以执行这条指令但此时协处理器忙,ARM将等待直到协处理器准备好或中断发生 如果没有协处理器处理这条指令,那么ARM将处理未定义的指令陷井 异常 - 2 异常优先级 (1) Reset (highest priority) (2) Data abort (3) FIQ (4) IRQ (5) Prefetch abort (6) 未定义指令, Software interrupt (最低优先级) 异常 - 3 只有产生异常就会导致正常和程序流程被临时停止,例如外围中断服务程序 在异常被处理前,当前的处理器状态必须被保存,以便处理程序完成后,最后的程序可以被恢复. 异常向量 进入异常的操作 在相应的链接寄存器LR (r14)中保存下一条指令的地址 将CPSR复制到相应的SPSR中 强制使CPSR模式位置成对应异常类型的值 强制使程序计数器指向相应异常向量,取下一条指令 例子: 用户模式到 FIQ模式* 退出异常的操作 将LR寄存器中的值减去相应的偏移量送到PC中(The offset will vary depending on the type of exception) 将 SPSR 复制回 CPSR 清除禁止中断标志,如果它被设置成使能 进入/退出异常概述 *
您可能关注的文档
最近下载
- 髋臼骨缺损分型.pptx VIP
- 《全新版大学进阶英语综合教程》课程标准.pdf VIP
- 术后有效排痰护理PPT.pptx VIP
- 髋臼及股骨骨缺损的分型及评价【45页】.pptx VIP
- (人教A版)必修一数学高一上册第二章 一元二次函数、方程和不等式 章末总结+单元检测(原卷版).docx VIP
- 伟迪捷Videojet 1210 1510 操作员手册 2011年修订版.pdf
- 理论力学哈工大第六版-课件.ppt
- 2023年高考全国卷(甲卷)数学(理)真题(含解析).pdf VIP
- 虚体医学丛书:医说解集——昆明新空间1025实验室.pdf VIP
- 护理事业近五年发展规划(2026-2030).pdf VIP
文档评论(0)