数据流计算机 百科内容来自于: 百度百科

在数据流计算机结构中以“数据驱动”方式启动指令的执行。按照这种方式,程序中任一条指令只要其所需的操作数已经全部齐备,且有可使用的计算资源就可立即启动执行(称为点火)。指令的运算结果又可作为下一条指令的操作数来驱动该指令的点火执行。这就是“数据驱动”的含义。在数据流计算机模型中不存在共享数据,一条指令执行后不送存储器保存,以供其他指令共享,而是直接流向需要该结果的指令,作为新的操作数供下一条指令使用,每个操作数经过指令的一次使用后便消失。

基本工作原理

数据流计算机中也不存在指令计数器。指令得以启动执行的时机取决于操作数具备与否。程序中各条指令的执行顺序仅仅由指令间的数据依赖关系决定。因此,数据流计算机中指令的执行是异步并发地进行的。在数据流程序中,由于“数据驱动”要求每条指令标明其运算结果的流向,也就是指向将本指令的运算结果作为操作数的那条目标指令。因此数据流程序中只有一条链路,即各条指令中指向目标指令的指针
在数据流计算机中,没有变量的概念,也不设置状态,在指令间直接传送数据,操作数直接以“令牌”(Token)或“数值”的记号传递而不是作为“地址”变量加以访问。因此操作结果不产生副作用,也不改变机器状态,从而具有纯函数的特点。所有数据流计算机通常与函数语言有密切的关系。
其他类型的数据流计算机
动态数据流计算机结构

动态数据流计算机结构

动态数据流计算机模型图

,在动态数据流计算机中,每个数据令牌都带有标号(令牌标号及其他特征信息),从而使数据流程图中的一条有向分支线上可同时传送(带不同标号)几个数据令牌,它不需要用控制令牌来确认指令间数据令牌的传送。而是采用一个专门硬件(匹配部件)对数据令牌中的标号进行符合比较并加以识别,匹配部件将标号加到数据令牌上并完成标号的匹配工作。
匹配部件将各个处理部件送来的结果数据令牌赋予相应的标号,并将流向同一指令的数据令牌进行匹配成对或成组,然后将它们送往更新/读出部件,当一条指令所要求的数据令牌都到齐后,就立即从指令存储器中取出这条指令,并把该指令与数据令牌中携带的操作数一起组成一个操作包形成一条可执行指令,送入可执行指令队列。如果指令所要求的数据令牌没有全部到齐(匹配失败),则把刚刚到达的数据令牌暂时存入匹配部件的缓冲存储器中,以供下次匹配时再使用。
从原理上分析,动态数据流计算机能更加充分地开发程序中的并行性,且中间结果不返回存储器,从而减少了操作开销。

动态数据流计算机结构

分为三大类,第一类是以Arvind为代表的网络结构型计算机,第二类是以Manchester为代表的环形结构计算机,第三类是以EDDY为代表的网状结构数据流计算机。下面仅介绍环形计算机的结构特点、工作原理、指令及数据令牌格式。
Manchester动态数据流计算机是环形结构计算机的典型代表,其结构框图如图8.2.13所示。它的五个功能部件按顺时针方向进行通信,组成一条环形流水线。数据令牌是主要的通信单位,令牌主要由操作数、标号及目标结点指针等部分组成。

处理部件

由15个PE组成,这些PE可并行地执行指令。它们可执行定点、浮点、数据转移及打标记等指令。每个PE都有输入缓冲器和输出缓冲器。
8×8开关网络可同时提供多条通路与外部交换信息。令牌队列可存放64K个数据令牌。 匹配部件按照令牌的特征值对令牌进行匹配,它内部有16K×97位的缓冲存储器。缓冲存储器有8组组相联存储器组成, 采用硬件散列技术来减少相联比较器的位数。 当从令牌队列中送来的数据令牌与匹配部件中已经存在的令牌相匹配(有相应的特征值)时,表示令牌中目标地址字段指示的指令为可执行指令,于是97位数据令牌和36位匹配特征值合在一起组成 133位的令牌组包送往结点存储器。如果从令牌队列送来的数据令牌不能与匹配部件中已经存放的令牌相匹配时,则把新送来的令牌暂时存入匹配部件的缓冲存储器中。
结点存储器按照匹配部件送来的令牌组包中给定的目标地址取出指令,并把令牌组包中携带的操作数代入指令中, 形成167位的执行包送往处理部件。
Manchester动态数据流计算机的指令与数据令牌格式见图8.2.14所示,编程采用高级数据流语言Lapse, 这是一个单赋值的程序设计语言。其中的语法规则与Pascal语言基本相同。 Lapse语言还可用一个语句描述整个数组的运算。

其他类型的数据流计算机

除上述静态和动态两种典型的数据流计算机之外,还有几种其他类型的数据流计算机。其中有的克服了典型数据流计算机某些方面的缺点,有的继承了传统计算机中已经证明行之有效的某些并行处理技术。因此,从某种意义上说,这些结构类型代表了目前数据流计算机的发展方向。譬如美国第一台实际可运行的数据流计算机DDM-1(Data Device Machine-1)采用树型结构。 其中每个单元可以连到一个祖先单元和最多9个子单元。 还有提高并行级别的(利用复合函数驱动)的数据流计算机同时采用多级并行(任务级、作业级、复合函数级、指令级多级驱动)的数据流计算机,同步与异步相结合的数据流计算机还有控制流和数据流相结合的计算机系统。

数据流计算机研究

Data Flow Computer
数据流计算机解决了传统计算机时钟偏移的问题,具有低功耗和高并行性等优点.本文介绍了数据流计算机的发展驱动、基本概率、设计方法、编程语言,以及现有的数据流计算机;最后展望了数据流计算机的研究方向和重点.数据流计算机虽然还没有得到实际应用,但具有很高的研究价值.
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定