计算机系统结构(第二版)尹朝庆主编-第7章_数据流计算机精选.ppt

计算机系统结构(第二版)尹朝庆主编-第7章_数据流计算机精选.ppt

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

第7章 数据流计算机 7.1 数据流计算机的基本原理 7.2 数据流程序图和数据流语言 7.3 数据流计算机结构 7.4 数据流计算机的性能评价及发展趋势 传统的冯·诺依曼(Von Neumann) 型计算机采用的是指令驱动方式,即在程序计数器的集中控制下顺序地执行指令以实现各种功能,因此属于控制流计算机。由于机器本质上的串行顺序处理工作机制,使其并行性的提高受到限制。为了设计高性能计算机的系统结构,其方法之一是突破冯·诺依曼型计算机的结构,采用数据驱动方式形成数据流计算机,从而实现大规模的并行处理。 7.1 数据流计算机的基本原理 7.1.1数据流计算机的驱动方式 数据流计算机是以数据驱动机制为基础,在数据可用性控制下并行执行指令。所谓数据驱动的数据流方式,指的是任何指令只要它所需要的数据准备就绪,这些指令就可并行地执行。执行的结果并不送往存储器保存起来,以供其他指令共享,而是直接流向所有需要该结果的指令,并作为这些指令的操作数,驱动这些指令的执行。 数据以数据令牌方式直接在指令之间传递。所谓数据令牌,是一种表示某一操作数或参数已准备就绪的标志。由于操作结果不改变机器状态,从而具有纯函数的特点。这种机器需要有专门的机构来检测数据可用性,将数据令牌和缺乏数据的指令进行匹配,同时使指令执行的异步链接作用得以实现。 对于表达式 a=(b+2)﹡(b-c) 串行控制驱动方式的处理过程如图7.1所示。操作按事先指定的指令执行序列顺序进行,主要受PC控制。 图7.2所示为并行控制驱动方式的处理过程。使用FORK语句结构派生出并行任务,使i1和i2 两者并行执行,然后用JOIN语句结构对它们进行同步。对存储器中的数据访问与图7.1中相同。 在数据驱动方式中,操作按数据相关和资源可用性所确定的序列来进行。当一条指令所需的操作数(数据令牌)全部到达,且有可用的计算资源时,便可进行计算,过程如图7.3所示。 数据流计算机还有另一种以需求驱动机制为基础的归约计算机。它的操作是由对一个操作结果的需求而启动的。即当一些计算需要用到一种操作的结果时,归约机制就启动这种操作。 数据驱动具有以下特性。 异步性(Asynchrony)。 并行性(Parallelism)。 函数性(Functionalism)。 局部性(Locality)。 7.1.2 数据流计算机的指令结构 数据流计算机的指令结构如图7.4所示 数据流计算机不需要像传统计算机那样用程序计数器控制指令的执行顺序,也不需要通过访问共享存储器来实现指令之间的数据传送。它通过在需要数据的指令之间传送数据令牌来实现指令之间传送数据和激活指令执行,程序的执行过程主要受到指令之间数据相关性的限制。 另外,数据流计算机允许多个操作包和多个数据令牌同时在各个操作部件之间传送,允许多条指令并行执行。为此,数据流计算机需要有一套能够并行执行多条指令的操作部件和高效的操作包与数据令牌的传送机构。 7.2 数据流程序图和数据流语言 7.2.1 数据流程序图 数据流程序图是一种用来表示数据流计算机指令级的数据流程序的有向图,它是由多个结点和一些连接这些结点的单向弧线组成。 数据流程序图中的每个结点是一个用圆圈 、三角形或其他图形表示的处理部件。结点内的符号或字母表示某种操作,故称为操作符。单向弧线表示数据令牌在结点间的流向。 1. 数据流程序图的操作结点 (1)常数产生结点 如图7.5(a)所示,它没有输入端,只有一个输出端,其功能是产生常数。结点操作激发执行后输出携带指定常数的数据令牌。 (2)复制操作结点 如图7.5(b)所示,复制结点分为两种,一种是数据复制结点,实现数据的多个复制,数据端以实箭头表示;另一种是控制复制结点,实现控制量的多个复制,控制端以空心箭头表示。复制操作结点有时也称连接操作结点,图7.5(c)所示分别为数据连接结点和控制连接结点以及激发执行的结果。 (3)运算操作结点 运算操作结点用圆圈表示,圈中有相应的操作符。主要的运算操作包括加、减、乘、除、加1、减1、乘方、开方等算术运算以及与、或、非、异或、或非等布尔逻辑运算。激发执行后输出带有相应操作结果的令牌。 (4)判断操作结点 如图7.5(d)所示,判断操作结点用一个菱形表示,它有若干个数据输入端和一个控制输出端。结点对输入数据按某种关系进行判断和比较,如果条件满足,将在输出端产生T(Ture)的控制令牌,否则便产生F(False)的控制令牌。 (5)控制操作结点 控制操作结点的激发条件需要加入布尔控制端,用来控制数据令牌的传送时刻。控制操作结点有四种,如图7.6所示。 T门结点:仅当布尔控制端为真,且输入端有数据令牌时才能激发执行,执行结果是将输入端的数据令牌

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档