第八章 数据流计算机结构
计算机系统结构论文--数据流计算机
计算机系统结构论文--数据流计算机计算机系统结构论文数据流计算机在计算机科学的领域中,计算机系统结构的研究一直是推动技术发展的关键因素之一。
其中,数据流计算机作为一种独特的计算模型,具有其独特的特点和优势,为解决传统计算模式中的一些问题提供了新的思路和方法。
数据流计算机的基本概念源于对传统冯·诺依曼计算机体系结构的反思。
在传统计算机中,程序的执行顺序是由控制流决定的,即按照预先设定的指令顺序依次执行。
然而,数据流计算机则是以数据驱动的方式工作,数据的可用性决定了操作的执行,而非固定的指令顺序。
这种数据驱动的特性带来了许多显著的优点。
首先,数据流计算机能够实现高度的并行性。
由于操作的执行取决于数据的准备情况,而不是严格的顺序控制,因此多个操作可以在同一时间内并发执行,只要它们所需的数据已经就绪。
这极大地提高了计算机的处理能力,尤其是在处理大规模数据和复杂计算任务时,可以显著缩短计算时间。
其次,数据流计算机对于指令级并行的挖掘更加高效。
在传统计算机中,由于指令之间的依赖关系和控制流的限制,很难充分利用硬件资源来实现并行执行。
而在数据流计算机中,这些限制被打破,指令之间可以更加灵活地并行执行,从而充分发挥硬件的性能。
再者,数据流计算机在处理具有不规则数据依赖关系的应用时表现出色。
例如在人工智能中的一些算法,数据之间的依赖关系并非简单的线性或固定模式,数据流计算机能够更好地适应这种复杂的情况,提高计算效率。
然而,数据流计算机也面临着一些挑战和限制。
首先是硬件实现的复杂性。
为了支持数据驱动的执行方式,硬件需要具备高效的数据流向控制和资源分配机制,这增加了硬件设计的难度和成本。
其次,程序设计和调试的难度也相对较大。
由于数据流计算机的执行方式与传统计算机有很大的不同,程序员需要采用新的思维方式来设计和优化程序,这对于习惯了传统编程模式的开发者来说是一个不小的挑战。
此外,数据流计算机对于数据的缓存和存储管理也提出了更高的要求。
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 使 【
02325自考计算机系统结构题库及答案
02325计算机系统结构自考题库及答案计算机系统结构单选题1.对应用程序员不透明的是( ) AA.条件码寄存器B.乘法器C.指令缓冲器D.先行进位链2.汇编语言源程序变换成机器语言目标程序是经____来实现的( ) BA.编译程序解释B.汇编程序翻译C.汇编程序解释D.编译程序翻译3.属计算机系统结构考虑的应是( ) DA.主存采用多体交叉还是单体B.主存频宽的确定C.主存采用MOS 还是TTLD.主存容量和编址方式4."从中间开始设计的""中间""目前多数是在( )" CA.传统机器语言机器级与微程序机器级之间B.微程序机器级与汇编语言机器级之间C.传统机器语言机器级与操作系统机器级之间D.操作系统机器级与汇编语言机器级之间5.多处理机主要实现的是( ) DA.操作步骤的并行B.指令级并行C.操作级并行D.任务级并行6.直接执行微指令的是( ) BA.编译程序B.硬件C.微指令程序D.汇编程序7.从计算机系统结构上讲,机器语言程序员所看到的机器属性是( ) AA.编程要用到的硬件组织B.计算机各部件的硬件实现C.计算机硬件的全部组成D.计算机软件所要完成的功能8.尾数下溢处理平均误差可调整到零的方法是( ) D "A.恒置""1""法"B.舍入法C.截断法D.ROM 查表法9.变址寻址的主要作用是( ) AA.支持向量、数组的运算寻址B.支持操作系统中的进程调度C.支持访存地址的越界检查D.支持程序的动态再定位10.在IBM370 系统中,支持操作系统实现多进程共用公用区管理最有效的指令是( ) BA.程序调用楷令B.比较与交换指令C.测试与置定指令D.执行指令11.程序员编写程序时使用的地址是( ) CA.主存地址B.辅存实地址C.逻辑地址D.有效地址12.不需要编制的数据存储空间是( ) BA.I/O接口的寄存器B.堆栈C.主存储器D.CPU中的通用寄存器13.RISC执行程序的速度比CISC要快的原因是( ) BA.RISC只允许loAd和store指令访存 B.RISC的指令平均执行周期数较少 C.RISC的指令系统中的指令条数较少 D.程序在RISC上编译生成的目标程序较短14.平均码长最短的编码是( ) AA.哈夫曼编码B.定长编码C.扩展编码D.需要根据编码使用的频度计算平均码长后确定15.外部设备打印机适合于连接到( ) AA.宇节多路通道B.选择通道C.数组多路通道D.任意一种通道16.在IBM370 系统中,申断响应硬件分工保存的是( ) DA.作业名称和优先级等B.各种软件状态和标志C.通用寄存器内容D.条件码等状态信息17.中断响应由高到低的优先次序宜用( ) AA.访管+程序性+重新启动B.访管斗程序性+机器故障C.程序性+1/0+访管D.外部+访管+程序性18.CDC CYBERl70 的I/0 处理机系统属于( ) BA.DMA 方式 B.外围处理机方式 C.通道方式 D.程序控制的1/0 方式19.通道流量是在某个时期单位时间内传送的宇节数,这个时期应是( ) CA.数组多路通道或字节多路通道B.字节多路通道或选择通道C.数组多路通道或选择通道D.任意一种通道20.外部设备打印机适合于连接到( )AA.宇节多路通道B.选择通道C.数组多路通道D.任意一种通道21.数据通路出错引起的中断是( ) BA.访管中断B.机器校验中断C.程序性中断D.外中断22.CAche存贮器常用的地址映象方式是( ) BA.全相联映象B.组相联映象C.页表法映象D.段页表映象23.虚拟存储器主要是为了( ) BA.扩大存储系统的容量和提高存储系统的速度B.扩大存储系统的容量C.提高存储系统的速度D.便于程序的访存操作24.对于采用组相联映像、LRU替换算法cAche存储起来说,不影响cAche命中率的是( ) AA.直接映像、组相联映像、全相联映像B.全相联映像、直接映像、组相联映像C.组相联映像、直接映像、全相联映像D.全相联映像、组相联映像、直接映像25.最能确保提高虚拟存储器访主存的命中率的改进途径是( ) CA.改用LRU替换算法并增大页面B.增大辅存容量C.改用LRU替换算法并增大页面数D.采用FIFO替换算法并增大页面26.与全相联映像相比,组相联映像的优点是( ) AA.目录表小B.命中率高C.块冲突概率低D.主存利用率高27.程序员编写程序时使用的地址是( ) BA.有效地址B.逻辑地址C.物理地址D.主存地址28.评价存储器性能的基本要求有大容量、____和低价格() BA.性价比高B.高速度C.命中率高D.利用率高29.解释一条机器指令的微操作包括____三部分() DA.操作数B.解释C.翻译D.取指令、分析和执行30.实现指令的重叠解释必须在计算机组成上满足____要求( ) CA.硬件冲突B.主存冲突C.要解决“分析”与“执行”操作控制上的同步D.主存和硬件冲突31.非线性流水线的特征是( ) AA.一次运算中要多次使用流水线中的某些功能段B.一次运算中使用流水线中的多个段C.流水线的各功能段在不同运算中可以有不同的连接D.流水线中某些功能段在各次运算中的作用不同32.与线性流水线最大吞吐率有关的是( ) CA.最后功能段的执行时间B.最快的那一段的执行时间C.最慢的那一段的执行时间D.各个功能段的执行时间33.在MIPS的指令流水线中,可能发生的冲突是( ) DA.两条指令的写操作之间的写后写冲突B.后流入的指令的写操作与先流入的指令的读操作之间的读后写冲突C.同一条指令的读操作与写操作之间的写后读冲突D.先流入的指令额写操作与后流入的指令的读操作之间的写后读冲突34."指令间的""一次重叠""是指( )" C "A.“取指K+,""与""分析,""重叠" "B.“分析,""与""执行K+,""重叠" "C.“分析K+,""与""执行,""重叠" "D.执行,与""取指K+,""重叠"35.IBM360/91属于( ) AA.标量流水机B.向量流水机C.阵列流水机D.并行流水机36.以下说法不正确的是( ) BA.静态流水线是多功能流水线B.动态流水线只能是单功能流水线C.动态流水线是多功能流水线D.线性流水线是单功能流水线37.非线性流水线是指( ) AA. 一次运算申要多次使用流水线中的某些功能段B.流水线中某些功能段在各次运算申的作用不同C.一次运算中使用流水线中的多个功能段D.流水线的各个功能段在各种运算申有不同的组合38.在流水机器中,全局性相关是指( ) BA.先读后写相关B.由转移指令引起的相关C.先写后读相关D.指令相关39.CRAY 一l 的流水线是( ) DA.多条多功能流水线B.一条多功能流水线C.一条单功能流水线D.多条单功能流水线40.流水机器对全局性相关的处理不包括( ) BA.加快短循环程序的执行B.设置相关专用通路C.提前形成条件码D.猜测法41.并行(阵列)处理机主要实现的是( ) AA.指令操作级并行B.任务级并行C.指令内操作步骤并行D.作业级并行42.在集中式存贮器构型的并行(阵列)处理机中,为了减少访存冲突,存贮器分体数应读是( ) AA.多于处理单元数B.少于处理单元数C.与处理单元数无关D.等于处理单元数43.能实现作业、任务级并行的异构型多处理机属( ) BA.SIMDB.MIMDC.MISDD.SISD44.多端口存贮器适合于连接( ) DA.松藕合多处理机B.机数可变的多处理机C.机数很多的多处理机D.紧藕合多处理机45.在多处理机上,两个程序段既能顺序串行、交换串行,又能并行,则这两个程序段之间必须是( ) AA.只有数据输出相关B.只有数据反相关C.只有数据相关D.只有源数据相关46.数据驱动方式是指( ) CA.按数据需要驱动操作B.按指令对数据的需要驱动操作C.按数据可用驱动操作D.按数据需要和可用驱动操作47.在数据流计算机中,执行一条指令后形成新的数据令牌的个数是( ) CA.能同时并行传送数据令牌的个数B.一个C.需要该指令结果数据的后继指令的条数D.需要共享该指令结果数据的指令操作部件额个数48.数据流程序的调试十分困难的原因是( ) AA.数据流程序有大量的隐含的并行性B.数据流语言是函数类语言C.数据流程序图难以看懂D.数据流中存在大量的数据相关49.数据驱动方式具有异步性、并行性、函数性和局部性的性质,因此,很适合数据流计算机的结构是( ) BA.共享存储器多处理机结构B.分布式存储器多处理机结构C.流水线结构D.阵列结构计算机系统结构判断题1.系统是否设浮点运算指令,对计算机系统结构是透明的。
数据流算法与数据结构
数据流算法与数据结构数据流算法和数据结构是计算机科学中重要的概念,它们在处理大规模数据时发挥着关键作用。
数据流算法是一种处理数据流的算法,它能够在数据不断产生的情况下进行实时处理和分析。
而数据结构则是组织和存储数据的方式,能够高效地进行数据操作和检索。
本文将介绍数据流算法和数据结构的基本概念、应用场景以及它们在实际项目中的重要性。
一、数据流算法数据流算法是一种处理数据流的算法,它能够在数据不断产生的情况下进行实时处理和分析。
数据流算法通常用于处理实时数据流,如网络数据包、传感器数据、日志数据等。
数据流算法的特点是需要在数据到达时立即进行处理,而不能等待所有数据都到达后再进行处理。
常见的数据流算法包括滑动窗口、Bloom Filter、Count-Min Sketch等。
滑动窗口是一种常用的数据流处理技术,它通过设置一个固定大小的窗口来处理数据流,保持窗口内数据的实时更新。
Bloom Filter是一种用于快速检索一个元素是否在集合中的数据结构,它能够高效地处理大规模数据流。
Count-Min Sketch是一种用于估计数据流中元素频率的算法,能够在有限的内存空间下进行高效的频率估计。
数据流算法在实际项目中有着广泛的应用,如网络流量监控、实时日志分析、实时推荐系统等。
通过数据流算法,我们能够实时地处理大规模数据流,从而及时发现数据中的规律和异常,为业务决策提供支持。
二、数据结构数据结构是组织和存储数据的方式,能够高效地进行数据操作和检索。
常见的数据结构包括数组、链表、栈、队列、树、图等。
不同的数据结构适用于不同的场景,能够提供高效的数据操作和检索功能。
数组是一种线性数据结构,能够高效地进行随机访问和元素插入。
链表是一种动态数据结构,能够高效地进行元素插入和删除。
栈和队列是两种常用的数据结构,分别实现了后进先出和先进先出的数据操作方式。
树是一种非线性数据结构,能够高效地进行数据的组织和检索。
图是一种复杂的数据结构,能够表示各种实体之间的关系。
计算机体系结构概述
计算机体系结构概述计算机体系结构是指计算机硬件与软件之间的组织和交互方式。
它定义了计算机系统内部各个组成部分的功能、连接方式以及数据传输的路径等。
计算机体系结构的设计直接影响了计算机性能、可扩展性和能效等方面的表现。
本文将概述计算机体系结构的基本概念、发展历程和常见结构类型。
一、基本概念计算机体系结构是计算机系统的“蓝图”,可以将其比作大楼的设计图。
它包括了各个部分之间的功能划分、数据传输和操作方式等。
计算机体系结构主要由以下几个方面组成:1. 处理器:负责执行计算机指令,包括算术逻辑运算、控制逻辑和数据处理等功能。
2. 存储器:用于存储程序和数据。
常见的存储器有主存储器和辅助存储器,如内存和硬盘等。
3. 输入输出设备:用于与用户进行信息交互,如键盘、鼠标、显示器等。
4. 总线:用于连接各个组件之间的数据传输通路。
主要包括数据总线、地址总线和控制总线。
二、发展历程计算机体系结构随着计算机技术的发展而不断演变和完善。
以下是计算机体系结构的三个主要发展阶段:1. 单指令流单数据流(SISD):早期计算机采用的体系结构,指令和数据都从单一的内存存取,处理器按照指令序列依次执行,没有并发操作。
2. 单指令流多数据流(SIMD):在SISD的基础上,引入多个处理器核心,它们可以同时处理不同的数据,但执行的指令序列相同。
3. 多指令流多数据流(MIMD):当前普遍采用的体系结构,具有多个独立的处理器核心,可以同时执行不同的指令和处理不同的数据。
三、常见结构类型根据计算机体系结构的特点和应用需求,发展出了多种常见的结构类型。
以下是几种常见的计算机体系结构:1. 冯·诺依曼结构:由冯·诺依曼于20世纪40年代提出的经典计算机结构。
它以存储程序的概念为基础,包含了用于指令和数据存取的存储器、算术逻辑单元(ALU)、控制单元和输入输出设备等。
2. 流水线结构:将指令执行划分为多个阶段,并行处理不同的指令。
计算机系统结构的组成
计算机系统结构的组成
计算机系统结构通常包括以下几个主要组成部分:
1. 处理器:处理器是计算机的核心部分,负责执行程序中的指令。
它从内存中获取指令并执行,然后处理数据,并将结果存储回内存中。
处理器的能力决定了计算机的速度和性能。
2. 内存:内存是计算机的临时存储设备,用于存储正在处理的程序和数据。
内存分为随机存取存储器(RAM)和只读存储器(ROM)。
RAM可以随时读写,而ROM只能读取不能写入。
3. 输入/输出设备:输入/输出设备是计算机与外部世界交互的工具。
常见的输入设备包括键盘、鼠标、触摸屏等,常见的输出设备包括显示器、打印机、音响等。
4. 存储器:存储器是计算机的永久性存储设备,用于长期存储数据和程序。
常见的存储器包括硬盘、闪存盘、光盘等。
5. 总线:总线是计算机中各个部分之间传输数据的通道。
总线带宽决定了数据传输的速度,总线类型决定了计算机各个部分之间的连接方式。
6. 操作系统:操作系统是计算机的管理和控制软件,
负责管理计算机的资源,控制程序的执行,并提供用户界面。
操作系统是计算机的重要组成部分,它使得计算机更易于使用和管理。
7. 应用软件:应用软件是为特定目的而编写的程序,例如办公软件、图像处理软件等。
应用软件使计算机具有各种功能和用途。
以上这些部分共同构成了计算机系统结构的主要组成部分。
在实际应用中,根据不同的需求和用途,还可以对计算机系统结构进行更详细或更概括的分类。
计算机系统结构 第八章自考练习题答案
A.同步B.需求驱动的数据流C.异步D.串性
8.动态数据流机最突出的特点是使(C)。
A.数据流令牌无标记B.需要程序记数器来实现
C.令牌带上标志D.同步由门寄存器来实现
9.数据流计算机是指(B)。
A.计算机运行由数据控制B.任何一条指令只要它所需要的数据可用时,即可执行
A.CPUB.主机C.主存、虚存和文件存储器的结合D.辅存
5.智能机中的智能接口处理机相当于传统机器中的(D)。
A.CPUB.主存、虚存C.主机D.I/O子系统
6.数据流程序中,采用单赋值的意思是(B)。
A.同一变量单独多次赋值B.同一变量名在不同的赋值语句左部只能出现一次
C.操作符每次执行时只从一个输入端吸收一个令牌D.程序中只能用一条赋值语句
A.多级PM2I网络B.多级混洗交换网络C.超立方体网络D.全排列网络
2.机群系统进行并行处理适合的粒度是(A)。
A.中、粗B.中、细C.粗、细D.粗、中、细
3.传统的Von Neumann型计算机使用的工作方式是(A)。
A.控制流方式B.数据流方式C.智能推理方式D.需求驱动方式
4.智能机中的知识库相当于传统机器中的(C)。
11.指令级数据流机器语言程序图可有用(有向图)表示和(活动模片)表示法两种,后者更接近于数据流图的机器语言。
12.比较合适于数据流机的高级程序设计语言主要有(单赋值)语言、(函数程序)设计语言和逻辑程序设计语言三类。
13.智能机的三个主要部分分别是(知识库)机、(推理)机和智能接口处理机。
三.简答题。
C.数据流水计算机D.单指令多数据计算机
10.用 -3N+1个处理单元PE构成的二维脉动阵列机,每个处理单元PE内含有一个乘法器和加法器,一个时钟可完成一次内积步运算,为完成两个N×N的矩阵A和B的乘积,共需时钟拍数为(C)。
计算机系统结构 复习要点
计算机系统结构:第一章基本概念填空题、选择题复习:1、从使用语言角度,系统按功能划分层次结构由低到高分别为:微程序机器M0、传统机器M1、操作系统机器M2、汇编语言机器M3、高级语言机器M4、应用语言机器M5.2、计算机系统的设计思路:“从中间开始”设计的“中间”是指层次结构中的软硬件交界面,目前多数在传统机器语言机器级与操作系统机器级之间。
3、翻译与解释的区别与联系:区别:翻译是整个程序转换,解释是低级机器的一串语句仿真高级机器的一条语句;联系:都是高级机器程序在低级机器上执行的必须步骤。
4、模拟与仿真的区别:模拟:用机器语言解释实现软件移植的方法,解释的语言存在主存中;仿真用微程序解释,存储在控制存储器中。
5、解决好软件的可移植性方法有统一高级语言、采用系列机、模拟与仿真。
6、系列机必须保证向后兼容,力争向上兼容。
7、非用户片也称通用片,其功能是由器件厂生产时定死的,器件的用户只能用,不能改;现场片,用户根据需要改变器件内部功能;用户片是专门按用户的要求生产高集成度VLSI器件,完全按用户的要求设计的用户片称为全用户片。
一般同一系列内各档机器可分别用通用片、现场片或用户片实现。
8、计算机应用可归纳为向上升级的4类:数据处理、信息处理、知识处理、智能处理。
9、并行性开发的途径有:时间重叠、资源重复和资源共享。
10、并行性是指:同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作,并行性包含同时性和并发性二重含义。
11、科学计算中的重大挑战性课题往往要求计算机系统能有1TFLOPS的计算能力、1TBYTE 的主存容量、1TBYTE/S的I/O带宽。
12、并行处理计算机的结构:流水线计算机——时间重叠,阵列处理机——资源重复,多处理机——资源共享。
13、多机系统分多处理机系统和多计算机系统,多处理机系统:多台处理机组成的单一系统,多计算机系统:多台独立的计算机组成的系统。
14、多机系统的耦合度可以分为最低耦合、松散耦合和紧密耦合。
计算机系统结构多媒体教程课件_第八章 数据流计算机结构
MIT-J.B.Dennis模型
(1) 存储部件(MS)由若干个指令单元组成.每个指令单元 保存数据流程序中的一条指令,它与数据流程序图中的 结点对应且由唯一的地址所指明. (2) 处理部件(PS),由对数据值进行基本运算的多个处理单 元组成,可以并发执行已被激活的指令所要求地操作. (3) 分配网络(DN),它将处理部件产生的多个结果数据令 牌依据其各自的目的地址分别传送到存储部件相应的 指令单元中去. (4) 控制网络(CN)它将控制令牌由处理部件发送到存储部 件相应的指令单元中. (5) 仲裁网络(AN),它将可执行的操作包由存储部件发送 到处理部件,可以同时允许有多个操作包在多个通路上 传送.
图8-2 数据流示意图
图8-3 数据流程序图的执行过 程示意图
(a) 表示初始数据就绪,激发(驱动)复制结 点以复制多操作数; (b) 表示复制结点驱动结束,激发数据已准 备就绪的+,-结点; (c) 表示+,-结点驱动结束,激发数据已准 备就绪的*结点; (d) 表示*结点驱动结束,输出计算结果.
2、数据流计算机指令的执行
在数据流计算机中,用数据令牌传送并激活指令, 用一种有向图表示数据流程序. 数据流程图如图8-2所示,为了表示数据在程序 图中的流动状态,利用图中实心的圆点代表令牌 沿弧移动.假设a=8,b=12,则图8-2通过令牌沿弧 移动的先后过程反映出数据流程序图的执行过 程.实际上,实心里圆点代表该输入数据已准备 就绪,旁边的数字代表此数据值.
2、动态数据流计算机模型及其结构
动态数据流计算机最主要特征是让令牌带上标 记。它可以在任意时刻在数据流程序图任一条 弧上出现多个带不同标记的令牌。因为令牌的 标记能识别该令牌时间先后相应关系的标号, 所以不需要像静态数据流计算机那样用控制令 牌来对指令间数据令牌的传送加以认可。这种 方法能开拓程序中最大并行性。如果程序是循 环的,则标记方法允许动态无拘束地进行跌代 计算.。
02325自考计算机系统结构重点提纲已排版
第一章概论第一节计算机系统的多级层次结构机器:指能存储和执行相应语言程序的算法和数据结构的集合体。
翻译技术:指先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上等效的程序,然后在低一级机器上实现的技术。
解释技术:指在低级机器上用它的一串语句或指令来仿真高级机器级上的一条指令或指令的功能,是通过对机器语言指令程序中的每条语句或指令逐条解释来实现的技术。
固件:指一种具有软件功能的硬件。
虚拟机器:指以软件为主实现的机器。
第二节计算机系统结构、计算机组成和计算机实现系统结构:是对计算机系统中的各级界面的定义及其上下的功能分配。
透明:即如果客观存在的事物或属性从某个角度看不到,则称对它是透明的。
计算机系统结构:也称为计算机系统的体系结构(Computer Architecture),是系统结构中的一部分,它指的是层次结构中传统机器级的系统结构,是软件和硬件的交界面。
通用机计算机系统结构的属性包括:(书大纲)确定数据表示、确定寻址方式、设置寄存器组织、指令系统、存储系统组织、中断机构、机器级的管态用户态定义、I/O系统、信息保护机构计算机组成(Computer Organization):指的是计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成以及逻辑设计等。
计算机组成设计应包括:数据通路宽度、专用部件的设置、各种操作对部件的共享程度功能部件的并行度、控制机构的组成方式、缓冲和排队技术、预估预判技术、可靠性技术计算机实现:指的是计算机组成的物理实现。
包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分等。
计算机系统结构、组成和实现的相互关系和影响:1.相同系统结构,可以采用不同的组成;2.一种组成可以有多种不同的实现方法;3.采用不同的系统结构会使可以采用的组成技术产生差异;4.组成也会影响结构,例如微程序影响机器指令。
第三节计算机系统的软、硬件取舍及定量设计原理软、硬取舍的基本原则:1.在现有硬、器件的条件下,系统要有高的性能价格比。
第八章 软件架构与架构建模技术
8.2.2 面向对象模式
4、模式实例 以一个最简单的交互式矢量绘图系统为例。
对象容器类 -对象标识数组 +增加() +删除() 图形类 -背景色 -线宽 -线型 -位置 +绘制() 绘制交互类 -图形标识 +鼠标交互() +键盘交互()
图形对象容器类 +增加() +删除()
点交互类 点类 +绘制() 直线类 +绘制() 矩形类 +绘制() 圆形类 +绘制() +鼠标交互() +键盘交互()
8.2.3 分层模式
3、分层模式的不足 (1)并不是每个系统都可以很容易地划分 为分层的模式,甚至即使一个系统的逻辑 结构是层次化的,出于对系统性能的考虑, 系统设计师不得不把一些低级或高级的功 能综合起来; (2)很难找到一个合适的、正确的层次抽 象方法。
8.2.3 分层模式
4、模式实例 层次系统最广泛的应用是分层通信协议。在这一应用领域中,每一层提供一 个抽象的功能,作为上层通信的基础。较低的层次定义低层的交互,最低层 通常只定义硬件物理连接。 以ISO/OSI参考模型为例。该模型采用了7层体系结构,从高到低分别是:应 用层、表示层、会话层、传输层、网络层、数据链路层和物理层。
8.1.2软件架构的发展史
20世纪80年代初到90年代中期,是面向对象开发 方法兴起与成熟阶段。 90年代以后则是基于构件的软件开发阶段,该阶 段以过程为中心,强调软件开发采用构件化技术 和体系结构技术,要求开发出的软件具备很强的 自适应性、互操作性、可扩展性和可重用性。此 阶段中,软件架构已经作为一个明确的文档和中 间产品存在于软件开发过程中,同时,软件架构 作为一门学科逐渐得到人们的重视,并成为软件 工程领域的研究热点。
第八章 数据流机和规约机
z=(y-1)*(y+x)
规约方式
z:28
串规约:一种不 断地定义表达式 集合中去查找和 赋值的过程 时间和空间开销 比较大
*
g:4 h:7
y:5
+
1
y:5 x:2
y
5
x
2
规约方式
z
* (4) (7)
z
图规约:
g y 1 z/1 h + y x z/2
y
5
x
2
28
ቤተ መጻሕፍቲ ባይዱ
b ()
操作 数2
a i3/1
目标活动 片/部位号
b () i3/2
()
操作 数1
i2
-
()
i3
*
()
()
z
举例2:
x y i1 > () (0) i2/2 (T) (F) i2 SW () () i3/1 i4/1
If x>0 z=x+y Else z=x-y
i3
+
()
()
i4
z
()
需求驱动计算
数据流的语义
异步性(Asynchriny):指一旦操作数到齐就 开始操作 函数性(Functionality):指每一数据流操作 都是消耗一组输入值,产生一组输出值而不发 生副作用(Side Effect),具有变量出现在赋 值语句左边仅一次的单赋值特性,从而保证任 何两个并发操作可以按任意次序执行,而不会 发生相互干扰
数据流计算机的发展
采用提高并行度等级的数据流机 采用同步、异步结合的数据流机 采用控制流和数据流相结合的数据流机
- 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年首 先提出了数据流模型,并证明由此而设计的数据流 计算机,其性能价格比高,较好的跟踪工艺技术进 步的速度,能较方便地在应用领域中进行可编程应 用。