王朝百科
分享
 
 
 

数据流计算机

王朝百科·作者佚名  2010-03-15  
宽屏版  字体: |||超大  

数据流计算机

数据流计算机工作原理

基本工作原理在数据流计算机结构中以“数据驱动”方式启动指令的执行。按照这种方式,程序中任一条指令只要其所需的操作数已经全部齐备,且有可使用的计算资源就可立即启动执行(称为点火)。指令的运算结果又可作为下一条指令的操作数来驱动该指令的点火执行。这就是“数据驱动”的含义。

在数据流计算机模型中不存在共享数据,一条指令执行后不送存储器保存,以供其他指令共享,而是直接流向需要该结果的指令,作为新的操作数供下一条指令使用,每个操作数经过指令的一次使用后便消失。如果若干条指令要求使用相同的数据,那么就需要事先复制该数据的若干个副本,分别供多条指令使用。

数据流计算机中也不存在指令计数器。指令得以启动执行的时机取决于操作数具备与否。程序中各条指令的执行顺序仅仅由指令间的数据依赖关系决定。因此,数据流计算机中指令的执行是异步并发地进行的。在数据流程序中,由于“数据驱动”要求每条指令标明其运算结果的流向,也就是指向将本指令的运算结果作为操作数的那条目标指令。因此数据流程序中只有一条链路,即各条指令中指向目标指令的指针。

在数据流计算机中,没有变量的概念,也不设置状态,在指令间直接传送数据, 操作数直接以“令牌”(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个子单元。 还有提高并行级别的(利用复合函数驱动)的数据流计算机同时采用多级并行(任务级、作业级、复合函数级、指令级多级驱动)的数据流计算机,同步与异步相结合的数据流计算机还有控制流和数据流相结合的计算机系统。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
中国古代四大美女:背后隐藏惊人秘密
 女性   2025-06-20
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有