状态机模型、并发进程模型.pptVIP

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
状态机模型、并发进程模型 概要 模型与语言的比较 状态机模型 FSM/FSMD HCFSM 和状态图表语言 程序状态机模型 (PSM) 并发进程模型 通信 同步 实现 数据流模型 实时系统 引言 嵌入式系统处理行为的描述 描述起来或许非常困难 随着IC容量的增加,复杂度也随之增加。 嵌入式早期应用:洗衣机、小游戏等 仅有数百行的程序代码 如今的应用:电视机机顶盒和手机等。 可能需要几十万行的程序代码 在设计初期,所需的行为甚至不能完全让人理解,许多的系统缺陷都是描述不清造成的。 使用英语或其它自然语言来描述所需行为,这是合理描述的第一步。 但是,这样做仍然不够,因为自然语言并不精确。 如: 发动机相关代码,达数千页之长。 模型与语言 我们如何用计算模型描述所需的系统行为呢? 我们可许想到用计算机语言 来描述,如,C、 C++等。计算模型可以帮助设计者理解和描述行为。 常见的计算模型 时序程序模型( Sequential program model ) 提供一组语句、语句规则以及说明语句如何执行的语义。 通信进程模型( Communicating process model ) 该模型支持对多进程的并发执行。 状态机模型( State machine model ) 该模型用于以控制为主的系统,监视控制输入、设置控制输出。 数据流模型( Dataflow model ) 该模型用于以数据为主的系统,把数据输入流转换成输出数据流。 面向对象模型(Object-oriented model) 该模型用于将复杂的软件分解为简单而确定的片断。 模型与语言 计算模型描述系统行为 如,菜谱,时序程序。 语言可以捕获模型 具体形式,如,C语言、英语等。 时序模型可以用不同的语言来表达 例如,C、C++、或JAVA 一种语言还可以描述很多不同的模型 例如,C++语言可以描述时序模型、面向对象模型、状态机模型 某些程序语言可能比其它语言更容易表达计算模型 文字语言与图形语言 模型/语言、文字/图形不能相混淆。 文字和图形仅仅是语言的两种形式 文本:如字母、数字。 图形: 简单实例:一个电梯控制系统 简单控制器 请求解决器 : 协调不同的楼层请求,确定一个被请求楼层。 单元控制器: 移动电梯到达请求楼层 我们可以尝试用C语言来描述 使用时序程序模型进行描述 有限状态机模型(FSM) 如果我们用时序程序模型来描述该行为似乎是一件令人头疼的事。 相反,我们可以考虑用FSM来描述系统行为。 可能的状态 如, Idle, GoingUp, GoingDn, DoorOpen 。 针对一个输入可能产生的从一种状态到另一种状态的转换 如, req floor 每个状态下的行为操作。 如, 在GoingUp状态下, u,d,o,t = 1,0,0,0 (up = 1, down, open, and timer_start = 0) 有限状态机模型 正式的定义 FSM一个6元组 FS, I, O, F, H, s0其中 S是状态的集合{s0, s1, …, sl} I 输入的集合 {i0, i1, …, im} O 是输出的集合 {o0, o1, …, on} F 是次态集合 (S x I → S) H 是输出函数,将状态映射到输出 (S → O) s0 是初始状态 摩尔型(Moore) 输出仅与状态有关 。 米莱型(Mealy) 输出仅与状态转移有关。 使用速记符进行一些简化描述 可以认为在状态中未赋值的输出为0. 每个转移条件隐含着与有效时钟沿相与。 具有数据路径的有限状态机模型 (FSMD) FSMD是对 FSM的扩展,如增加了复杂数据类型和存储数据的变量。 FSMs 仅使用布尔类型来进行运算,没有变量。 FSMD模型可以定义为一个7元组 F S, I , O, V, F, H, s0 S 是状态的集合 {s0, s1, …, sl} I 是输入的集合 {i0, i1, …, im} O 是输出的集合 {o0, o1, …, on} V 是变量的集合 {v0, v1, …, vn} F 是次态的集合 (S x I x V → S) H 操作函数 (S → O + V) S0是初始状态 I,O,V 可以描述复杂的数据类型 (如,整数、浮点数等)。 F,H 可以代表算术运算。 在此没有将H 称为输出函数,而是称做操作函数。 因为它不仅描述输出,而且也描述变量的更新。 对于该模型,完整的系统状态不仅包括当前状态,而且还包括所有变量的值。 将系统描述为状态机 1. 列举所有可能的状态 状态机与时序程序模型的比较 每种模型反映了对系统行为的不同考虑方式 状态机模型: 要求设计者要考虑所有可能的状态,以及所有可能输入条件下可能进行的所有状态转

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档