12第四章嵌入式系统设计-实时多任务设课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《12第四章嵌入式系统设计-实时多任务设课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 第四 嵌入式 系统 设计 实时 任务 课件
- 资源描述:
-
1、制作者制作者 程丽程丽嵌入式系统概论嵌入式系统概论第四章第四章 嵌入式系统设计嵌入式系统设计-实时多任务设计实时多任务设计本章接下来介绍本章接下来介绍v软硬件功能划分软硬件功能划分v软硬件分开设计软硬件分开设计v软硬件协同设计软硬件协同设计v实时多任务设计实时多任务设计实时多任务设计实时多任务设计v起因起因 常规方法的不足常规方法的不足v重点重点 并发性、实时性设计并发性、实时性设计v方式方式 传统方法的实时性改造传统方法的实时性改造v要点要点 多任务划分多任务划分 基于事件、基于结构基于事件、基于结构 DARTS设计过程设计过程vDARTS的设计思想的设计思想 把系统结构化成并发任务,定义任
2、务间把系统结构化成并发任务,定义任务间接口;接口; 包括包括ARTS阶段和阶段和DRTS阶段;阶段; ARTS阶段:实时系统需求模型;阶段:实时系统需求模型; DRTS阶段:实时系统设计。阶段:实时系统设计。DARTS设计过程设计过程v开发过程开发过程 1. 系统需求定义系统需求定义 2. 划分子系统划分子系统 3. 划分任务划分任务 4. 定义任务接口定义任务接口 5. 任务设计任务设计 6. 编码实现编码实现v3. 划分任务划分任务 划分任务的原则是划分任务的原则是I/O 依赖性依赖性 功能的时间关键性功能的时间关键性计算需求计算需求功能功能内聚内聚时间内聚时间内聚周期执行周期执行DART
3、S设计方法设计方法I/O 依赖性依赖性 DeviceI/O Task App.Taskv如果变换依赖于如果变换依赖于I/O,速度受限,速度受限I/O,可独,可独立成任务立成任务v在系统中创建与在系统中创建与I/O设备数目相当设备数目相当的的I/O任任务务vI/O任务只实现与设备相关的代码任务只实现与设备相关的代码vI/O任务的执行只受限于任务的执行只受限于I/O设备的速度,设备的速度,而不是处理器而不是处理器v在任务中分离设备相关性在任务中分离设备相关性 功能的时间关键性功能的时间关键性v将有时间关键性(将有时间关键性(deadline)的功能分离的功能分离出来出来, 组成独立运行的任务组成独
4、立运行的任务v赋予这些任务高的优先级,以满足对时间的赋予这些任务高的优先级,以满足对时间的需要需要event 1event 2Task 1Task 2Task 3Task 3deadline 1deadline 2Task 2 计算需求计算需求计算需求计算需求v计算计算量量大的大的功能占用功能占用CPU的时间多的时间多,把计把计算功能算功能捆绑成任务,捆绑成任务,以消耗以消耗CPU的剩余时的剩余时间间v赋予计算任务赋予计算任务较低优先级较低优先级, 能被高优先级能被高优先级的任务抢占,的任务抢占,保持高优先级的任务是轻量保持高优先级的任务是轻量级的级的v多个计算任务可安排成同优先级,按时间多个
5、计算任务可安排成同优先级,按时间片循环轮转片循环轮转功能内聚功能内聚v将紧密相关的功能变换将紧密相关的功能变换组成一个任务,组成一个任务,减少通信的开销减少通信的开销v把每个变换都作为同一任务中一个个独把每个变换都作为同一任务中一个个独立的模块,不仅保证了模块级的功能内聚,立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚也保证了任务级的功能内聚event 1F1(x) + F3(x)event 2F2(x)时间内聚时间内聚v将在同一时间内完成的各功能将在同一时间内完成的各功能(即使这些功即使这些功能是不相关的能是不相关的)形成一个任务形成一个任务v功能组的各功能是由相同的外部事件
6、驱动的功能组的各功能是由相同的外部事件驱动的(如时钟等),(如时钟等),这样每次任务接收到一个事件,这样每次任务接收到一个事件,它们都可以同时执行它们都可以同时执行v由于减少了任务调度及切换的次数,减少了由于减少了任务调度及切换的次数,减少了系统的开销系统的开销C l o c k TickeventF1(x) + F2(y)+F3(z)F4(x)+F5(y)周期执行周期执行10HZF1F2F1F210HZ15HZ15HZv一个一个需要周期执行的变换可以作为一个独立需要周期执行的变换可以作为一个独立的任务,按一定的时间间隔被激活的任务,按一定的时间间隔被激活v将在相同周期内执行的各功能组成一个任
7、务将在相同周期内执行的各功能组成一个任务v频率高的任务赋予高优先级频率高的任务赋予高优先级v4. 定义任务接口定义任务接口 任务间的接口采用如下两个模块任务间的接口采用如下两个模块任务间通信模块任务间通信模块TCM(Task Communication Module)任务同步模块任务同步模块TSM(Task Synchronization Module)DARTS设计方法设计方法任务间通信模块任务间通信模块vDARTS支持两类不同的支持两类不同的TCM(任务间通(任务间通信模块)信模块) 消息通信模块消息通信模块 信息隐藏模块信息隐藏模块v消息通信模块消息通信模块任务间通信模块任务间通信模块v
8、松耦合消息通信松耦合消息通信 消息队列包括二进制信号量,用于互斥消息队列包括二进制信号量,用于互斥 事件同步用来在队列满时挂起生产者,事件同步用来在队列满时挂起生产者,队列为空时挂起消费者队列为空时挂起消费者 每个消息队列限制了最大长度每个消息队列限制了最大长度 每个消息队列都和一个事件相连,由事每个消息队列都和一个事件相连,由事件激活任务件激活任务v紧耦合消息通信紧耦合消息通信 发送和接收队列各有一个元素发送和接收队列各有一个元素任务间通信模块任务间通信模块任务间通信模块任务间通信模块任务间通信模块任务间通信模块v信息隐藏模块信息隐藏模块 系统中可能有一些资源如查询数据、数系统中可能有一些资
9、源如查询数据、数据池和数据存储区等可以被两个或更多据池和数据存储区等可以被两个或更多的任务共享使用,或是只读,或是可读的任务共享使用,或是只读,或是可读可写可写数据数据存储存储区区写数据写数据读数据读数据读数据读数据任务任务A任务任务Bv任务同步模块任务同步模块 任务同步用事件来实现,目标任务等待任务同步用事件来实现,目标任务等待一个事件的发生,或源任务发送事件信一个事件的发生,或源任务发送事件信号激活目标任务号激活目标任务源源S:发事件信号发事件信号(E)S目标目标D:等待事件等待事件(E)D任务同步模块任务同步模块TSM任务界面任务界面v在在DARTS中任务界面按照以下规则统一中任务界面按
展开阅读全文