第八章-数据流计算机结构.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

四种驱动方式为了提高计算机并行处理能力,可能突破冯·诺依曼型的结构,寻求有利于开发高度并行功能的计算模型。计算模型中不仅要考虑数据控制类型,更要考虑驱动方式(即控制机制)。控制驱动、数据驱动、需求驱动、模式匹配驱动等四种驱动方式。控制驱动方式指令的执行次序受指令计数器的控制,这是冯·诺依曼型的结构中的驱动方式。这种结构的特点是“共享数据,串行执行”,不利于对指令并行执行的支持。但是,目前计算机领域仍然是这种驱动方式为主。只是对其进行不同的修改和完善。目的是增加并行处理能力。数据驱动方式只要程序中任一条指令所需的操作数已经齐备,就可立即启动执行(点火)。一条指令的运算结果又流向下一条指令,作为该指令的操作数来驱动执行。不存在指令计数器;指令启动执行的时机取决于操作数具备与否;程序中各条指令的执行顺序仅仅由指令间的数据依赖关系决定。只要有足够多的处理单元,凡是相互间不存在数据相关的指令都可以并行执行,充分利用了指令级的并行性。数据流计算机的由来冯·诺依曼型计算机的基本特点是在程序计数器的集中控制下顺序地执行指令,是以控制驱动方式工作的。为了设计高性能的计算机系统结构,其中一个方法是突破冯·诺依曼型的结构,采用数据驱动执行方式而形成的数据流计算机。美国MIT实验室的JackDennis及其助手于1972年首先提出了数据流模型,并证明由此而设计的数据流计算机,其性能价格比高,较好的跟踪工艺技术进步的速度,能较方便地在应用领域中进行可编程应用。基本原理传统的冯·诺依曼计算机与数据流计算机的工作原理根本不同,它是在中央控制器控制下顺序执行的。数据流计算机是在数据的可用性控制下并行执行的。数据流计算机里没有指令计数器,其指令执行靠数据记号(数据令牌datatoken)的可用性来进行,也就是指令的执行由数据来驱动,把控制流变为数据流。数据流计算机里没有常规的变量概念,也就不存在共享数据单元的问题。程序顺序性仅是指令部分内部数据相关性控制,也就是只要当操作所需要的数据可用时,即启动指令执行(异步性)和所有操作都具有函数性,即所有指令都可以任何次序并发执行。正是这些特性,数据流计算机可以使许多指令同时异步执行,预计隐含的并行度是很高的。基本原理(cont.)数据流计算机当指令所需数据可用时,该指令即可执行。这说明指令的操作不受其他控制的约束。任何一条指令只要它所需要的数据齐全,且可用时都可以执行。数据流计算机中没有变量的概念,也不设置状态,在指令间直接传送数据。因此操作结果不产生副作用,不改变机器的状态。从而具有纯函数的特点。对指令来说,摆脱了外界强加于它的控制。多条指令在数据可用性驱动下同时并行执行;它可以直接支持函数语言,不仅有利于开发程序中各级的并发性,而且也有利于改善软件环境,提高软件的生产力。指令格式在数据流计算机中,一条指令包含两部分:操作包(operationpacket)数据令牌(datatoken)指令格式(cont.)操作包(或指令包─instructioncell)通常由操作码、源操作数、后继指令地址组成。又可以看成是由操作型和受处理单元影响的部分两者组成。操作型包括操作码、有关常数的指示及常数值、目标操作地址、本操作要求几个数据令牌的标志等信息,这些信息一旦设定后就不再改变。受处理单元影响的部分包括已经接收到的操作数值、数据令牌已到的标志、正在等待的数据令牌等信息。操作包在存储器中将占据一定大小的空间。指令格式(cont.)数据令牌通常由结果值和目标地址等组成。数据令牌的实质是一种表示某一操作数或参数已准备就绪的标志。一旦执行某一操作的所有操作数令牌到齐,则标志这一操作是什么操作,以及操作结果所得出的数据令牌,将发送到哪一些等待此数据令牌的操作的第几个操作数部位等有关信息,都将作为一个消息包(messagepacket)传送到处理单元或操作部分予以执行。这样的消息包也称为操作包.数据流程序图数据流计算机的程序是用数据流语言编写的,其机器语言也就是数据流程序图。数据流语言主要目标是开发程序内隐含的并行性,便于程序设计,自然表达程序中的并行性,以及运行的高效率。数据流语言是函数语言。在执行前需要翻译成数据流图(机器语言级程序)。它执行的是所谓点火原则:即一个操作可以点火前提是:它的所有输入值全部到达,操作开始进行,将输入值吃掉,产生输出数据。数据流是有向图,节点对应操作符,弧是数据令牌迁移的指针。复制节点J.B.Dennis和J.E.Rumbaugh等提出用于数据流程序图的各种符号(即节点),并规定相应操作执行规则。复制节点:数据复制结点,数据令牌x经过复制节点时执行操作,产生两个相同的数据令牌x1和x2

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档