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

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

ID:38933250

大小:562.51 KB

页数:42页

时间:2019-06-21

《实时嵌入式系统设计》课程复习_第1页
《实时嵌入式系统设计》课程复习_第2页
《实时嵌入式系统设计》课程复习_第3页
《实时嵌入式系统设计》课程复习_第4页
《实时嵌入式系统设计》课程复习_第5页
资源描述:

《《实时嵌入式系统设计》课程复习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式系统概论复习课北京航空航天大学机器人研究所魏洪兴考试时间时间:2011年1月5日晚18:00-20:00地点:主南405考试形式:半开卷考试要求掌握嵌入式系统的软硬件基本概念,包括CISC、RISC、进程、线程、操作系统通信与同步等,及一些术语的表示方法;掌握ARM体系结构:包括寄存器组织、工作模式、异常处理等;掌握ARM汇编指令,能够进行简单的汇编程序设计;了解uC/OS的基本结构嵌入式系统的软硬件基本概念嵌入式系统的软/硬件框架CISC和RISCCISC:复杂指令集(ComplexIns

2、tructionSetComputer)具有大量的指令和寻址方式8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。RISC:精简指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单CISC与RISC的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道CISC与RISC的对比类别CISCRISC指令系统指令数量很多较少,

3、通常少于100执行时间有些指令执行时间很长,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器没有较长执行时间的指令编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样简单寻址操作可以对存储器和寄存器进行算术和逻辑操作只能对寄存器对行算术和逻辑操作,Load/Store体系结构编译难以用优化编译器生成高效的目标代码程序采用优化编译技术,生成高效的目标代码程序非占先式与占先式非占先式(non-preemptive)非占先式调度法也称作合作型多任务(cooperat

4、ivemultitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到改任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放CPU。内核的任务

5、级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU。非占先式(Non-Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使高优先级任务就绪低优先级任务释放CPU使用权TIME占先式(preemptive)当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务

6、的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。占先式(Preemptive)低优先级任务ISR高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使高优先级任务就绪高优先级任务得到CPU使用权TIME进程、线程和任务在多道程序系统中,各个程序之间是并发执行的,共享系统资源。CPU需要在各个运

7、行的程序之间来回地切换,这样的话,要想描述这些多道的并发活动过程就变得很困难。为此,操作系统设计者提出了进程的概念。什么是进程?Aprocess=aprograminexecution一个进程应该包括:程序的代码;程序的数据;PC中的值,用来指示下一条将运行的指令;一组通用的寄存器的当前值,堆、栈;一组系统资源(如打开的文件)总之,进程包含了正在运行的一个程序的所有 状态信息。main() {…..}A() {…..}PROCESSAprogramisCstatementsorcommands静态

8、的;Aprocessisprogram+runningcontext动态的.main() {…..}A() {…..}PROGRAMheapStackAMainRegisters,PCProcess≠Program进程的特性动态性:程序的运行状态在变,PC、寄存器、 堆和栈等;独立性:是一个独立的实体,是计算机系统资 源的使用单位。每个进程都有“自己” 的PC和内部状态,运行时独立于其他 的进程(逻辑PC和物理PC);并发性:从宏观上看各进程是同时独立运行的怎么办?需要提出一种新的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。