《实时嵌入式系统设计》课程复习课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《实时嵌入式系统设计》课程复习课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实时嵌入式系统设计 实时 嵌入式 系统 设计 课程 复习 课件
- 资源描述:
-
1、1嵌入式系统概论嵌入式系统概论复习课复习课2考试时间考试时间时间:时间:2011年年1月月5日晚日晚18:0020:00 地点:地点:主南主南405考试形式:考试形式:半开卷半开卷3考试要求考试要求1.1.掌握嵌入式系统的软硬件基本概念,包括掌握嵌入式系统的软硬件基本概念,包括CISCCISC、RISCRISC、进、进程、线程、操作系统通信与同步等,及一些术语的表示方程、线程、操作系统通信与同步等,及一些术语的表示方法;法;2.2.掌握掌握ARMARM体系结构:包括寄存器组织、工作模式、异常处体系结构:包括寄存器组织、工作模式、异常处理等;理等;3.3.掌握掌握ARMARM汇编指令,能够进行简
2、单的汇编程序设计;汇编指令,能够进行简单的汇编程序设计;4.4.了解了解uCuC/OS/OS的基本结构的基本结构4嵌入式系统的软硬件基本概念嵌入式系统的软硬件基本概念5嵌入式系统的软/硬件框架嵌入式嵌入式微处理器微处理器SDRAMSDRAMROMROMI/OI/OA/DA/DD/AD/A人机交互接口人机交互接口通用接口通用接口实时操作系统(实时操作系统(RTOS)RTOS)图形用户图形用户接口接口BSP/HAL 硬件抽象层/板极支持包BSP/HAL 硬件抽象层/板极支持包任务管理任务管理文件系统文件系统应用程序应用程序嵌入式计算机系统嵌入式计算机系统硬件层硬件层软件层软件层中间层中间层功能层功
3、能层6CISC和和RISCCISCCISC:复杂指令集(:复杂指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。RISCRISC:精简指令集(:精简指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)在通道中只包含最
4、有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变得更为简单 7CISC与与RISC的数据通道的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道8CISC与与RISC的对比的对比类别类别CISCCISCRISCRISC指令系统指令系统指令数量很多指令数量很多较少,通常少于较少,通常少于100100执行时间执行时间有些指令执行时间很长,如有些指令执行时间很长,如整块的存储器内容拷贝;或整块的存储器内容拷贝;或将多个寄存器的内容拷贝到将多个寄存器的内
5、容拷贝到存贮器存贮器没有较长执行时间的指令没有较长执行时间的指令编码长度编码长度编码长度可变,编码长度可变,1-151-15字节字节编码长度固定,通常为编码长度固定,通常为4 4个字节个字节寻址方式寻址方式寻址方式多样寻址方式多样简单寻址简单寻址操作操作可以对存储器和寄存器进行可以对存储器和寄存器进行算术和逻辑操作算术和逻辑操作只能对寄存器对行算术和逻辑只能对寄存器对行算术和逻辑操作,操作,Load/StoreLoad/Store体系结构体系结构编译编译难以用优化编译器生成高效难以用优化编译器生成高效的目标代码程序的目标代码程序 采用优化编译技术,生成高效采用优化编译技术,生成高效的目标代码程
6、序的目标代码程序 9非占先式与占先式非占先式与占先式非占先式(非占先式(non-preemptive)非占先式调度法也称作合作型多任务(非占先式调度法也称作合作型多任务(cooperative multitasking),),各个任务彼此合作共享一个各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到改任务主动放弃,直到改任务主动放弃CPU的使用权时,那个高优先级的任务才的使用权时,那个高优先级的任
7、务才能获得能获得CPU的使用权。的使用权。非占先式内核的非占先式内核的一个特点一个特点是几乎不需要使用信号量保护共是几乎不需要使用信号量保护共享数据。运行着的任务占有享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。,而不必担心被别的任务抢占。非占先式内核的非占先式内核的最大缺陷最大缺陷在于其响应高优先级的任务慢,在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当任务已经进入就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放前运行着的任务释放CPU。内核的任务级响应时间是不确定的,。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的
8、任务才能拿到不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全的控制权,完全取决于应用程序什么时候释放取决于应用程序什么时候释放CPU。10非占先式非占先式(Non-Preemptive)低优先级任务低优先级任务ISR高优先级任务高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪低优先级任务释放低优先级任务释放CPU使用权使用权TIME11占先式(占先式(preemptive)当系统响应时间很重要时,要使用占先式(当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,总内核。最高优先级
9、的任务一旦就绪,总能得到能得到CPU的控制权。的控制权。当一个运行着的任务使一个比它优先级高的任务当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的进入了就绪态,当前任务的CPU使用权就被剥夺了,使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。的控制权。使用占先式内核时,应用程序不应直接使用不可使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的重入型函数。如果调入可重入型函数时,低优先级的任务任务CPU的使用权被高优先级任务剥夺,的使用权被高优先级任务剥夺,不可重入型
10、不可重入型函数中的数据有可能被破坏。函数中的数据有可能被破坏。12占先式占先式(Preemptive)低优先级任务低优先级任务ISR高优先级任务高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪高优先级任务得到高优先级任务得到CPU使用权使用权TIME13进程、线程和任务进程、线程和任务在多道程序系统中,各个程序之间是并发执在多道程序系统中,各个程序之间是并发执行的,共享系统资源。行的,共享系统资源。CPU需要在各个运行需要在各个运行的程序之间来回地切换,这样的话,要想描的程序之间来回地切换,这样的话,要想描述这些多道的并发活动过程就变
11、得很困难。述这些多道的并发活动过程就变得很困难。为此,操作系统设计者提出了为此,操作系统设计者提出了进程进程的概念。的概念。14什么是进程?什么是进程?A process a program in execution 一个进程应该包括:一个进程应该包括:程序的代码;程序的代码;程序的数据;程序的数据;PC中的值,用来指示下一条将运行的指令;中的值,用来指示下一条将运行的指令;一组通用的寄存器的当前值,堆、栈;一组通用的寄存器的当前值,堆、栈;一组系统资源(如打开的文件)一组系统资源(如打开的文件)总之,进程包含了正在运行的一个程序的所有总之,进程包含了正在运行的一个程序的所有状态信息。状态信息
12、。15main().A().PROCESS A program is C statements or commands静态的;静态的;A process is program+running context动态的动态的.main().A().PROGRAMheap StackA MainRegisters,PCProcess Program 16进程的特性进程的特性动态性:动态性:程序的运行状态在变,程序的运行状态在变,PC、寄存器、寄存器、堆和栈等;堆和栈等;独立性:独立性:是一个独立的实体,是计算机系统资是一个独立的实体,是计算机系统资 源的使用单位。每个进程都有源的使用单位。每个进程都有
13、“自己自己”的的PC和内部状态,运行时独立于其他和内部状态,运行时独立于其他 的进程(逻辑的进程(逻辑PC和物理和物理PC););并发性:并发性:从宏观上看各进程是同时独立运行的从宏观上看各进程是同时独立运行的17怎么办?怎么办?需要提出一种新的实体,满足以下特性:需要提出一种新的实体,满足以下特性:(1)实体之间可以并发地执行;)实体之间可以并发地执行;(2)实体之间共享相同的地址空间;)实体之间共享相同的地址空间;这种实体就是:这种实体就是:线程线程(Thread)18什么是线程?什么是线程?Thread:A sequential execution stream within a pro
14、cess;A thread of execution;进程当中的一条执行流程。进程当中的一条执行流程。19从两个方面来理解进程:从两个方面来理解进程:从资源组合的角度:进程把一组相关的从资源组合的角度:进程把一组相关的 资源组合起来,构成了一个资源平台资源组合起来,构成了一个资源平台 (环境),包括地址空间(代码段、数据(环境),包括地址空间(代码段、数据 段)、打开的文件等各种资源;段)、打开的文件等各种资源;从运行的角度:代码在这个资源平台上的从运行的角度:代码在这个资源平台上的 一条执行流程(线程)。一条执行流程(线程)。资源平台资源平台 线程线程 20进程进程 线程线程 资源平台资源平
15、台优点:优点:一个进程中可以同时存在多个线程;一个进程中可以同时存在多个线程;各个线程之间可以并发地执行;各个线程之间可以并发地执行;各个线程之间可以共享地址空间。各个线程之间可以共享地址空间。21线程所需的资源线程所需的资源(本图摘自(本图摘自Silberschatz,Galvin and Gagne:“Operating System Concepts”)22任务task典型的任务一个无限循环。典型的任务一个无限循环。void void mytask(voidmytask(void *pdatapdata)for(;)for(;)do something;do something;wait
16、ing;waiting;do something;do something;l C/OSC/OS II 2.5 II 2.5版本支持版本支持6464个任务,每个任务一个特定的优先级。优先级越高个任务,每个任务一个特定的优先级。优先级越高,数字越小。,数字越小。l系统占用了系统占用了8 8个任务,保留优先级为个任务,保留优先级为0 0、1 1、2 2、3 3、OS_LOWEST_PRIO-3OS_LOWEST_PRIO-3、OS_LOWEST_PRIO-2OS_LOWEST_PRIO-2、OS_LOWEST_PRIO-1OS_LOWEST_PRIO-1、OS_LOWEST_PRIO-0OS_LO
展开阅读全文