《嵌入式系统基本概念教学文案.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统基本概念教学文案.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1嵌入式系统基本概念2l参考资料参考资料1.王田苗王田苗主编主编.嵌入式系统设计及实例开发嵌入式系统设计及实例开发ARM与与C/OS-.北京:清华大学出版社,北京:清华大学出版社,2002.92(美)(美)JeanJ.Labrosse,邵贝贝译邵贝贝译.C/OS-源码公开源码公开的实时嵌入式操作系统的实时嵌入式操作系统.北京:中国电力出版社,北京:中国电力出版社,2001.8简介:是目前学习嵌入式操作系统最好的入门教材,书中对一个完整的简介:是目前学习嵌入式操作系统最好的入门教材,书中对一个完整的嵌入式实时内核嵌入式实时内核C/OS-进行了剖析,详细讲述了实时内核的进行了剖析,详细讲述了实时内
2、核的设计和创建方法,以及多任务实时系统的原理和编程思想。设计和创建方法,以及多任务实时系统的原理和编程思想。4.马忠梅等著马忠梅等著.ARM嵌入式微处理器体系结构。北航出版社嵌入式微处理器体系结构。北航出版社3(美)(美)WayneWolf,孙玉方等译,孙玉方等译.嵌入式计算机系统设计原嵌入式计算机系统设计原理理.北京:机械工业出版社,北京:机械工业出版社,2002.2简介:被称为简介:被称为“嵌入式计算系统设计的第一本教科书嵌入式计算系统设计的第一本教科书”,书中重点介绍,书中重点介绍了嵌入式技术和基本原理和技术,涉及到嵌入式系统的相关的指令了嵌入式技术和基本原理和技术,涉及到嵌入式系统的相
3、关的指令系统、系统、CPU、计算平台、程序设计与分析、进程和操作系统、硬件、计算平台、程序设计与分析、进程和操作系统、硬件加速器、网络、系统设计技术等方面。加速器、网络、系统设计技术等方面。31、什么是嵌入式系统、什么是嵌入式系统2、硬件基础、硬件基础3、嵌入式操作系统、嵌入式操作系统嵌入式系统的基本概念嵌入式系统的基本概念4一、嵌入式系统的定义一、嵌入式系统的定义发展历史发展历史嵌入式系统本身是一个相对模糊的定义。一个手持的嵌入式系统本身是一个相对模糊的定义。一个手持的MP3和一个和一个PC104的微型工业控制计算机都可以认为是嵌入式系统。的微型工业控制计算机都可以认为是嵌入式系统。嵌入式系
4、统已经有了近嵌入式系统已经有了近30年的发展历史,它是硬件和软件年的发展历史,它是硬件和软件交替发展的双螺旋式发展。交替发展的双螺旋式发展。第一款微处理器是第一款微处理器是Intel的的4004,它出现在,它出现在1971年,然后是年,然后是是是Intel公司的公司的8048,它出现在,它出现在1976年。年。Motorola同时推出了同时推出了68HC05,Zilog公司推出了公司推出了Z80系列,这些早期的单片机均含有系列,这些早期的单片机均含有256字节的字节的RAM、4K的的ROM、4个个8位并口、位并口、1个全双工串行口、个全双工串行口、两个两个16位定位定时时器。器。之后在之后在8
5、0年代初,年代初,Intel又进一步完善了又进一步完善了8048,在它的基础,在它的基础上研制成功了上研制成功了8051。51981年年ReadySystem发展了世界上第发展了世界上第1个商业嵌入式实时个商业嵌入式实时内核(内核(VTRX32)包含了许多传统操作系统的特征,包括任务管)包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。随后,出现了如随后,出现了如IntegratedSystemIncorporation(ISI)的的PSOS、IMG的的VxWorks、QNX公司的公司的Q
6、NX等,等,PalmOS,WinCE,嵌入式,嵌入式Linux,Lynx,uCOS、Nucleus,以及国内的,以及国内的Hopen、DeltaOS等嵌入式操作系统。等嵌入式操作系统。今天今天RTOS已经在全球形成了已经在全球形成了1个产业,根据美国个产业,根据美国EMF(电(电子市场分析)报告,子市场分析)报告,1999年全球年全球RTOS市场产值达市场产值达3.6亿美元,亿美元,而相关的整个嵌入式开发工具(包括仿真器、逻辑分析仪、软件而相关的整个嵌入式开发工具(包括仿真器、逻辑分析仪、软件编译器和调试器)则高达编译器和调试器)则高达9亿美元。亿美元。6IEEEIEEE定义定义根据根据IEE
7、E(国际电气和电子工程师协会)的定义:(国际电气和电子工程师协会)的定义:嵌入式系统是嵌入式系统是“用于控制、监视或者辅助操作机用于控制、监视或者辅助操作机器和设备的装置器和设备的装置”(原文为(原文为devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。)。可以看出此定义是从应用上考虑的,嵌入式系统可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装是软件和硬件的综合体,还可以涵盖机电等附属装置。置。7一般定义一般定义“以以应用应用为中心、以计算机技术为
8、基础、为中心、以计算机技术为基础、软件软件硬件可裁剪硬件可裁剪、功能、可靠性、成本、体积、功耗严功能、可靠性、成本、体积、功耗严格要求格要求的的专用专用计算机系统。计算机系统。”83、嵌入式系统的几个重要特征、嵌入式系统的几个重要特征(1)系统内核小)系统内核小由由于于嵌嵌入入式式系系统统一一般般是是应应用用于于小小型型电电子子装装置置的的,系系统统资资源源相相对对有有限限,所所以以内内核核较较之之传传统统的的操操作作系系统统要要小得多。小得多。比比如如ENEA公公司司的的OSE分分布布式式系系统统,内内核核只只有有5K,而而Windows的内核则要大得多。的内核则要大得多。9()专用性强()
9、专用性强嵌入式系统的个性化很强,其中的软件系统和硬件嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。的结合非常紧密,一般要针对硬件进行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,改,程序的编译下载要和系统相结合,这种修改和通用这种修改和通用软件的软件的“升级升级”是完全不同的概念。是完全不同的概念。10()系统精简
10、()系统精简嵌嵌入入式式系系统统一一般般没没有有系系统统软软件件和和应应用用软软件件的的明明显显区区分分,不不要要求求其其功功能能设设计计及及实实现现上上过过于于复复杂杂,这这样样一一方方面利于控制系统成本,同时也利于实现系统安全。面利于控制系统成本,同时也利于实现系统安全。()高实时性()高实时性OS这这是是嵌入式软件的基本要求,而且软件要求固态嵌入式软件的基本要求,而且软件要求固态存储,以提高速度。存储,以提高速度。软件代码要求高质量和高可靠性、软件代码要求高质量和高可靠性、实时性。实时性。11(5)嵌入式软件开发走向标准化)嵌入式软件开发走向标准化嵌嵌入入式式系系统统的的应应用用程程序序
11、可可以以没没有有操操作作系系统统直直接接在在芯片上运行。芯片上运行。为为了了合合理理地地调调度度多多任任务务、利利用用系系统统资资源源、系系统统函函数数以以及及和和专专家家库库函函数数接接口口,用用户户必必须须自自行行选选配配RTOS(RealTimeOperatingSystem)开开发发平平台台,这这样样才才能能保保证证程程序序执执行行的的实实时时性性、可可靠靠性性,并并减减少少开开发时间,保障软件质量。发时间,保障软件质量。12(6)嵌入式系统开发需要开发工具和环境)嵌入式系统开发需要开发工具和环境由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其由于其本身不具备自主开
12、发能力,即使设计完成以后,用户通常也是不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。执行机,开发时需要交替结合进行。13嵌入式系统与嵌入式系统与PC之间的区别之间的区别l嵌入式系
13、统一般是专用系统,而嵌入式系统一般是专用系统,而PC是通用计算平台是通用计算平台l嵌入式系统的资源比嵌入式系统的资源比PC少得多少得多l嵌入式系统软件故障带来的后果比嵌入式系统软件故障带来的后果比PC机大得多机大得多l嵌入式系统一般采用实时操作系统嵌入式系统一般采用实时操作系统l嵌入式系统大都有成本、功耗的要求嵌入式系统大都有成本、功耗的要求l嵌入式系统得到多种微处理体系的支持嵌入式系统得到多种微处理体系的支持l嵌入式系统需要专用的开发工具嵌入式系统需要专用的开发工具14典型嵌入式系统基本组成硬件典型嵌入式系统基本组成硬件MPU微处理器微处理器电源电源模块模块时钟时钟复位复位FlashRAMR
14、OMUSBLCDKeyboard外围电路外围电路Other外设外设15典型嵌入式系统基本组成软件典型嵌入式系统基本组成软件输入输入输出输出操作系统操作系统应用程序应用程序软件软件结构结构硬件硬件结构结构16l嵌入式系统一般指非嵌入式系统一般指非PC系统,它包括硬件和软件两部分。系统,它包括硬件和软件两部分。硬件包括处理器微处理器、存储器及外设器件和硬件包括处理器微处理器、存储器及外设器件和IO端口、图端口、图形控制器等。形控制器等。软件部分包括操作系统软件(软件部分包括操作系统软件(OS)(要求实时和多任务操作)和)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应
15、用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。编程与硬件的交互作用。17嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下备以下4个特点个特点1)对实时多任务有很强的支持能力,能完成多任务并且有较短的)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。到最低限度。2)
16、具有功能很强的存储区保护功能。这是由于嵌入式系统的软件)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。需要设计强大的存储区保护功能,同时也有利于软件诊断。3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。能的嵌入式微处理器。4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移
17、动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有功耗只有mW甚至甚至W级。级。18l嵌入式处理器嵌入式处理器嵌入式处理器是嵌入式系统的核心,是控制、嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。辅助系统运行的硬件单元。位、位、位单片机,位单片机,16位、位、32位、位、64位嵌入式位嵌入式CPU。l实时操作系统实时操作系统实时操作系统是嵌入式系统目前最主要的组成实时操作系统是嵌入式系统目前最主要的组成部分。实时性需要调度一切可利用的资源完成实时部分。实时性需要调度一切可利用的资源完成实时控制任务,着眼于
18、提高计算机系统的使用效率,满控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制和要求。足对时间的限制和要求。19 系统响应时间(系统响应时间(System response timeSystem response time):):系统发出处理要求,到系统给出应答信号的时间。系统发出处理要求,到系统给出应答信号的时间。任务切换时间(任务切换时间(Context-switching timeContext-switching time):):任务之间切换而使用的时间。任务之间切换而使用的时间。中断延迟(中断延迟(Interrupt latencyInterrupt latency):):计
19、计算算机机接接收收到到中中断断信信号号到到操操作作系系统统作作出出响响应应,并并完完成成切切换换转转入入中中断服务程序的时间。断服务程序的时间。20l冯冯诺依曼体系结构和哈佛体系结构诺依曼体系结构和哈佛体系结构lCISC与与RICSl影响影响CPU性能的因素性能的因素l存储器系统存储器系统lI/O接口接口二、硬件基础二、硬件基础21冯冯诺依曼体系结构模型诺依曼体系结构模型指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序指令指令0指令指令1指令指令2指令指令3指令指令4数据数据数据数据0数据数据1数据数据222指令的执行周期指令的执行周期T
20、1)取指令()取指令(InstructionFetch):TF2)指令译码()指令译码(InstructionDecode):):TD3)执行指令()执行指令(InstructionExecute):):TE4)存储()存储(Storage):):TS每条指令的执行周期:每条指令的执行周期:T=TF+TD+TE+TS23冯冯诺依曼体系的特点诺依曼体系的特点1)数据与指令都存储在存储器中)数据与指令都存储在存储器中2)被大多数计算机所采用)被大多数计算机所采用3)ARM7冯诺依曼体系冯诺依曼体系24哈佛体系结构哈佛体系结构指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器
21、中央处理器程序存储器程序存储器指令指令0指令指令1指令指令2数据存储器数据存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据25哈佛体系结构的特点哈佛体系结构的特点1)程序存储器与数据存储器分开)程序存储器与数据存储器分开2)提供了较大的数存储器带宽)提供了较大的数存储器带宽3)适合于数字信号处理)适合于数字信号处理4)大多数)大多数DSP都是哈佛结构都是哈佛结构5)ARM9是哈佛结构是哈佛结构26CISC和和RISCCISC:复杂指令集(:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/2原则:原则
22、:80%的程序只使用的程序只使用20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。RISC:精简指令集(:精简指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPU硬件结构设计变得更为简单硬件结构设计变得更为简单27CISC与与RISC的数据通道的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道28影响影响CPU性能的因素:流水线、超标量和缓存性能的因素:流水线、超标
23、量和缓存流水线技术:几个指令可以并行执行流水线技术:几个指令可以并行执行提高了提高了CPU的运行效率的运行效率内部信息流要求通畅流动内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmp29超标量执行超标量执行超标量执行:超标量超标量执行:超标量CPU采用多条流水线结构采用多条流水线结构执行1预取指令CACHE译码2译码1执行2执行1预取译码2译码1执行2流水线1流水线2数据30高速缓存(高速缓存(CACHE)1、为什么采用高速缓存、为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高微处理器的时钟频率比内存速度提高快得多,高速
24、缓存可以提高内存的平均性能。内存的平均性能。2、高速缓存的工作原理、高速缓存的工作原理高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。贝。CPU高速缓存控制器CACHE主存数据数据地址31总线和总线桥总线和总线桥CPU低速设备桥数据高速总线存储器高速设备高速设备低速总线32存储器系统存储器系统RAM:随机存取存储器,:随机存取存储器,SRAM:静态随机存储器,:静态随机存储器,DRAM:动态随机存储器:动态随机存储器1)SRAM比比DRAM快快2)SRAM比比DRAM耗电多耗电多3)DRAM存储密度比存储密度比SRAM高得多高
25、得多4)DRM需要周期性刷新需要周期性刷新ROM:只读存储器:只读存储器FLASH:闪存:闪存33SRAM和和DRAM1)SRAM2)DRAMCSR/WAddrDataCSR/WCASDataRASAddr34输入输出接口输入输出接口1)I/O2)A/D、D/A3)键盘)键盘4)LCD5)存储器接口)存储器接口6)设备接口)设备接口35三、嵌入式操作系统三、嵌入式操作系统l操作系统的分类操作系统的分类l嵌入式实时操作系统嵌入式实时操作系统l多任务,任务优先级,调度多任务,任务优先级,调度l前台与后台前台与后台l非占先式与占先式、可重入型函数非占先式与占先式、可重入型函数363.1操作系统的分类
26、操作系统的分类(1)顺序执行系统:系统内只含有一个程序,独占)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如如DOS操作系统。操作系统。(2)分时操作系统:系统内同时可以有多个程序运行,把)分时操作系统:系统内同时可以有多个程序运行,把CPU的时的时间分按顺序分成若干片,每个时间片内执行不同的程序。如间分按顺序分成若干片,每个时间片内执行不同的程序。如UNIX(3)实时操作系统:系统内有多个程序运行,每个程序有不同的优)实时操作系统:系统内有多个程序运行
27、,每个程序有不同的优先级,只有最高优先级的任务才能占有先级,只有最高优先级的任务才能占有CPU的控制权。的控制权。37具有强实时特点的嵌入式操作系统具有强实时特点的嵌入式操作系统具有弱实特点的嵌入式操作系统具有弱实特点的嵌入式操作系统没有实时特点的嵌入式操作系统没有实时特点的嵌入式操作系统按实时性分类按实时性分类381.强实时系统,其系统响应时间在毫秒或微秒强实时系统,其系统响应时间在毫秒或微秒级级(数控机床)(数控机床);2.一航实时系统,其系统响应时间在毫秒几一航实时系统,其系统响应时间在毫秒几秒的数量级上,其实时性的要求比强实时系统要差秒的数量级上,其实时性的要求比强实时系统要差一些一些
28、(电子菜谱的查询)。(电子菜谱的查询)。3.弱实时系统,其系统响应时间约为数十秒或弱实时系统,其系统响应时间约为数十秒或更长更长(工程机械)(工程机械)。39(1).循环轮询系统:(循环轮询系统:(PollingLoop)最简单的软件结构是循环轮询,程序依次检查系统的每一个最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。输入条件,一旦条件成立就进行相应的处理。Initialize()While(true)if(condition_1)action_1();if(condition_2)action_2();if(condition_n)acition
29、_n();按软件结构分类按软件结构分类40(2).事件驱动系统:(事件驱动系统:(Event-Drivensystem)事件驱动系统是能对外部事件直接响应的系统。它包括前后事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。应用程序是一个无限的循环,循环中调用相应的函数完成相应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(应的操作,这部分可以看成后台行为(background)。中断服务)。中断服务程序处理异步事件,这部分可以看成前台行为(程序处
30、理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级,前台也叫中断级。后台也可以叫做任务级,前台也叫中断级。例如,很多基于微处理器的产品采用前后台系统设计,如例如,很多基于微处理器的产品采用前后台系统设计,如微微波炉、波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。停机状态,所有的事都靠中断服务来完成。41前后台系统(后台循环、前台中断)前后台系统(后台循环、前台中断)ISRISR后台后台前台前台ISR时间时间423.2嵌入式实时操作系统嵌入式实时操作系统实时操作系统的特
31、点:实时操作系统的特点:1、多任务、多任务CPU寄存器寄存器任务任务控制控制块块1任务任务控制控制块块2任务任务控制控制块块n休眠、就绪、运行、挂起、被中断休眠、就绪、运行、挂起、被中断任务任务1任务任务2任务任务nCPU寄存器寄存器43一个任务,也称作一个线程,是一个简单的运行一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,赋予一定的优先级,有它自己的一套有它自己的一套CPU寄存器和自己寄存器和自己的栈空间。的栈空间。多任务运行的实现实际上是靠多任务运行的实现实际上是靠CPU(中央处理
32、单(中央处理单元)在许多任务之间转换、调度。元)在许多任务之间转换、调度。CPU只有一个,轮番服务于一系列任务中的某一只有一个,轮番服务于一系列任务中的某一个。多任务运行使个。多任务运行使CPU的利用率得到最大的发挥,并使的利用率得到最大的发挥,并使应用程序模块化。应用程序模块化。在实际应用中,多任务的最大特点是,开发人员在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化综合实验(时钟、位可以将很复杂的应用程序层次化综合实验(时钟、位图、图、USB、KEY)。)。44任务任务实时任务实时任务非实时任务非实时任务事件驱动事件驱动时间驱动时间驱动内部事件:运算结果、设备请求等内
33、部事件:运算结果、设备请求等外部事件:开关量输入等外部事件:开关量输入等绝对时间驱动绝对时间驱动相对时间驱动相对时间驱动2、任务的事件驱动、任务的事件驱动453、中断与中断优先级、中断与中断优先级CPU中断控制器1中断控制器2外部事件464、同步与异步、同步与异步一系列时间相关事件称为同步事件,驱动的任务为同步任务一系列时间相关事件称为同步事件,驱动的任务为同步任务随机发生的事件称为异步事件,驱动的任务为异步任务,如中断随机发生的事件称为异步事件,驱动的任务为异步任务,如中断475、资源与临界资源、资源与临界资源程序进行时可使用的软硬件环境称为资源,程序进行时可使用的软硬件环境称为资源,2个以
34、上任务可同个以上任务可同时访问的共享资源称为临界资源。时访问的共享资源称为临界资源。任何任务所占用的实体都可称为资源。资源可以是输入输出设备,任何任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器,资源也可以是一个变量、一个结构例如打印机、键盘、显示器,资源也可以是一个变量、一个结构或一个数组等。或一个数组等。任务1共享内存任务2任务N486、容错与安全、容错与安全容错:当系统软、硬件发生故障时,系统仍能正常运容错:当系统软、硬件发生故障时,系统仍能正常运转,完成预定的任务或某些重要的不允许间断的任务。包转,完成预定的任务或某些重要的不允许间断的任务。包括系统自论断
35、、自恢复、自动切换等功能。括系统自论断、自恢复、自动切换等功能。安全性:是指系统对自身文件和用户文件的存取合法安全性:是指系统对自身文件和用户文件的存取合法性的控制。如口令、加密。性的控制。如口令、加密。49实时系统是实时系统是面向具体应用面向具体应用,对外来事件在限定时间内能做,对外来事件在限定时间内能做出反应的系统。限定时间的范围很广可以出反应的系统。限定时间的范围很广可以从微秒级(如信号处理)从微秒级(如信号处理)到分级(如联机查询系统)。到分级(如联机查询系统)。在实时系统中主要有三个指标来衡量系统的实时性,即响在实时系统中主要有三个指标来衡量系统的实时性,即响应时间(应时间(Resp
36、onseTime)、生存时间()、生存时间(SurvivalTime)、吞吐)、吞吐量(量(Throughput)。)。l响应时间(响应时间(ResponseTime):是计算机识别一个外部事):是计算机识别一个外部事件到作出响应的时间,在控制应用中它是最重要的指标,如果事件件到作出响应的时间,在控制应用中它是最重要的指标,如果事件不能及时的处理,系统可能就会崩溃。不能及时的处理,系统可能就会崩溃。l生存时间(生存时间(SurvivalTime):是数据有效等待时间,在这):是数据有效等待时间,在这段时间里数据是有效的。段时间里数据是有效的。l吞吐量(吞吐量(Throughput):是在一给定
37、时间内(秒),系):是在一给定时间内(秒),系统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来表示吞吐量,吞吐量是平均响应时间的倒数。表示吞吐量,吞吐量是平均响应时间的倒数。实时系统的评价指标实时系统的评价指标50多任务系统中,内核负责管理各个任务,或者说为每个任多任务系统中,内核负责管理各个任务,或者说为每个任务分配务分配CPU时间,并且负责任务之间的通信。时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。内核本身也增加了应用内核提供的基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加程序的额外负
38、荷,代码空间增加ROM用量,内核本身的数据结构用量,内核本身的数据结构增加了增加了RAM的用量。内核本身对的用量。内核本身对CPU的占用时间一般在的占用时间一般在2到到5个个百分点之间。百分点之间。系统内核系统内核51这是操作系统的主要职责之一,它决定该轮到哪个任这是操作系统的主要职责之一,它决定该轮到哪个任务运行了。务运行了。往往调度是基于优先级的,根据其重要不同被赋往往调度是基于优先级的,根据其重要不同被赋予任务不同的优先级。予任务不同的优先级。CPU总是让处在就绪态的优总是让处在就绪态的优先级最高的任务先运行。先级最高的任务先运行。何时让高优先级任务掌握何时让高优先级任务掌握CPU的使用
39、权,有两种的使用权,有两种不同的情况,这要看用的是什么类型的内核,不同的情况,这要看用的是什么类型的内核,是非是非占先式的还是占先式占先式的还是占先式的内核。的内核。调度(调度(dispatcher)52 任务优先级任务优先级(priority)(priority)每个任务都有其优先级(每个任务都有其优先级(priority),静态优),静态优先级和动态优先级。先级和动态优先级。应用程序执行过程中诸任务优先级不变,则应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知任务以及它们的时间约束
40、在程序编译时是已知的。的。应用程序执行过程中,如果任务的优先级是应用程序执行过程中,如果任务的优先级是可变的,则称之为动态优先级可变的,则称之为动态优先级.53非占先式与占先式非占先式与占先式非占先式(非占先式(non-preemptive)非占先式调度法也称作合作型多任务(非占先式调度法也称作合作型多任务(cooperativemultitasking),各个任务彼此合作共享一个),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,状态。但中断服务以后控
41、制权还是回到原来被中断了的那个任务,直到改任务主动放弃直到改任务主动放弃CPU的使用权时,那个高优先级的任务才能的使用权时,那个高优先级的任务才能获得获得CPU的使用权。的使用权。非占先式内核的非占先式内核的一个特点一个特点是几乎不需要使用信号量保护共是几乎不需要使用信号量保护共享数据。运行着的任务占有享数据。运行着的任务占有CPU,而不必担心被别的任务抢占。,而不必担心被别的任务抢占。非占先式内核的非占先式内核的最大缺陷最大缺陷在于其响应高优先级的任务慢,在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当任务已经进入就绪态,但还不能运行,也许要等很时间,直到
42、当前运行着的任务释放前运行着的任务释放CPU。内核的任务级响应时间是不确定的,。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全的控制权,完全取决于应用程序什么时候释放取决于应用程序什么时候释放CPU。54非占先式非占先式(Non-Preemptive)低优先级任务低优先级任务ISR高优先级任务高优先级任务(1)(2)(3)(4)(5)(6)(7)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪低优先级任务释放低优先级任务释放CPU使用权使用权TIME55占先式(占先式(preemptive)当系统响应
43、时间很重要时,要使用占先式当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,)内核。最高优先级的任务一旦就绪,总能得到总能得到CPU的控制权。的控制权。当一个运行着的任务使一个比它优先级高的任务当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的进入了就绪态,当前任务的CPU使用权就被剥夺了,使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。的控制权。使用占先式内核时,应用程序不应直接使用不可使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时
44、,低优先级的重入型函数。如果调入可重入型函数时,低优先级的任务任务CPU的使用权被高优先级任务剥夺,的使用权被高优先级任务剥夺,不可重入型不可重入型函数中的数据有可能被破坏。函数中的数据有可能被破坏。56占先式占先式(Preemptive)低优先级任务低优先级任务ISR高优先级任务高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪高优先级任务得到高优先级任务得到CPU使用权使用权TIME57可以被一个以上的任务调用,而不必担心数据的破坏。可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可可
45、重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在局部变量,即变量保存在CPU寄存器中或堆栈中。寄存器中或堆栈中。一个不可重入型函数的例子一个不可重入型函数的例子intTemp;Voidswap(int*x,int*y)Temp=*x;*X=*Y;*y=Temp;可重入型函数可重入型函数58一个可重入型函数的例子一个可重入型函数的例子Voidswap(int*x,int*y)intTemp;Temp=*x;*X=*Y;*y=Temp;59代码的临界区也称为临界区,指处理时不可
46、分割代码的临界区也称为临界区,指处理时不可分割的代码。的代码。一旦这部分代码开始执行,则不允许任何中一旦这部分代码开始执行,则不允许任何中断打入。断打入。在进入临界区之前要关中断,而临界区代码执行在进入临界区之前要关中断,而临界区代码执行完以后要立即开中断完以后要立即开中断(在任务切换时,地址、指令、(在任务切换时,地址、指令、数据等寄存器堆栈保护)数据等寄存器堆栈保护)。代码的临界区代码的临界区60宏观方面发展趋势:宏观方面发展趋势:经济性(经济性(POS开发失败,几十万、几万、开发失败,几十万、几万、5千、千、5百)百)计算机要很便宜,让更多的人能买得起;计算机要很便宜,让更多的人能买得起
47、;小型化(笔记本、小型化(笔记本、PDA)人们携带方便;人们携带方便;可靠性(汽车可靠性(汽车VCD,挑动问题),挑动问题)能够在一般环境条件下或者是苛刻的环境条件下运行;能够在一般环境条件下或者是苛刻的环境条件下运行;高速度(飞机刹车系统)高速度(飞机刹车系统)能够迅速地完成数据计算或数据传输;能够迅速地完成数据计算或数据传输;智能性(知识推理、模糊查询、识别、感知运动)智能性(知识推理、模糊查询、识别、感知运动)使人们用起来更习惯,对人们更有使价值。使人们用起来更习惯,对人们更有使价值。6、嵌入式技术的发展趋势、嵌入式技术的发展趋势61芯片方面芯片方面SOC芯片技术能降低电子产品成本的速度
48、,就连当代芯片技术能降低电子产品成本的速度,就连当代电子学革命之父,电子学革命之父,2000年诺贝尔物理奖得者杰克年诺贝尔物理奖得者杰克基基尔比也没有想到,他在尔比也没有想到,他在1959年发明的芯片技术,会将年发明的芯片技术,会将电子产品的成本降低到了百分之一的地步。电子产品的成本降低到了百分之一的地步。难怪尽管发展芯片技术的耗资是惊人的巨大,发难怪尽管发展芯片技术的耗资是惊人的巨大,发达国家还是力争在芯片技术的竞争中要永远保持领先的达国家还是力争在芯片技术的竞争中要永远保持领先的地位,以便能主宰世界信息技术的发展。地位,以便能主宰世界信息技术的发展。62嵌入式系统技术发展趋势嵌入式系统技术
49、发展趋势嵌入式软件行业的标准嵌入式软件行业的标准目前,嵌入式操作系统没有国际标准,有些行业已经开始定义其相目前,嵌入式操作系统没有国际标准,有些行业已经开始定义其相关的行业标准,如汽车电子关的行业标准,如汽车电子OSEK等。等。l向微内核方向发展(向微内核方向发展(PS/2微通道,微通道,PCI、ISA)八十年代后期,国外提供了微内核(八十年代后期,国外提供了微内核(Microkernel)的思想,即将)的思想,即将传统操作系统中的许多共性的东西抽象出来,构成操作系统的公共基础,传统操作系统中的许多共性的东西抽象出来,构成操作系统的公共基础,真正具体的操作系统功能则由构造在微内核之外的服务器实
50、现。真正具体的操作系统功能则由构造在微内核之外的服务器实现。l实时多任务操作系统与开发工具实时多任务操作系统与开发工具l微小型个人数据库微小型个人数据库l高可靠性的无线信息传输高可靠性的无线信息传输l多媒体人机交互的操作界面多媒体人机交互的操作界面嵌入式操作系统的功能越来越丰富,不仅能提供一些基本的功能,嵌入式操作系统的功能越来越丰富,不仅能提供一些基本的功能,如:内核、网络、如:内核、网络、GUI、文件系统等,而且还会具有很多新的功能,如、文件系统等,而且还会具有很多新的功能,如支持支持J2ME(JAVA2MicroEdition)、嵌入式)、嵌入式CORBA,XML等。等。63CPU、传感