收藏 分销(赏)

嵌入式系统设计及实例开发.ppt

上传人:快乐****生活 文档编号:2997044 上传时间:2024-06-12 格式:PPT 页数:63 大小:185.54KB
下载 相关 举报
嵌入式系统设计及实例开发.ppt_第1页
第1页 / 共63页
嵌入式系统设计及实例开发.ppt_第2页
第2页 / 共63页
嵌入式系统设计及实例开发.ppt_第3页
第3页 / 共63页
嵌入式系统设计及实例开发.ppt_第4页
第4页 / 共63页
嵌入式系统设计及实例开发.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、嵌入式系统设计及实例开发1、什么是嵌入式系统、什么是嵌入式系统2、硬件基础、硬件基础3、嵌入式操作系统、嵌入式操作系统嵌入式系统的基本概念嵌入式系统的基本概念IEEEIEEE定义定义根据根据IEEE(国际电气和电子工程师协会)的定义:(国际电气和电子工程师协会)的定义:嵌入式系统是嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置用于控制、监视或者辅助操作机器和设备的装置”(原文为(原文为devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。)。可以看出此定义是从应用上考虑的,嵌入式

2、系统是软件和硬件的综合体,还可以涵可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。盖机电等附属装置。3、嵌入式系统的几个重要特征、嵌入式系统的几个重要特征(1)系统内核小)系统内核小由由于于嵌嵌入入式式系系统统一一般般是是应应用用于于小小型型电电子子装装置置的的,系系统统资资源源相相对对有有限限,所所以以内内核核较之传统的操作系统要小得多。较之传统的操作系统要小得多。比比如如ENEA公公司司的的OSE分分布布式式系系统统,内内核核只只有有5K,而而Windows的的内内核核则则要要大大得得多。多。()专用性强()专用性强嵌入式系统的个性化很强,其中的软

3、件系统和硬件的结合非常紧密,一般要针对硬件进嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的这种修改和通用软件的“升级升级”是完全不同的概念。是完全不同的概念。()系统精简()系统精简嵌嵌入入式式系系统统一一般般没没

4、有有系系统统软软件件和和应应用用软软件件的的明明显显区区分分,不不要要求求其其功功能能设设计计及及实实现现上上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。()高实时性()高实时性OS这这是是嵌嵌入入式式软软件件的的基基本本要要求求,而而且且软软件件要要求求固固态态存存储储,以以提提高高速速度度。软软件件代代码码要要求求高质量和高可靠性、实时性。高质量和高可靠性、实时性。(5)嵌入式软件开发走向标准化)嵌入式软件开发走向标准化嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。嵌入式系统的应用程序可以没有操作系统直

5、接在芯片上运行。为为了了合合理理地地调调度度多多任任务务、利利用用系系统统资资源源、系系统统函函数数以以及及和和专专家家库库函函数数接接口口,用用户户必必须须自自行行选选配配RTOS(RealTimeOperatingSystem)开开发发平平台台,这这样样才才能能保保证证程程序序执执行行的的实实时性、可靠性,并减少开发时间,保障软件质量。时性、可靠性,并减少开发时间,保障软件质量。(6)嵌入式系统开发需要开发工具和环境)嵌入式系统开发需要开发工具和环境由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能

6、对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。能进行修改,必须有一套开发工具和环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。发时需要交替结合进行。嵌入式系统与嵌入式系统与PC之间的区别之间的区别嵌入式系统一般是专用系统,而嵌入式系统一般是专用系统,而PC是通用

7、计算平台是通用计算平台嵌入式系统的资源比嵌入式系统的资源比PC少得多少得多嵌入式系统软件故障带来的后果比嵌入式系统软件故障带来的后果比PC机大得多机大得多嵌入式系统一般采用实时操作系统嵌入式系统一般采用实时操作系统嵌入式系统大都有成本、功耗的要求嵌入式系统大都有成本、功耗的要求嵌入式系统得到多种微处理体系的支持嵌入式系统得到多种微处理体系的支持嵌入式系统需要专用的开发工具嵌入式系统需要专用的开发工具典型嵌入式系统基本组成硬件典型嵌入式系统基本组成硬件MPU微处理器微处理器电源电源模块模块时钟时钟复位复位FlashRAMROMUSBLCDKeyboard外围电路外围电路Other外设外设典型嵌入

8、式系统基本组成软件典型嵌入式系统基本组成软件输入输入输出输出操作系统操作系统应用程序应用程序软件结构软件结构硬件结构硬件结构嵌入式处理器嵌入式处理器嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。位、位、位单片位单片机,机,16位、位、32位、位、64位嵌入式位嵌入式CPU。实时操作系统实时操作系统实时操作系统是嵌入式系统目前最主要的组成部分。实时性需要调度一切可利用的资源完实时操作系统是嵌入式系统目前最主要的组成部分。实时性需要调度一切可利用的资源完成实时控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制

9、和要求。成实时控制任务,着眼于提高计算机系统的使用效率,满足对时间的限制和要求。系统响应时间(系统响应时间(System response timeSystem response time):):系统发出处理要求,到系统给出应答信号的时间。系统发出处理要求,到系统给出应答信号的时间。任务切换时间(任务切换时间(Context-switching timeContext-switching time):):任务之间切换而使用的时间。任务之间切换而使用的时间。中断延迟(中断延迟(Interrupt latencyInterrupt latency):):计算机接收到中断信号到操作系统作出响应,并完

10、成切换转入中断服务程序的时间。计算机接收到中断信号到操作系统作出响应,并完成切换转入中断服务程序的时间。冯冯诺依曼体系结构和哈佛体系结构诺依曼体系结构和哈佛体系结构CISC与与RICS影响影响CPU性能的因素性能的因素存储器系统存储器系统I/O接口接口二、硬件基础二、硬件基础冯冯诺依曼体系结构模型诺依曼体系结构模型指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器存储器存储器程序程序指令指令0指令指令1指令指令2指令指令3指令指令4数据数据数据数据0数据数据1数据数据2指令的执行周期指令的执行周期T1)取指令()取指令(InstructionFetch):TF

11、2)指令译码()指令译码(InstructionDecode):):TD3)执行指令()执行指令(InstructionExecute):):TE4)存储()存储(Storage):):TS每条指令的执行周期:每条指令的执行周期:T=TF+TD+TE+TS冯冯诺依曼体系的特点诺依曼体系的特点1)数据与指令都存储在存储器中)数据与指令都存储在存储器中2)被大多数计算机所采用)被大多数计算机所采用3)ARM7冯诺依曼体系冯诺依曼体系在冯在冯诺依曼体系结构中,数据和程序存储器是共享数据总线的。数据总线共享有很多优点,比如减小总线诺依曼体系结构中,数据和程序存储器是共享数据总线的。数据总线共享有很多优

12、点,比如减小总线的开销。另外一个优点在于能够把的开销。另外一个优点在于能够把RAM映射到程序空间,这样设备也能访问映射到程序空间,这样设备也能访问EEPROM中的内存。中的内存。哈佛体系结构哈佛体系结构指令寄存器指令寄存器控制器控制器数据通道数据通道输入输入输出输出中央处理器中央处理器程序存储器程序存储器指令指令0指令指令1指令指令2数据存储器数据存储器数据数据0数据数据1数据数据2地址地址指令指令地址地址数据数据哈佛体系结构的特点哈佛体系结构的特点1)程序存储器与数据存储器分开)程序存储器与数据存储器分开2)提供了较大的数存储器带宽)提供了较大的数存储器带宽3)适合于数字信号处理)适合于数字

13、信号处理4)大多数)大多数DSP都是哈佛结构都是哈佛结构5)ARM9是哈佛结构是哈佛结构对于哈佛体系结构的计算机,程序和数据总线是分开的。这种方式的优势在于能够在一个时钟周期对于哈佛体系结构的计算机,程序和数据总线是分开的。这种方式的优势在于能够在一个时钟周期内同时读取程序和数据,这样就相应地减少了执行每一条指令所需的时钟周期。早期的哈佛架构的计算内同时读取程序和数据,这样就相应地减少了执行每一条指令所需的时钟周期。早期的哈佛架构的计算机是不能把查找表储存在程序存储器中的,而这个问题在现在的大多数设备中已经解决了。机是不能把查找表储存在程序存储器中的,而这个问题在现在的大多数设备中已经解决了。

14、哈佛体系结构计算机中存在的另外一个问题就是,如果要和外部的程序和数据存储器进行交互,对哈佛体系结构计算机中存在的另外一个问题就是,如果要和外部的程序和数据存储器进行交互,对于两部分存储器来说,由于地址总线和数据总线的相互独立性,就需要额外增加大量的芯片管脚。因此,于两部分存储器来说,由于地址总线和数据总线的相互独立性,就需要额外增加大量的芯片管脚。因此,只有当至少有一种存储器的类型是内部的情况下,微处理器才会采用哈佛体系结构。只有当至少有一种存储器的类型是内部的情况下,微处理器才会采用哈佛体系结构。CISC和和RISCRISC(精简指令集计算机精简指令集计算机)和和CISC(复杂指令集计算机复

15、杂指令集计算机)是当前是当前CPU的两种架构。它们的区别在于不同的的两种架构。它们的区别在于不同的CPU设设计理念和方法。计理念和方法。CISC:复杂指令集(:复杂指令集(ComplexInstructionSetComputer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/2原则:原则:80%的程序只使用的程序只使用20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。指令复杂化、编译复杂化,运行时间长,部件效率不高,不利于并行处理和指令复杂化、编译复杂化,运行时间长,部件效率不高,不利于并行处理和VLSI的实现的实现CISC:复杂指令集(:复

16、杂指令集(ComplexInstructionSetComputer)早期的早期的CPU全部是全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。比如对于乘法运算,在比如对于乘法运算,在CISC架构的架构的CPU上,您可能需要这样一条指令:上,您可能需要这样一条指令:MULADDRA,ADDRB就可以将就可以将ADDRA和和ADDRB中的数相乘并将结果储存在中的数相乘并将结果储存在ADDRA中。将中。将ADDRA,ADDRB中的数据读入寄存器,相乘和中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于

17、将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。中设计的逻辑来实现。这种架构会增加这种架构会增加CPU结构的复杂性和对结构的复杂性和对CPU工艺的要求,但对于编译器的开发十分有利。工艺的要求,但对于编译器的开发十分有利。比如上面的例子,比如上面的例子,C程序中的程序中的a*=b就可以直接编译为一条乘法指令。就可以直接编译为一条乘法指令。今天只有今天只有Intel及其兼容及其兼容CPU还在使用还在使用CISC架构。架构。RISC:精简指令集(:精简指令集(ReducedInstructionSetComputer)RISC架构要求软件来指定各个操作步骤。如果要在架构要求软件来指定各个操作

18、步骤。如果要在RISC架构上实现将架构上实现将ADDRA,ADDRB中的数据读入寄中的数据读入寄存器,相乘和将结果写回内存的操作都必须由软件来实现,比如:存器,相乘和将结果写回内存的操作都必须由软件来实现,比如:MOVA,ADDRA;MOVB,ADDRB;MULA,B;STRADDRA,A。这种架构可以降低。这种架构可以降低CPU的复杂性以及允许在同样的工艺水平下生产出功能的复杂性以及允许在同样的工艺水平下生产出功能更强大的更强大的CPU,但对于编译器的设计有更高的要求。,但对于编译器的设计有更高的要求。在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据

19、通道快速执行每一条指令使使CPU硬件结构设计变得更为简单硬件结构设计变得更为简单将频率最高的操作作为指令系统的基本操作将频率最高的操作作为指令系统的基本操作适于适于VLSI、并行处理的发展趋势、并行处理的发展趋势当然,当然,RISC也有它的缺点:代码密度不高,可执行文件体积较大,汇编代码可读性较也有它的缺点:代码密度不高,可执行文件体积较大,汇编代码可读性较差。代码密度不高是个值得关注的问题:若不使用差。代码密度不高是个值得关注的问题:若不使用cache,会需要更大的指令存储空间,取指时也,会需要更大的指令存储空间,取指时也占用更大的存储器带宽。若采用占用更大的存储器带宽。若采用cache,又

20、会降低,又会降低cache的命中率。的命中率。CISC与与RISC的数据通道的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道关于周期的概念关于周期的概念执行一条指令所需要的时间称为指令周期执行一条指令所需要的时间称为指令周期,指令周期常常用若干个时钟周期来表示。指令周期常常用若干个时钟周期来表示。时钟脉冲的重复周期称为时钟周期,时钟周期是时钟脉冲的重复周期称为时钟周期,时钟周期是CPU的基本时间计量单位,它由计算机主频决定。的基本时间计量单位,它由计算机主频决定。一个一个CPU同外部设备和内存储器之间进行信息交换过程所需要的时间称为总线周期。

21、同外部设备和内存储器之间进行信息交换过程所需要的时间称为总线周期。影响影响CPU性能的因素:流水线、超标量和缓存性能的因素:流水线、超标量和缓存流水线技术:几个指令可以并行执行流水线技术:几个指令可以并行执行提高了提高了CPU的运行效率的运行效率内部信息流要求通畅流动内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmp超标量执行超标量执行超标量执行:超标量超标量执行:超标量CPU采用多条流水线结构采用多条流水线结构执行1预取指令CACHE译码2译码1执行2执行1预取译码2译码1执行2流水线1流水线2数据高速缓存(高速缓存(CACHE)1、为什么采用

22、高速缓存、为什么采用高速缓存微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。2、高速缓存的工作原理、高速缓存的工作原理高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。CPU高速缓存控制器CACHE主存数据数据地址总线和总线桥总线和总线桥CPU低速设备桥数据高速总线存储器高速设备高速设备低速总线存储器系统存储器系统RAM:随机存取存储器,:随机存取存储器,SRAM:静态随机存储器,:静态随机存储器,DRAM:动态随机存储器:动态随

23、机存储器1)SRAM比比DRAM快快2)SRAM比比DRAM耗电多耗电多3)DRAM存储密度比存储密度比SRAM高得多高得多4)DRM需要周期性刷新需要周期性刷新ROM:只读存储器:只读存储器FLASH:闪存:闪存输入输出接口输入输出接口1)I/O2)A/D、D/A3)键盘)键盘4)LCD5)存储器接口)存储器接口6)设备接口)设备接口三、嵌入式操作系统三、嵌入式操作系统操作系统的分类操作系统的分类嵌入式实时操作系统嵌入式实时操作系统多任务,任务优先级,调度多任务,任务优先级,调度前台与后台前台与后台实时操作系统中的重要概念实时操作系统中的重要概念操作系统的分类操作系统的分类(1)顺序执行系统

24、:系统内只含有一个程序,独占)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如完毕,另一程序才能启动运行。如DOS操作系统。操作系统。(2)分时操作系统:系统内同时可以有多个程序运行,把)分时操作系统:系统内同时可以有多个程序运行,把CPU的时间分按顺序分成若干片,每个时间片的时间分按顺序分成若干片,每个时间片内执行不同的程序。如内执行不同的程序。如UNIX(3)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占)实时操作系统:系统内有多个程序运行

25、,每个程序有不同的优先级,只有最高优先级的任务才能占有有CPU的控制权。的控制权。具有强实时特点的嵌入式操作系统具有强实时特点的嵌入式操作系统具有弱实特点的嵌入式操作系统具有弱实特点的嵌入式操作系统没有实时特点的嵌入式操作系统没有实时特点的嵌入式操作系统按实时性分类按实时性分类1.强实时系统,其系统响应时间在毫秒或微秒级(数控机床);强实时系统,其系统响应时间在毫秒或微秒级(数控机床);2.一航实时系统,其系统响应时间在毫秒几秒的数量级上,其实时性的要求比强实时一航实时系统,其系统响应时间在毫秒几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。系统要差一些(电子菜谱的查询)

26、。3.弱实时系统,其系统响应时间约为数十秒或更长(工程机械)。弱实时系统,其系统响应时间约为数十秒或更长(工程机械)。(1).循环轮询系统:(循环轮询系统:(PollingLoop)最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。的处理。Initialize()While(true)if(condition_1)action_1();if(condition_2)action_2();if(condition_n)acition_n();按软件结构分类按软件结构分类(

27、2).事件驱动系统:(事件驱动系统:(Event-Drivensystem)事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。入式实时系统的主要形式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为()。中断服务程序处理异步事件,这部分可以看成前台行为(foreg

28、round)。后台也可以叫做任务级,前台也叫中断级。后台也可以叫做任务级,前台也叫中断级。例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。前后台系统(后台循环、前台中断)前后台系统(后台循环、前台中断)ISRISR后台后台前台前台ISR时间时间嵌入式实时操作系统嵌入式实时操作系统实时操作系统的特点:实时操作系统的特点:1、多任务、多任务CPU寄存器寄存器

29、任务任务控制控制块块1任务任务控制控制块块2任务任务控制控制块块n休眠、就绪、运行、挂起、被中断休眠、就绪、运行、挂起、被中断任务任务1任务任务2任务任务nCPU寄存器寄存器一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一一个任务,也称作一个线程,是一个简单的运行程序。每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,部分,每个任务被赋予一定的优先级,有它自己的一套有它自己的一套CPU寄存器和自己的栈空间。寄存器和自己的栈空间。多任务运行的实现实际上是靠多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。(中央处理单元)在许多任务之间转

30、换、调度。CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得的利用率得到最大的发挥,并使应用程序模块化。到最大的发挥,并使应用程序模块化。在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化综在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化综合实验(时钟、位图、合实验(时钟、位图、USB、KEY)。)。任务任务实时任务实时任务非实时任务非实时任务事件驱动事件驱动时间驱动时间驱动内部事件:运算结果、设备请求等内部事件:运算结果、设备请求等外部事件:开关量输入等外部事件:开关量输

31、入等绝对时间驱动绝对时间驱动相对时间驱动相对时间驱动2、任务的事件驱动、任务的事件驱动3、中断与中断优先级、中断与中断优先级CPU中断控制器1中断控制器2外部事件4、同步与异步、同步与异步一系列时间相关事件称为同步事件,驱动的任务为同步任务一系列时间相关事件称为同步事件,驱动的任务为同步任务随机发生的事件称为异步事件,驱动的任务为异步任务,如中断随机发生的事件称为异步事件,驱动的任务为异步任务,如中断5、资源与临界资源、资源与临界资源程序进行时可使用的软硬件环境称为资源,程序进行时可使用的软硬件环境称为资源,2个以上任务可同时访问的共享资源称为临界资个以上任务可同时访问的共享资源称为临界资源。

32、源。任何任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器,任何任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器,资源也可以是一个变量、一个结构或一个数组等。资源也可以是一个变量、一个结构或一个数组等。任务1共享内存任务2任务N嵌入式操作系统的几个主要概念嵌入式操作系统的几个主要概念任务 Task调度 Scheduler 优先级 Priority 代码临界区 Critical Section可预测性 predictability上下文切换 Context Switch 任务 Task指拥有所有指拥有所有CPU资源的简单程序。资源的简单程

33、序。在进行实时应用设计时通常要把工作分割成多个任务,每个任务处理一部分问题,并被赋予在进行实时应用设计时通常要把工作分割成多个任务,每个任务处理一部分问题,并被赋予一定的优先级、一套自己的一定的优先级、一套自己的CPU寄存器及堆栈。寄存器及堆栈。实时系统中的大部分任务是周期的,体现在编程上每个任务则是一个典型的无限循环。实时系统中的大部分任务是周期的,体现在编程上每个任务则是一个典型的无限循环。任务的状态:睡眠、就绪、运行、延迟、等待任务的状态:睡眠、就绪、运行、延迟、等待任务:任务:example手持数据采集终端的打印手持数据采集终端的打印creatTASK(myprintf,priorit

34、y)voidmyprintf()for(;)等待接收队列信息;等待接收队列信息;往打印机发送打印信息;往打印机发送打印信息;内核内核(kernel)多任务系统的一部分,负责管理任务。多任务系统的一部分,负责管理任务。占先式占先式(preemptive)与非占先式与非占先式微内核微内核(Microkernel)与单内核与单内核(monolithickernel)非占先式与占先式非占先式与占先式非占先式(非占先式(non-preemptive)非占先式调度法也称作合作型多任务(非占先式调度法也称作合作型多任务(cooperativemultitasking),各个任务彼),各个任务彼此合作共享一个

35、此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到改任务主动放弃制权还是回到原来被中断了的那个任务,直到改任务主动放弃CPU的使用权时,那个高优先的使用权时,那个高优先级的任务才能获得级的任务才能获得CPU的使用权。的使用权。非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占非占先式内核的一个特点是几乎不需要使用信号量保护共享数据。运行着的任务占有有CPU,而不必担心被别的任务抢占。,而不必担心被别的任务抢占。非占先式

36、内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但非占先式内核的最大缺陷在于其响应高优先级的任务慢,任务已经进入就绪态,但还不能运行,也许要等很时间,直到当前运行着的任务释放还不能运行,也许要等很时间,直到当前运行着的任务释放CPU。内核的任务级响应时间是。内核的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到不确定的,不知道什么时候最高优先级的任务才能拿到CPU的控制权,完全取决于应用程序的控制权,完全取决于应用程序什么时候释放什么时候释放CPU。非占先式非占先式(Non-Preemptive)低优先级任务低优先级任务ISR高优先级任务高优先级任务(1)(2)(

37、3)(4)(5)(6)(7)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪低优先级任务释放低优先级任务释放CPU使用权使用权TIME占先式(占先式(preemptive)当系统响应时间很重要时,要使用占先式(当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务)内核。最高优先级的任务一旦就绪,总能得到一旦就绪,总能得到CPU的控制权。的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了权就被

38、剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。的控制权。使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数使用占先式内核时,应用程序不应直接使用不可重入型函数。如果调入可重入型函数时,低优先级的任务时,低优先级的任务CPU的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被的使用权被高优先级任务剥夺,不可重入型函数中的数据有可能被破坏。破坏。占先式占先式(Preemptive)低优先级任务低优先级任务ISR高优先级任务高优先级任务(1)(2)(3)(4)(5)(6)中断服务程序使中断服务程序使高优先级任务就绪高优先级任务就绪高优先级任务得到高

39、优先级任务得到CPU使用权使用权TIME可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时可以被一个以上的任务调用,而不必担心数据的破坏。可重入型函数任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数或者只使用局部变量,即变量保存在者只使用局部变量,即变量保存在CPU寄存器中或堆栈中。寄存器中或堆栈中。一个不可重入型函数的例子一个不可重入型函数的例子intTemp;Voidswap(int*x,int*y)Temp=*x;*X=*Y;*y=Temp;可重入型函数可重入型函数一个

40、可重入型函数的例子一个可重入型函数的例子Voidswap(int*x,int*y)intTemp;Temp=*x;*X=*Y;*y=Temp;调度调度Scheduler内核的主要职责之一,决定任务运行的次序。内核的主要职责之一,决定任务运行的次序。基基本本的的调调度度算算法法有有先先来来先先服服务务FCFS,最最短短周周期期优优先先SBF,优优先先级级法法(Priority),轮轮转转法法(Round-Robin),多级队列法多级队列法(multi-levelqueues),多级反馈队列,多级反馈队列(multi-levelfeedbackqueues)等。等。调度的基本方式有可占先式和非占先

41、式。调度的基本方式有可占先式和非占先式。多数实时内核是基于优先级调度的多种方法的复合。多数实时内核是基于优先级调度的多种方法的复合。优先级(优先级(Priority)每个任务按其重要性被赋予一定的优先级。每个任务按其重要性被赋予一定的优先级。静态优先级与动态优先级。静态优先级与动态优先级。基于优先级的系统会出现优先级倒置的问题,一个好的实时内核应该提供解决倒置的方法。基于优先级的系统会出现优先级倒置的问题,一个好的实时内核应该提供解决倒置的方法。已已开开发发出出多多种种算算法法用用于于实实时时任任务务的的优优先先级级分分配配,基基本本的的有有单单调调执执行行率率调调度度法法RMS和和最最早早期

42、期限限优先法优先法EDF等。等。代码临界区代码临界区(CriticalSection)指一段不可分割的代码,一旦执行,不能被中断。指一段不可分割的代码,一旦执行,不能被中断。实实现现代代码码临临界界区区的的方方法法有有:一一是是屏屏蔽蔽中中断断,通通常常在在代代码码执执行行前前关关闭闭中中断断,执执行行后后打打开开中中断断,只能用于单处理机的情形;二是通过信号量机制。只能用于单处理机的情形;二是通过信号量机制。互斥(互斥(mutualexclusion)资源的使用必须独占,叫做互斥。资源的使用必须独占,叫做互斥。解决办法:开关中断,使用硬件指令,使用信号量解决办法:开关中断,使用硬件指令,使用

43、信号量任务间通信任务间通信(intertaskcom)在多任务系统中,任务之间存在相互制约的关系,或者任务之间需要交换信息,称为任务间通信。在多任务系统中,任务之间存在相互制约的关系,或者任务之间需要交换信息,称为任务间通信。方式:邮箱,队列,事件标记等。方式:邮箱,队列,事件标记等。时钟节拍时钟节拍(Clocktick)一种周期性发生的特殊中断,该中断可视为系统心脏的跳动。一种周期性发生的特殊中断,该中断可视为系统心脏的跳动。中断周期越短,系统响应速度越快,但开销也越大,程序的执行速度越慢。中断周期越短,系统响应速度越快,但开销也越大,程序的执行速度越慢。典型中断时间在典型中断时间在10-2

44、00ms之间,取之间,取20ms较为合适。较为合适。可预测性可预测性(predictability)指指在在系系统统运运行行的的任任何何时时刻刻、任任何何情情况况下下,实实时时操操作作系系统统的的资资源源调调配配策策略略都都能能为为争争夺夺资资源源(包包括括CPU、内存、网络带宽等内存、网络带宽等)的多个实时任务合理地分配资源,使各实时任务的实时性要求都能得到满足。的多个实时任务合理地分配资源,使各实时任务的实时性要求都能得到满足。简单说:操作系统的行为是可知的。简单说:操作系统的行为是可知的。好的实时操作系统需要具备以下功能:好的实时操作系统需要具备以下功能:任务管理(多任务和基于优先级的任

45、务调度)任务管理(多任务和基于优先级的任务调度)具备消除优先级倒置的机制具备消除优先级倒置的机制任务间同步和通信任务间同步和通信实时时钟服务实时时钟服务中断管理服务中断管理服务操作系统的行为是可知的和可预测的操作系统的行为是可知的和可预测的评价实时操作系统几个重要指标评价实时操作系统几个重要指标系统响应时间系统响应时间(Systemresponsetime):是指系统发出处理要求到系统给出应答信号的时间。:是指系统发出处理要求到系统给出应答信号的时间。任务切换时间任务切换时间(Context-switchingtime):是指任务之间切换使用的时间。:是指任务之间切换使用的时间。中中断断延延迟迟(Interruptlatency):是是指指计计算算机机接接收收到到中中断断信信号号到到操操作作系系统统做做出出响响应应,并并完完成成切切换换转转入中断服务程序的时间。入中断服务程序的时间。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服