数据驱动的数据流方式
指的是,只要一条或一组指令所要求的操作数全部准备就绪,就可以立即激发相应的指令或指令组执行。执行结果的输出将送往等待这一数据的下一条或下一组指令。(选、填)
控制流方式与数据流方式的比较(答)
-
控制驱动的控制流方式的特点是
通过访问共享存储单元让数据在指令之间传递;指令执行的顺序性隐含于控制流中,但却可以显示地使用专门的控制操作符来实现并行处理;指令执行的顺序受程序计数器控制,也就是受控制令牌多支配的。
-
数据驱动的数据流方式
它没有通常的共享变量的概念,即没有共享内存存储数据的概念,指令执行顺序只受指令中数据相关的制约;数据是以数据令牌方式直接在指令之间传递的。
数据流是基于异步性和函数性的一种计算模型。(填)
所谓异步性,是指一旦操作数到齐就开始操作,这是数据流计算机开拓并行性的基础。(填)
所谓函数性,是指每一数据流操作都是消耗一组输入值,产生一组输出值而不发生副作用,具有变量出现在赋值语句左边仅一次的单赋值特性,从而保证任何两个操作可以按任意次序执行,而不会相互干扰。(填)
为了满足数据流计算机程序设计的需要,还需要进一步引入许多常用的其他结点。这些结点可以分别表示如下(答)
- 常数产生结点:没有输入端,只产生常数。激发后输出带常数的令牌。
- 算逻运算操作结点:主要包括常用的+、-、*、/、乘方、开方等算术运算及非、与、或、异或、或非等布尔逻辑运算。激发后输出带相应操作结果的令牌。
- 复制操作结点:可以是数据的多个复制,也可以是控制量的多个复制。
- 判定操作结点:对输入数据按某种关系进行判断和比较,激发后在输出控制端给出带逻辑真(T)或假(F)的控制令牌。
- 控制类操作结点:控制类操作结点的激发条件需要加到布尔控制端,可以把控制类操作结点细分为常用的4种:T门控结点、F门控结点、开关门控结点和归并门控结点。
根据对数据令牌处理的方式不同,可以把数据流计算机的结构分成静态和动态两类。(选、答)
-
静态数据流计算机。
任意时刻,任何一条输入弧上只能有一个数据令牌,当结点的输入弧上都有数据令牌时,结点才能被激活来执行相应操作。由于数据令牌没有加标号,在同一时间如果允许一条弧出现两个数据令牌,送达输入端的一批数据就会出现无法区分是属于哪一批的。因此静态数据流计算机需要设置控制令牌来识别和区分。
-
动态数据流计算机。
主要特点是让令牌带上标记,任意时刻,数据流的任何一条弧都是带不同标记的令牌,因此不需要像静态数据流计算机那样使用控制令牌。对于需要多组数据令牌的指令,可以通过对令牌标记的配对来识别。
数据流计算机存在的问题(答)
- 数据流计算机的主要目的是为了提高操作级并行的并发水平,但如果题目本身数据相关性很强,内涵并行性成分不多时,就会使效率反而比传统的 Von Neumann 型机的还要低。
- 在数据流计算机中为给数据建立、识别、处理标记、需要花费较多的辅助开销和较大的存储空间。但如果不用标记,则无法递归并会降低并行能力。
- 数据流计算机不保存数组。
- 数据流语言的变量代表数值,而不是存储单元的设置,是程序员无法控制存储分配。
- 数据流计算机互联网设计困难,输入/输出系统仍不够完善。
- 数据流计算机没有程序计数器,给诊断和维护带来了困难。
规约机
规约机和数据流计算机一样,都是基于数据流的计算模型,只是其采用的驱动方式不同。(选、填)
数据流计算机采用数据驱动,执行的操作序列取决于输入数据的可用性;(选、填)
规约机则是需求驱动,执行的操作序列取决于对数据的需求,对数据的需求又来源于函数式程序设计语言对表达式的规约。(选、填)
规约机的特点如下(选、答)
- 规约机应当是面向函数式的语言,或以函数式语言为机器的非 Nenumann 型机器,其内部结构应不同于 Nenuman 型机器。
- 具有大容量物理存储器采用大虚存容量的虚拟存储器,具有高效的动态存储分配和管理的软、硬件支持,满足规约机对动态存储分配及所需存储空间大的需求。
- 处理部分应当是一种有多个处理器或多个处理机并行的结构形式,以发挥函数式程序并行处理的特长。
- 采用适合于函数式程序运行的多处理器互连的结构,最好采用树形方式的互连结构或多层次复合的互连结构形式。
- 为减少进程调度及进程间的通信开销,尽量把运行进程的结点机紧靠该进程所需用的数据安排,并使运行时需相互通信的进程所占用的处理机也靠近,让各处理机的负荷平衡。
根据计算机所用规约方式的不同,相应就有串规约机和图规约机两类(选、答)
-
串规约机可看成是一种特殊的符号串处理机,函数定义、表达式和目标都以字符串的形式存储于计算机中。函数式语言源程序可以不经翻译,直接在串规约机上进行处理
-
图规约机采取函数定义,表达式和目标使以图的形式存储于计算机中,图是其处理对象。最常用的图是二叉树和N 叉树。