《实时嵌入式系统设计》课程复习20101229.pptVIP

《实时嵌入式系统设计》课程复习20101229.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM寄存器组织 – 1* 寄存器 - 2 37 寄存器 31 个通用32位寄存器,包括程序计数器PC 未分组寄器R0-R7 分组寄存器R8-R14 程序计数器PC(R15) 6 个状态寄存器 15 通用寄存器 (R0 to R14), 以及1或者2个状态寄存器和程序计数器在任何时候都是可以访问的 可访问的寄存器取决于处理器的模式 其它寄存器 (the banked registers) 的状态在支持IRQ, FIQ, 管理员, 中止和未定义模式处理时被切换 寄存器 - 3 R0 到 R15 可以直接访问 R0 到 R14 是通用寄存器 R13: 堆栈指针 (sp) (通常) 每种处理器模式都有单独的堆栈 R14: 链接寄存器 (lr) R15 包含程序计数器 (PC) CPSR – 当前程序状态寄存器,包括代码标志状态和当前模式位 5个SPSRs--(程序状态保存寄存器) 当异常发生时保存CPSR状态 * * * * 嵌入式系统概论 复习课 北京航空航天大学 机器人研究所 魏洪兴 考试时间 时间: 2011年1月5日晚18:00-20:00 地点: 主南405 考试形式: 半开卷 考试要求 掌握嵌入式系统的软硬件基本概念,包括CISC、RISC、进程、线程、操作系统通信与同步等,及一些术语的表示方法; 掌握ARM体系结构:包括寄存器组织、工作模式、异常处理等; 掌握ARM汇编指令,能够进行简单的汇编程序设计; 了解uC/OS的基本结构 嵌入式系统的软硬件基本概念 嵌入式系统的软/硬件框架 CISC和RISC CISC:复杂指令集(Complex Instruction Set Computer) 具有大量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。 RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单 CISC与RISC的数据通道 IF ID REG ALU MEM 开始 退出 IF ID ALU MEM REG 微操作通道 开始 退出 单通数据通道 CISC与RISC的对比 类别 CISC RISC 指令系统 指令数量很多 较少,通常少于100 执行时间 有些指令执行时间很长,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器 没有较长执行时间的指令 编码长度 编码长度可变,1-15字节 编码长度固定,通常为4个字节 寻址方式 寻址方式多样 简单寻址 操作 可以对存储器和寄存器进行算术和逻辑操作 只能对寄存器对行算术和逻辑操作,Load/Store体系结构 编译 难以用优化编译器生成高效的目标代码程序 采用优化编译技术,生成高效的目标代码程序 非占先式与占先式 非占先式(non-preemptive) 非占先式调度法也称作合作型多任务(cooperative multitasking),各个任务彼此合作共享一个CPU。 中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到改任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。 非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。 非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放CPU。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU。 非占先式(Non-Preemptive) 低优先级任务 ISR 高优先级任务 (1) (2) (3) (4) (5) (6) (7) 中断服务程序使 高优先级任务就绪 低优先级任务释放 CPU使用权 TIME 占先式(preemptive) 当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。 当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。 使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。 占先式(Preemptive) 低优先级任务 ISR 高优先级任务 (1) (2) (3) (4) (5) (6) 中断服务程序使 高优先级任务就绪 高优先级

文档评论(0)

微微 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档