ch2-Cortex-M3+体系结构课件.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch2-Cortex-M3体系结构课件

第2章 Cortex-M3 体系结构 主讲人:刘花香 felicia@ecit.cn ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 2.1 CM3微处理器核结构 ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 带符号饱和运算 特殊功能寄存器 ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 2.4总线接口 总线定义 总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道。 AMBA总线 Cortex-M3模块的内部方框图 ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 2.6 指令集 ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 带分支预测的3级流水线 三级流水线结构的指令执行顺序 三级流水线结构的指令执行顺序 三级流水线结构的指令执行顺序 三级流水线结构的指令执行顺序 ARM7不带分支预测的3级流水线推演过程 ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 系统异常(中断) ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 STM32 系统结构 STM32F103RC资源 STM32命名规则 Stm32f103 模块框图 引脚图 ARM Cortex-M3 体系结构 1. CM3微处理器核结构 2. 处理器工作模式及状态 3. 寄存器 4. 总线接口 5. 存储器的组织与映射 6. 指令集 7. 流水线 8. 异常与中断 9. STM32微控制器概述 什么是异常? 只要正常的程序被暂时中止,处理器就进入异常模式。异常包括复位、系统故障、外设中断等事件。 ARM Cortex-M3处理器的所有异常可以通过NVIC(嵌套向量中断控制器)进行控制,通过NVIC可以设置各个异常的优先等级并对异常进行处理。所有异常都在处理器模式(Handler Mode)中处理。 异常基于优先级的动作 占先 用户程序 中断1 中断2 优先级3 优先级2 中断1 中断2 压栈 压栈 出栈 出栈 异常基于优先级的动作 占先 在异常处理程序中,一个新的异常比当前的异常优先级更高,处理器打断当前的流程,响应优先级更高的异常,此时产生中断嵌套。 异常基于优先级的动作 末尾连锁 用户程序 中断1 中断2 优先级3 优先级2 中断1 中断2 如果此时中断1 已经完成,不出栈也不压栈,直接跳至中断2程序 压栈 出栈 中断1 结束 异常基于优先级的动作 末尾连锁是处理器用来加速中断响应的一种机制。在结束ISR时,如果存在一个挂起中断,其优先级高于正在返回的ISR或线程,那么就会跳过出栈操作,转而将控制权让给新的ISR。 末尾连锁 思考题 末尾连锁,为什么会不需要压栈? 末尾连锁,为什么会不需要压栈 用户程序 中断1 中断2 优先级3 优先级2 中断1 压栈1 出栈1 压栈2 出栈2 中断2 此时压栈2与出栈1的内容完全相同

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档