数据流计算机与归约机
数据流计算机与归约机
简答题
简述数据流计算机存在的问题。1710 1510 ** **
简述控制驱动的控制流方式和数据驱动的数据流方式的特点。1704
简述规约机的特点 1904 1410
数据流计算机
数据驱动的概念
指令和数据之间存在着各种相关以及操作控制的复杂化,都大大限制了控制流方式工作中计算并行性的开发。因此,开发并行性的另一种途径是完全摆脱 Von Neumann 型的程序计数器控制驱动的控制流方式,改用数据驱动的数据流方式来工作。
数据驱动的数据流方式指的是,只要一条或一组指令所要求的操作数全部准备就绪,就可以立即激发相应的指令或指令组执行。执行结果的输出将送往等待这一数据的下一条或下一组指令。如果其中一些指令因此而使所需用到的数据全部准备就绪,就可以被激发执行。因此,在这种计算机上不需要程序计数器。指令的执行基本上是无序的,完全受数据流的驱动,与指令在程序中出现的先后顺序无关。
控制驱动的控制流方式的特点是:通过访问共享存储单元让数据在指令之间传递;指令执行的顺序性隐含于控制流中,但却可以显式地使用专门的控制操作符来实现并行处理;指令执行的顺序受程序计数器控制,也就是受控制令牌所支配的。数据驱动的数据流方式则不同,它没有共享变量的概念,即没有共享存储数据的概念;指令执行顺序只受指令中数据相关性的制约;数据是以数据令牌方式直接在指令之间传递的。
上述的数据驱动计算只是数据流计算模型中的一种,还有另一种叫做需求驱动计算模型。
数据驱动计算,其操作是按输人数据可用性决定的次序进行的,采取的是提前求值的策略。 ^
需求驱动计算,其操作是按数据需求所决定的次序进行,采取的是滞后求值的策略。 ^
从语义上讲,数据流是基于异步性和函数性的一种计算模型。
所谓异步性,是指一旦操作数到齐就开始操作,这是数据流计算机开拓并行性的基础。
所谓函数性,是指每一数据流操作都是消耗一组输入值,产生一组输出值而不发生副作用,具有变量出现在赋值语句左边仅一次的单赋值特性,从而保证任何两个并发操作可以按任意次序执行,而不会相互干扰。
问:什么叫控制驱动、数据驱动、需求驱动?
答:
问:控制驱动的控制流方式和数据驱动的数据流方式的特点 ^
答:从数据传递方式和指令执行限制谈
- 控制驱动的控制流方式的特点:
- ① 指令间的数据传递是通过访问共享存储单元实现的,有共享变量的概念;
- ② 指令执行受制于程序计数器。
- 数据驱动的数据流方式的特点:
- ① 指令间的数据传递是通过数据令牌实现的,无共享变量的概念;
- ② 指令执行受制于数据相关性;
数据流程序图和语言 **
详见:《计算机系统结构(2012版)》/李学干/p272
数据流计算的结构
根据对数据令牌处理的方式不同,可以把数据流计算机的结构分成静态和动态两类。 ^
问:静态数据流和动态数据流的区别? ^
答:静的数据令牌未加标记,不支持递归的并发激活,只能支持一般的循环;动的数据令牌带有标记,支持递归的并发激活。
数据流计算机的问题
问:数据流计算机存在的问题 ^
答:从 效率 / 开销 / 控制 / 设计 / 维护 上谈其问题。
- 效率上,数据相关性强,内涵并行性少时,其效率比冯诺依曼型机器低;
- 开销上,处理数据要花费较多的辅助开销和较大的存储空间;不能保存数组。处理大型组时,会增加额外的传输开销。
- 控制上,变量即为值的特性使得程序员无法控制存储分配;
- 设计上,互连网络设计困难,输入/输出系统不完善;
- 维护上,没有程序计数器,诊断和维护困难。
数据流计算机的发展 ·
详见:《计算机系统结构(2012版)》/李学干/p276
归约机
问:简述归约机的驱动方式、工作原理、结构特点以及两种构型 ^
答:
【驱动方式】需求驱动。
【工作原理】在归约机中,对数据的需求又来源于函数式程序设计语言对表达式的归约。
【结构特点】采用面向函数式语言;采用多处理机并行、互连的构形;采用大容量物理存储器和虚拟存储器 ,动态存储分配高效;数据向结点机、处理机靠拢。
【两种构型】归约机有串归约和图归约两种构型。