计算机系统结构多媒体教程课件_第八章 数据流计算机结构2
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求驱动方式
一个操作仅在需要用到其输出结果时才开始 启动。如果这时该操作由于操作数未到而不 能得到输出结果,则该操作再去启动能得到 它的各个输入数的操作,这样就把需求链一 直延伸下去,直至遇到常数或外部输入的数 据已经到达为止。然后再反方向地去执行。 由于该驱动方式只对需要用到其结果的操作 求值,也即只执行最低限度的求值,免除了 许多多余的计算,从总体而言,它的执行计 算量很小。归约机是基于该驱动方式。
基本原理
Hale Waihona Puke Baidu
传统的冯· 诺依曼计算机与数据流计算机的工作原理根本不同, 它是在中央控制器控制下顺序执行的。数据流计算机是在数 据的可用性控制下并行执行的。 数据流计算机里没有指令计数器,其指令执行靠数据记号 (数据令牌data token)的可用性来进行,也就是指令的执行由 数据来驱动,把控制流变为数据流。 数据流计算机里没有常规的变量概念,也就不存在共享数据 单元的问题。程序顺序性仅是指令部分内部数据相关性控制, 也就是只要当操作所需要的数据可用时,即启动指令执行 (异步性)和所有操作都具有函数性,即所有指令都可以任何 次序并发执行。 正是这些特性,数据流计算机可以使许多指令同时异步执行, 预计隐含的并行度是很高的。
指令格式(cont.)
数据令牌通常由结果值和目标地址等组成。 数据令牌的实质是一种表示某一操作数或参数 已准备就绪的标志。一旦执行某一操作的所有 操作数令牌到齐,则标志这一操作是什么操作, 以及操作结果所得出的数据令牌,将发送到哪 一些等待此数据令牌的操作的第几个操作数部 位等有关信息,都将作为一个消息包(message packet)传送到处理单元或操作部分予以执行。 这样的消息包也称为操作包.
复制节点
J.B.Dennis和J.E.Rumbaugh等提出用于数据流程 序图的各种符号(即节点),并规定相应操作 执行规则。 复制节点 :数据复制结点,数据令牌x经过复 制节点时执行操作,产生两个相同的数据令牌 x1 和x2。逻辑复制结点,其复制结点为空心圆 点,(数据复制结点为实心结点),控制令牌 x经复制产生两个相同的控制令牌x1和x2 。
指令的执行次序受指令计数器的控制, 这是冯· 诺依曼型的结构中的驱动方式。 这种结构的特点是“共享数据,串行执 行”,不利于对指令并行执行的支持。 但是,目前计算机领域仍然是这种驱动 方式为主。只是对其进行不同的修改和 完善。目的是增加并行处理能力。
数据驱动方式
只要程序中任一条指令所需的操作数已经齐备, 就可立即启动执行(点火)。一条指令的运算 结果又流向下一条指令,作为该指令的操作数 来驱动执行。 不存在指令计数器;指令启动执行的时机取决 于操作数具备与否;程序中各条指令的执行顺 序仅仅由指令间的数据依赖关系决定。 只要有足够多的处理单元,凡是相互间不存在 数据相关的指令都可以并行执行,充分利用了 指令级的并行性。
模式匹配驱动方式
计算的进行是由谓词模式匹配加以驱动的。 程序的执行主要受控于寻找谓词的匹配和度 量的归一操作,其中的谓词是代表客体之间 关系的一种字符串模式。 该驱动模式主要适合求解非数值的符号演算。 智能计算机就是基于该驱动模式。
数据流计算机的由来
冯· 诺依曼型计算机的基本特点是在程序计数器的 集中控制下顺序地执行指令,是以控制驱动方式工 作的。 为了设计高性能的计算机系统结构,其中一个方法 是突破冯· 诺依曼型的结构,采用数据驱动执行方 式而形成的数据流计算机。 美国MIT实验室的Jack Dennis 及其助手于1972年首 先提出了数据流模型,并证明由此而设计的数据流 计算机,其性能价格比高,较好的跟踪工艺技术进 步的速度,能较方便地在应用领域中进行可编程应 用。
指令格式
在数据流计算机中,一条指令包含两部分: • 操作包(operation packet ) • 数据令牌(data token)
指令格式(cont.)
• 操作包(或指令包─instruction cell)通常由操作 码、源操作数、后继指令地址组成。 • 又可以看成是由操作型和受处理单元影响的部分两 者组成。操作型包括操作码、有关常数的指示及常 数值、目标操作地址、本操作要求几个数据令牌的 标志等信息,这些信息一旦设定后就不再改变。受 处理单元影响的部分包括已经接收到的操作数值、 数据令牌已到的标志、正在等待的数据令牌等信息 。 • 操作包在存储器中将占据一定大小的空间。
基本原理(cont.)
数据流计算机当指令所需数据可用时,该指令即可执 行。这说明指令的操作不受其他控制的约束。任何一 条指令只要它所需要的数据齐全,且可用时都可以执 行。 数据流计算机中没有变量的概念,也不设置状态,在 指令间直接传送数据。因此操作结果不产生副作用, 不改变机器的状态。从而具有纯函数的特点。 对指令来说,摆脱了外界强加于它的控制。多条指令 在数据可用性驱动下同时并行执行; 它可以直接支持函数语言,不仅有利于开发程序中各 级的并发性,而且也有利于改善软件环境,提高软件 的生产力。
数据流程序图
数据流计算机的程序是用数据流语言编写的, 其机器语言也就是数据流程序图。数据流语言 主要目标是开发程序内隐含的并行性,便于程 序设计,自然表达程序中的并行性,以及运行 的高效率。 数据流语言是函数语言。在执行前需要翻译成 数据流图(机器语言级程序)。它执行的是所 谓点火原则:即一个操作可以点火前提是:它 的所有输入值全部到达,操作开始进行,将输 入值吃掉,产生输出数据。数据流是有向图, 节点对应操作符,弧是数据令牌迁移的指针。
计算机系统结构 -数据流计算机结构
四种驱动方式
为了提高计算机并行处理能力,可能突 破冯· 诺依曼型的结构,寻求有利于开发 高度并行功能的计算模型。 计算模型中不仅要考虑数据控制类型, 更要考虑驱动方式(即控制机制)。 控制驱动、数据驱动、需求驱动、模式 匹配驱动等四种驱动方式。
控制驱动方式