第八章 数据流计算机结构
计算机系统结构论文--数据流计算机

计算机系统结构论文--数据流计算机计算机系统结构论文数据流计算机在计算机科学的领域中,计算机系统结构的研究一直是推动技术发展的关键因素之一。
其中,数据流计算机作为一种独特的计算模型,具有其独特的特点和优势,为解决传统计算模式中的一些问题提供了新的思路和方法。
数据流计算机的基本概念源于对传统冯·诺依曼计算机体系结构的反思。
在传统计算机中,程序的执行顺序是由控制流决定的,即按照预先设定的指令顺序依次执行。
然而,数据流计算机则是以数据驱动的方式工作,数据的可用性决定了操作的执行,而非固定的指令顺序。
这种数据驱动的特性带来了许多显著的优点。
首先,数据流计算机能够实现高度的并行性。
由于操作的执行取决于数据的准备情况,而不是严格的顺序控制,因此多个操作可以在同一时间内并发执行,只要它们所需的数据已经就绪。
这极大地提高了计算机的处理能力,尤其是在处理大规模数据和复杂计算任务时,可以显著缩短计算时间。
其次,数据流计算机对于指令级并行的挖掘更加高效。
在传统计算机中,由于指令之间的依赖关系和控制流的限制,很难充分利用硬件资源来实现并行执行。
而在数据流计算机中,这些限制被打破,指令之间可以更加灵活地并行执行,从而充分发挥硬件的性能。
再者,数据流计算机在处理具有不规则数据依赖关系的应用时表现出色。
例如在人工智能中的一些算法,数据之间的依赖关系并非简单的线性或固定模式,数据流计算机能够更好地适应这种复杂的情况,提高计算效率。
然而,数据流计算机也面临着一些挑战和限制。
首先是硬件实现的复杂性。
为了支持数据驱动的执行方式,硬件需要具备高效的数据流向控制和资源分配机制,这增加了硬件设计的难度和成本。
其次,程序设计和调试的难度也相对较大。
由于数据流计算机的执行方式与传统计算机有很大的不同,程序员需要采用新的思维方式来设计和优化程序,这对于习惯了传统编程模式的开发者来说是一个不小的挑战。
此外,数据流计算机对于数据的缓存和存储管理也提出了更高的要求。
02325计算机系统结构

02325计算机系统结构计算机系统结构第1章计算机系统结构的基本概念1.1计算机系统的多级层次结构计算机系统的多级层次结构 1.2计算机系统结构、组成与实现1.2.1结构、组成、实现的定义与内涵内涵1.2.2计算机系统结构、组成和实现三者的相互影响现三者的相互影响1.3软硬件取舍与计算机系统设计思路思路1.3.1软硬件取舍的基本原则软硬件取舍的基本原则1.3.2计算机系统的设计思路计算机系统的设计思路1.4结构设计要解决好软件的可移植性植性1.4.1统一高级语言统一高级语言1.4.2采用系列机采用系列机1.4.3模拟与仿真模拟与仿真1.5应用与器件的发展对系统结构的影响的影响1.5.1应用的发展对系统结构的影响1.5.2器件的发展对系统结构的影响1.6系统结构中的并行性发展及计算机系统的分类算机系统的分类1.6.1并行性概念并行性概念1.6.2并行处理系统的结构与多机系统的耦合度系统的耦合度1.6.3计算机系统的分类计算机系统的分类第2章数据表示与指令系统章数据表示与指令系统2.1数据表示数据表示2.1.1数据表示与数据结构数据表示与数据结构2.1.2高级数据表示高级数据表示2.1.3引入数据表示的原则引入数据表示的原则2.1.4浮点数尾数基值大小和下溢处理方法的选择处理方法的选择2.2寻址方式寻址方式2.2.1寻址方式分析寻址方式分析2.2.2逻辑地址与主存物理地址逻辑地址与主存物理地址 2.3指令格式的优化设计指令格式的优化设计2.3.1操作码的优化操作码的优化2.3.2指令字格式的优化指令字格式的优化2.4按CISC方向发展与改进指令系统系统2.4.1面向目标程序优化实现改进2.4.2面向高级语言优化实现改进2.4.3面向操作系统优化实现改进2.5按RISC方向发展与改进指令系统系统2.5.1 RISC的提出的提出2.5.2设计RISC的原则的原则2.5.3设计RISC结构用的基本技术2.5.4 RISC技术的发展技术的发展第3章总线、中断与输入输出系统中断与输入输出系统 3.1输入输出系统的基本概念输入输出系统的基本概念3.2总线设计总线设计3.2.1总线的类型总线的类型3.2.2总线的控制方式总线的控制方式3.2.3总线的通讯技术总线的通讯技术3.2.4数据宽度与总线线数数据宽度与总线线数3.3中断系统中断系统3.3.1中断的分类和分级中断的分类和分级3.3.2中断系统的软硬件功能分配3.4通道处理机通道处理机 3.4.1工作原理工作原理3.4.2通道流量的分析通道流量的分析第4章存储体系章存储体系4.1存储体系概念与并行主存系统4.1.1发展存储体系的必要性发展存储体系的必要性4.1.2并行主存系统频宽的分析并行主存系统频宽的分析4.1.3存储体系的形成与分支存储体系的形成与分支4.1.4存储体系的性能参数存储体系的性能参数4.2虚拟存储器虚拟存储器4.2.1不同的虚拟存储管理方式不同的虚拟存储管理方式4.2.2页式虚拟存储器的构成页式虚拟存储器的构成4.2.3页式虚拟存储器实现中的问题4.3高速缓冲高速缓冲(Cache)(Cache)(Cache)存储器存储器存储器4.3.1基本结构基本结构4.3.2地址的映象与变换地址的映象与变换4.3.3替换算法的实现替换算法的实现4.3.4 Cache存储器的透明性及性能分析性能分析第5章重叠、流水和向量处理机章重叠、流水和向量处理机5.1重叠方式重叠方式5.1.1基本思想和一次重叠基本思想和一次重叠5.1.2相关处理相关处理5.2流水方式流水方式5.2.1基本概念基本概念5.2.2流水线处理机的主要性能流水线处理机的主要性能5.2.3流水机器的相关处理和控制机构机构5.3向量的流水处理与向量流水处理机理机5.3.1向量的流水处理向量的流水处理5.3.2向量流水处理机向量流水处理机5.4指令级高度并行的超级处理机5.4.1超标量处理机超标量处理机5.4.2超长指令字超长指令字(VLIW)(VLIW)(VLIW)处理机处理机处理机5.4.3超流水线处理机超流水线处理机第6章阵列处理机章阵列处理机6.1阵列处理机原理阵列处理机原理6.1.1阵列处理机的基本构形阵列处理机的基本构形6.1.2阵列处理机的特点阵列处理机的特点6.2阵列处理机的并行算法阵列处理机的并行算法6.2.1 ILLIACⅣ的处理单元阵列结构结构6.2.2阵列处理机的并行算法举例6.3 SIMD计算机的互连网络计算机的互连网络6.3.1互连网络的设计目标及互连函数函数6.3.2基本的单级互连网络基本的单级互连网络6.3.3多级互连网络多级互连网络6.4并行存储器的无冲突访问并行存储器的无冲突访问6.5并行处理机举例并行处理机举例6.5.1 MPP位平面阵列处理机位平面阵列处理机6.5.2 CM连接机连接机第7章多处理机章多处理机7.1多处理机的特点及主要技术问题7.2多处理机的硬件结构多处理机的硬件结构7.2.1紧耦合和松耦合紧耦合和松耦合7.2.2机间互连形式机间互连形式7.3程序并行性程序并行性7.3.1并行算法并行算法7.3.2程序并行性的分析程序并行性的分析7.3.3并行程序设计语言并行程序设计语言7.4多处理机的性能多处理机的性能7.4.1任务粒度与系统性能任务粒度与系统性能7.4.2性能模型与分析性能模型与分析7.5多处理机的操作系统多处理机的操作系统7.5.1主从型操作系统主从型操作系统7.5.2各自独立型操作系统各自独立型操作系统7.5.3浮动型操作系统浮动型操作系统第8章其它计算机结构章其它计算机结构8.1脉动阵列机脉动阵列机8.1.1脉动阵列结构的原理和特点8.1.2通用的脉动阵列结构通用的脉动阵列结构8.2大规模并行处理机MPP与机群系统系统8.2.1大规模并行处理机MPP8.2.2机群系统机群系统8.3数据流机数据流机8.3.1数据驱动的概念数据驱动的概念8.3.2数据流程序图和语言数据流程序图和语言8.3.3数据流计算机的结构数据流计算机的结构8.3.4数据流机器存在的问题数据流机器存在的问题8.4归约机归约机8.5智能机智能机8.5.1智能信息处理与智能机智能信息处理与智能机8.5.2智能机的结构和机器语言智能机的结构和机器语言★翻译和解释的区别和联系?区别:区别:翻译是整个程序转换,翻译是整个程序转换,翻译是整个程序转换,解释解释是低级机器的一串语句仿真高级机器的一条语句。
冯诺依曼结构和数据流结构

冯诺依曼结构和数据流结构
冯·诺依曼结构(Von Neumann architecture)和数据流结构是计算机体系结构的两种不同的设计范式。
1.冯·诺依曼结构:
•特点:冯·诺依曼结构是一种经典的计算机体系结构,最早由匈牙利数学家和计算机科学家冯·诺依曼提出。
它的
主要特点是将计算机的存储器和处理器分开,程序和数据
存储在同一存储器中,以指令序列的形式存储。
•组成部分:冯·诺依曼结构包括一个中央处理器(CPU)、存储器(内存)、输入设备和输出设备。
程序被存储在存
储器中,由控制单元从存储器中提取指令,并通过运算单
元执行这些指令。
2.数据流结构:
•特点:数据流结构是一种不同于冯·诺依曼结构的计算机体系结构,它的设计理念更强调数据的流动。
在数据流结
构中,计算是通过数据流动而不是显式的指令序列来实现
的。
•组成部分:数据流计算机包括数据流图、处理节点和数据存储。
计算是通过将数据从一个节点传递到另一个节点
来完成的,而不是通过指令的顺序执行。
数据流计算机通
常更适合并行计算。
总体而言,冯·诺依曼结构更为传统和广泛应用,而数据流结构则
更注重并行计算和数据流动。
选择使用哪种结构取决于计算任务的性质和要求。
自考《计算机系统结构》问答题总结(8)

第⼋章 1、什么脉动阵列机,其结构特点是什么? 它是具有脉动阵列结构的处理机。
脉动阵列结构由⼀些处理单元加上若⼲锁存器构成。
阵列内所有处理单元的数据锁存器受同⼀时钟控制,运算时数据在阵列结构的各个处理单元之间沿着各⾃的⽅向同步前进。
就象⾎管液流⼀样,称为脉动阵列机。
脉动阵列机的结构优点是: (1)结构简单,规则,模块化强,可扩充性好; (2)处理单元间数据通信距离短,规则,使数据流和控制流的设计,同步控制均简单规整; (3)脉动阵列机中各处理单元同时运算,并⾏性极⾼,可通过流⽔获得很⾼的吞吐率; (4)输⼊数据被多个处理单元重复使⽤,减轻阵列与外界I/O通信量,降低系统对主存和I/O系统频宽的要求。
脉动阵列机的缺点是:其构形与特定任务和算法密切相关,具有专⽤性,限制了应⽤范围。
2、什么是控制流⼯作⽅式?什么是数据流⼯作⽅式?对两者进⾏⽐较。
控制流⼯作⽅式是指计算机在程序计数器集中控制下,顺次执⾏指令。
数据流⼯作⽅式是只要⼀条或⼀组指令所要求的操作数全部准备就绪,就可⽴即激发相应的指令或指令组执⾏,执⾏的结果⼜可能激发等待该执⾏结果的⼀些指令。
下⾯对两者进⾏⽐较。
控制流⽅式:通过访问共享存储单元让数据在指令间流动;指令执⾏顺序隐含在控制流中,受程序计数器控制;专门使⽤控制操作符来实现并⾏处理;有程序计数器;有数组。
数据流⽅式:没有共享存储数据的概念,是数据的显式流动(数据令牌);受数据相关性的制约,基本上⽆序;不需要检查和定义程序中的并⾏性;⽆程序计数器;⽆数组。
3、试简述数据流机的特点 对提⾼并发处理效能⾮常有利。
(1)对强相关性的程序,数据流机的效能反⽽⽐传统控制流机效率还低; (2)在数据流机中为建⽴、识别、处理数据令牌标记,需时间和空间开销; (3)数据流机不保存数据组,对数组、递归等⾼级操作较难管理; (4)数据流机中变量代表数值不代表存储单元,所以程序员⽆法控制存储分配; (5)数据流机中互连络设计困难,I/O系统也不完善; (6)数据流机中没有程序计数器,使诊断和维护较难。
系统结构 09 - 数据流计算机系统结构

第9章 数据流计算机系统结构
图9.1 数据流计算机中的操作包和数据令牌
第9章 数据流计算机系统结构
例9.1 数据流计算机和控制流计算机的比较。如图9.2
(a)的数据流图表示有24条指令要运行(8条除法、8条乘 法和8条加法)。假定每次加、乘和除分别需要1、2和3个 周期完成操作。
(a) 示例程序及数据流图
第9章 数据流计算机系统结构
第9章 数据流计算机系统结构
9.1 程序流机制 9.2 计算机模型分类 9.3 数据流程序图和数据流语言 9.4 数据流机的基本结构 习题9
第9章 数据流计算机系统结构
9.1 程序流机制
9.1.1 控制流和数据流
传统的Von Neumann计算机用程序计数器PC(Program Counter)确 定程序中指令执行的顺序,PC由程序中的指令流来定序。这种顺序运行方 式,因程序流为程序员显式控制,故被称为控制驱动。
(d) 共享存储器的4台处理机系统用14个周期完成并执行
图9.2 数据流计算机和控制流计算机之间的比较
第9章 数据流计算机系统结构
input d,e,f c0=0 for i from 1 to 8 do begin ai=diei bi=ai*fi ci=bi+ci-1 end output a,b,c
计算机组成原理课后答案(第二版)_唐朔飞_第八章

t
26. 设某机配有A、B、C三台设备, 其优先级按A→B→C降序排列,为改 变中断处理次序,它们的中断屏蔽字 设置如下:
设备 A B C 屏蔽字 111 010 011
请按下图所示时间轴给出的设备 请求中断的时刻,画出CPU执行程序 的轨迹。设A、B、C中断服务程序的 执行时间均为20s。
向量编码器——向量中断时,用 来产生向量地址; 中断允许触发器(EINT)—— CPU中的中断总开关,完成开、关中 断状态的设置; 中断标记触发器(INT)——用来 建立中断周期状态。INT=1,表示进 入中断周期,即开始执行中断隐指令; 中断屏蔽触发器——对于可屏蔽 的中断源进行开、关中断操作,可视 为各中断源的中断分开关; 采用程序中断技术时,指令系统 中往往有相关指令支持。常见的指令 有:开中断、关中断、中断返回等。
17. 在中断系统中,INTR、INT、 EINT这三个触发器各有何作用? 解:INTR——中断请求触发器,用 来登记中断源发出的随机性中断请求信号, 以便为CPU查询中断及中断排队判优线路 提供稳定的中断请求信号; EINT——中断允许触发器,CPU中 的中断总开关。当EINT=1时,表示允许 中断(开中断),当EINT=0时,表示禁 止中断(关中断)。其状态可由开、关中 断等指令设置; INT——中断标记触发器,控制器时 序系统中周期状态分配电路的一部分,表 示中断周期标记。当INT=1时,进入中断 周期,执行中断隐指令的操作。
4. 设CPU内有下列部件:PC、IR、 SP、AC、MAR、MDR和CU,要求: (1)画出完成间接寻址的取数指 令LDA@X(将主存某地址单元X的内 容取至AC中)的数据流(从取指令开 始)。 (2)画出中断周期的数据流。 解:CPU中的数据流向与所采用 的数据通路结构直接相关,不同的数 据通路中的数据流是不一样的。常用 的数据通路结构方式有直接连线、单 总线、双总线、三总线等形式,目前 大多采用总线结构,直接连线方式仅 适用于结构特别简单的机器中。
计算机系统结构(第2版(课后习题答案

word 文档下载后可自由复制编辑你计算机系统结构清华第 2 版习题解答word 文档下载后可自由复制编辑1 目录1.1 第一章(P33)1.7-1.9 (透明性概念),1.12-1.18 (Amdahl定律),1.19、1.21 、1.24 (CPI/MIPS)1.2 第二章(P124)2.3 、2.5 、2.6 (浮点数性能),2.13 、2.15 (指令编码)1.3 第三章(P202)3.3 (存储层次性能), 3.5 (并行主存系统),3.15-3.15 加 1 题(堆栈模拟),3.19 中(3)(4)(6)(8)问(地址映象/ 替换算法-- 实存状况图)word 文档下载后可自由复制编辑1.4 第四章(P250)4.5 (中断屏蔽字表/中断过程示意图),4.8 (通道流量计算/通道时间图)1.5 第五章(P343)5.9 (流水线性能/ 时空图),5.15 (2种调度算法)1.6 第六章(P391)6.6 (向量流水时间计算),6.10 (Amdahl定律/MFLOPS)1.7 第七章(P446)7.3 、7.29(互连函数计算),7.6-7.14 (互连网性质),7.4 、7.5 、7.26(多级网寻径算法),word 文档下载后可自由复制编辑7.27 (寻径/ 选播算法)1.8 第八章(P498)8.12 ( SISD/SIMD 算法)1.9 第九章(P562)9.18 ( SISD/多功能部件/SIMD/MIMD 算法)(注:每章可选1-2 个主要知识点,每个知识点可只选 1 题。
有下划线者为推荐的主要知识点。
)word 文档 下载后可自由复制编辑2 例 , 习题2.1 第一章 (P33)例 1.1,p10假设将某系统的某一部件的处理速度加快到 10倍 ,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知: Fe=0.4, Se=10,根据 Amdahl 定律S n To T n1 (1Fe )S n 1 10.6 0.4100.64 Fe Se 1.56word 文档 下载后可自由复制编辑例 1.2,p10采用哪种实现技术来求浮点数平方根 FPSQR 的操作对系统的性能影响较大。
数据流计算机——一种新型的计算机系统结构模型

从 14 9 6年 第 一 台 电 子 计 算 机 问 世 至 今 , 算 机 的 发 展 计
线 ), 数 据 流 程 序 ( 中 , 有 一 条 链 路 , 是 本 指 令 的 运 算 而 b) 只 就 结 果指 向需要 它作 为操 作 数 的那条 指 令 .
示 见 图 2:
下 面 就 以 实 例 来 说 明 传 统 诺 依 曼 机 与 数 据 流 机 在 程 序
运 行 上 的 区别 : 如 , 算 C = ( — y + Z)*3 其 中 n= 例 计 X
—
Y, =n+ 6
. = b *3 f
从 图 1中 可 以 很 明 屁 的 看 出 , 令 控 制 流 程 序 ( ) 有 指 a中
( . 北师 范大学 物理 学院 , 1河 河北 石 家庄 0 0 1 2 河 北 师 范 大 学 传 播 学 院 , 北 石 家庄 5 0 6; . 河 0 09 ) 5 0 1
摘 要 : 绍 了 数 据 流 机 的 数 据 驱 动 特 征 、 据 流 程 图 、 据 流 程 序 设 计 语 言 以 及 其 特 殊 的 系 统 结 构 , 期 更 介 数 数 以 多的人 了解非 冯 ・ 依 曼结构 计算机 的发展 及未 来 计算机 系 统结构 发 展 的方 向. 诺 关 键 词 : 依 曼 计 算 机 ; 据 流 计 算 机 ; 算 机 系 统 结 构 诺 数 计
的 存 储 器 进 行 传 递 , 是 通 过 一 种 表 示 操 作 数 或 参 数 已 经 准 而 备 就 绪 的 标 志 — — 数 据 令 牌 来 实 现 传 递 的 , 据 直 接 传 送 到 数
享 用 该 数 据 的 有 关 指 令 的 操 作 中 去 ; 次 , 是 数 据 驱 动 方 其 它 式 启 动 指 令 的 执 行 , 要 某 条 指 令 所 需 的 操 作 数 已就 绪 并 已 只 可 用 , 可 以 执 行 , 就 是 说 数 据 流 计 算 机 中 程 序 不 存 在 固 就 也 定 的顺 序 , 行 次序 仅 仅 由指令 问 的数 据相关 性决 定 . 此 . 执 因 只 要 有 足 够 多 的 处 理 单 元 , 可 以 充 分 地 实 现 程 序 固 有 的 并 就 行 性 成 分 , 并 行 处 理 得 以 更 高 度 的 发 展 .1 使 【
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令格式(cont.)
数据令牌通常由结果值和目标地址等组成。 数据令牌的实质是一种表示某一操作数或参数 已准备就绪的标志。一旦执行某一操作的所有 操作数令牌到齐,则标志这一操作是什么操作, 以及操作结果所得出的数据令牌,将发送到哪 一些等待此数据令牌的操作的第几个操作数部 位等有关信息,都将作为一个消息包(message packet)传送到处理单元或操作部分予以执行。 这样的消息包也称为操作包.
条件分支节点(cont.)
开关分支结点用椭圆表示。开关分支解带你操 作执行规则:当输入分支线上出现数据令牌X 时,若控制输入分支线上令牌是真值(true),且 T输出线上无数据令牌时,该结点执行结果是 把X送到T输出线上。 相反,如控制令牌是假值(false),且F输出线上 无数据令牌,该结点执行结果是把X送到F输出 线上。
数据流语言性质(cont.)
(4) 结果的局部性:在数据流计算机的指 令中,没有长远起作用的数据依赖关系, 数据流语言完全采用模块化结构,不是 用全局变量,不允许全局赋值,对形式 参量的赋值也有严格限制,因此,在数 据流语言中每一个操作产生的结果都具 有局部性。
数据流语言
数据流语言的研究还很不成熟,大致可以分为如下 三类: (1) 单赋值预言(single assignment language):包括 美国加州大学Irvine分校研制的ID语言( Irvine Data Flow Language )和美国MIT科学试验室的Dennis教 授于1979年提出的VAL语言( Value Algorithmic Language ) 。 (2) 函数类语言( Functional Language ) :比较著名 的有美国犹他大学研制的FP语言( Functional Programming Language ). 命令类语言(Command Language ):目前,美国依 阿华州立大学正在研制此类语言,并研制了把命令 类语言转换成数据流语言的编译器。
指令格式
在数据流计算机中,一条指令包含两部分: • 操作包(operation packet ) • 数据令牌(data token)
指令格式(cont.)
• 操作包(或指令包─instruction cell)通常由操作 码、源操作数、后继指令地址组成。 • 又可以看成是由操作型和受处理单元影响的部分两 者组成。操作型包括操作码、有关常数的指示及常 数值、目标操作地址、本操作要求几个数据令牌的 标志等信息,这些信息一旦设定后就不再改变。受 处理单元影响的部分包括已经接收到的操作数值、 数据令牌已到的标志、正在等待的数据令牌等信息 。 • 操作包在存储器中将占据一定大小的空间。
需求驱动方式
一个操作仅在需要用到其输出结果时才开始 启动。如果这时该操作由于操作数未到而不 能得到输出结果,则该操作再去启动能得到 它的各个输入数的操作,这样就把需求链一 直延伸下去,直至遇到常数或外部输入的数 据已经到达为止。然后再反方向地去执行。 由于该驱动方式只对需要用到其结果的操作 求值,也即只执行最低限度的求值,免除了 许多多余的计算,从总体而言,它的执行计 算量很小。归约机是基于该驱动方式。
数据流语言性质
(1) 并行性好:指令的执行顺序仅受程序 中数据相关性的约束,而与指令在存储 器中存放的位置(即地址)无关,因此,数 据流语言能够以自然的方式最大限度地 表达程序中的并行性。
数据流语言性质(cont.)
(2) 单赋值规则:根据单赋值规则,在所有语 句的左边,同一变量名只能出现一处,即要为 任何一个重新赋值的变量选择一个从未用过的 新名字,而且在以后所有引用中都使用这个新 名字。 单赋值规则使程序清晰,易于理解,为程序的 并行执行提供了一种新方法。该规则由Tesler 和Enea于1969年提出,被法国LAU机和英国的 Manchester机采用(注:均为数据流计算机) 。
数据流语言性质(cont.)
(3) 不产生副作用:副作用是指使用了不当变 量而产生数据相关,从而导致程序不能顺序执 行。在数据流语言中不使用全局变量和公共变 量,严格控制变量使用范围,采用赋值调用 ( Call by Value ), 而不是传统机中的引用调用, 这就是根本上解决了变量的同一名问题。赋值 调用过程只复制变量,而不修改变量。因此, 在子程序中决不修改调用程序传送来的变量, 即各程序模块之间的输入和输出是完全隔离的。
节点组合
根据数据流程序图的需要,可以利用上 述这几种单功能的操作节点组合成功能 复杂的多功能节点。 例1: 利用上述单功能操作节点实现一般 高级语言中的条件语句: if true then G1 else G2 画出数据流程序图,其中的G1和G2都是 各自独立的数据流程序图。
节点组合
例2 利用上述单功能操作节点实现一般 高级语言中的循环与句: while P do G 或 until P do G 画出数据流程图,其中P是循环条件,G 是循环体。
基本原理(cont.)
数据流计算机当指令所需数据可用时,该指令即可执 行。这说明指令的操作不受其他控制的约束。任何一 条指令只要它所需要的数据齐全,且可用时都可以执 行。 数据流计算机中没有变量的概念,也不设置状态,在 指令间直接传送数据。因此操作结果不产生副作用, 不改变机器的状态。从而具有纯函数的特点。 对指令来说,摆脱了外界强加于它的控制。多条指令 在数据可用性驱动下同时并行执行; 它可以直接支持函数语言,不仅有利于开发程序中各 级的并发性,而且也有利于改善软件环境,提高软件 的生产力。
条件分支节点(cont.)
合并结点及其操作执行规则:它根据到 达的控制令牌带的是真值T还是假值F决 定把T输入线上X还是把F输入线上X送到 输出线上。因此,其作用正好和开关结 点相反。
条件操作结点
该结点用菱形表示,它有一条或数条数据 令牌输入分支线和一条控制令牌输入分 支线。根据数据令牌所带数值的某个特 征(或若干输入数据令牌所带数值的某 个关系)作出判断,最终在输入线上产 生一个控制令牌。特征和关系同常包括: X>0,X=0,X<0,及X>Y, X=Y,X<Y 等。
条件分支节点
此类结点用于控制数据令牌传送时刻, 通过空心箭头表示输入分支线输入的是 控制令牌。常用分支结点有四种: if true then X→XT if false then X→XF if true then X→XT else X→XF if false then X→XF else X→XT
小结
数据流程序图相当于数据流计算机中的机器语 言。对于一般用户,如果直接用数据流程序图 编写程序是很不方便的。数据流程序图与传统 计算机中的高级语言和超高级语言相比,不易 被用户接受。因此,必须研制适合于数据流计 算机的高级语言,这种高级语言应该能够用近 似于自然语言的方式最大限度地描述隐含的并 行性,并具有易读,易于理解和调试,维护方 便等优点。
基本原理
传统的冯· 诺依曼计算机与数据流计算机的工作原理 根本不同,它是在中央控制器控制下顺序执行的。 数据流计算机是在数据的可用性控制下并行执行的。 数据流计算机里没有指令计数器,其指令执行靠数 据记号(数据令牌data token)的可用性来进行,也就 是指令的执行由数据来驱动,把控制流变为数据流。 数据流计算机里没有常规的变量概念,也就不存在 共享数据单元的问题。程序顺序性仅是指令部分内 部数据相关性控制,也就是只要当操作所需要的数 据可用时,即启动指令执行(异步性)和所有操作都 具有函数性,即所有指令都可以任何次序并发执行。 正是这些特性,数据流计算机可以使许多指令同时 异步执行,预计隐含的并行度是很高的。
指令的执行次序受指令计数器的控制, 这是冯· 诺依曼型的结构中的驱动方式。 这种结构的特点是“共享数据,串行执 行”,不利于对指令并行执行的支持。 但是,目前计算机领域仍然是这种驱动 方式为主。只是对其进行不同的修改和 完善。目的是增加并行处理能力。
数据驱动方式
只要程序中任一条指令所需的操作数已经齐备, 就可立即启动执行(点火)。一条指令的运算 结果又流向下一条指令,作为该指令的操作数 来驱动执行。 不存在指令计数器;指令启动执行的时机取决 于操作数具备与否;程序中各条指令的执行顺 序仅仅由指令间的数据依赖关系决定。 只要有足够多的处理单元,凡是相互间不存在 数据相关的指令都可以并行执行,充分利用了 指令级的并行性。
条件分支节点(cont.)
T(true)的分支结点及其操作规则:当输入分支 线上的数据令牌X和带有其值的控制令牌T都到 达该节点,且输出线上没有数据令牌时,该分 支结点操作立即进行,将输入分支线上的数据 令牌原样传送到输出线上。 F(false)的分支结点及其操作规则:其工作过程 与T的类似,所不同的只是输入分支线上的数 据令牌X和带有假值(false)的控制令牌F都到达 该节点,且输出线上无数据令牌时,该分支结 点才执行操作。
计算机系统结构 -数据流计算机结构
四种驱动方式
为了提高计算机并行处理能力,可能突 破冯· 诺依曼型的结构,寻求有利于开发 高度并行功能的计算模型。 计算模型中不仅要考虑数据控制类型, 更要考虑驱动方式(即控制机制)。 控制驱动、数据驱动、需求驱动、模式 匹配驱动等四种驱动方式。
控制驱动方式
模式匹配驱动方式
计算的进行是由谓词模式匹配加以驱动的。 程序的执行主要受控于寻找谓词的匹配和度 量的归一操作,其中的谓词是代表客体之间 关系的一种字符串模式。 该驱动模式主要适合求解非数值的符号演算。 智能计算机就是基于该驱动模式。
数据流计算机的由来
冯· 诺依曼型计算机的基本特点是在程序计数器的 集中控制下顺序地执行指令,是以控制驱动方式工 作的。 为了设计高性能的计算机系统结构,其中一个方法 是突破冯· 诺依曼型的结构,采用数据驱动执行方 式而形成的数据流计算机。 美国MIT实验室的Jack Dennis 及其助手于1972年首 先提出了数据流模型,并证明由此而设计的数据流 计算机,其性能价格比高,较好的跟踪工艺技术进 步的速度,能较方便地在应用领域中进行可编程应 用。