指令流和数据流
Flynn于1972年提出计算平台分类法主要根据指令流和数据流来分类,分为四类:
①单指令流单数据流机器(S1SD)
SISD机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行。并且在某个时钟周期内,CPU只能处理一个数据流。因此这种机器被称作单指令流单数据流机器。早期的计算机都是SISD机器。
②单指令流多数据流机器(SIMD)
SIMD是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理,以及多媒体信息处理等领域非常有效。
Intel 处理器实现的MMXTM、SSE (Streaming SIMD Extensions)、SSE2及SSE3扩展指令集,都能在单个时钟周期内处理多个数据单元。也就是说人们现在用的单核计算机基本上都厲于SIMD机器。
③多指令流单数据流机器(MISD)
MISD是采用多个指令流来处理单个数据流。在实际情况中,采用多指令流处理多数据流才是更有效的方法,因此MISD只是作为理论模型出现,没有投入实际应用。
④多指令流多数据流机器(MIMD)
MIMD机器可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。最新的多核计算平台就属于MIMD的范畴,例如Intel和AMD的双核处理器。
例题引入:
在面向数据流的设计方法中,一般把数据流图中的数据流划分为(16) 两种。
(16)
A数据流和事务流
B.变换流和数据流
C.变换流和事务流
D.控制流和事务流
答案:C
数据流的类型决定映射的方法。数据流有两种类型:变换流和事务流。
面向数据流的软件设计方法是以结构化分析阶段所产生的文档(包括数据流图、数据字
典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过程。它一般将信息流分为
变换流和事务流。
(1)变换流:信息沿着输入通道进入系统,然后通过变换中心(也称主加工)
处理,再沿着输出通道离开系统。
(2)事务流:信息沿着输入通道到达一个事务中心,事务
中心根据输入信息(即事务)的类型在若干个动作序列(称为活动流)中选择一个来执行。
补充:(数据流相关应用)
1.
结构化开发方法由结构化分析、结构化设计和结构化程序设计构成,是一种面向数据流的开发方法。结构化方法总的指导思想是自顶向下、逐层分解,基本原则是功能的分解与抽象。它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,而且难以适应需求的变化。
注:
瀑布模型:需求明确,用来表示面向对象的软件开发过程。
2.
防火墙是一种放置在网络边界上,用于保护内部网络安全的网络设备。它通过对流经的数据流进行分析和检查,可实现对数据包的过滤、保存用户访问网络的记录和服务器代理功能。防火墙不具备检查病毒的功能。
例题1:
利用结构化分析模型进行接口设计时,应以(6)为依据。
(6)A.数据流图 B.实体-关系图 C.数据字典 D.状态-迁移图
【答案】A
【解析】本题考查结构化分析与设计基础知识。
软件设计必须依据软件的需求来进行,结构化分析的结果为结构化设计提供了最基本的输入信息,其关系为:根据加工规格说明和控制规格说明进行过程设计;根据数据字典和实体关系图进行数据设计;根据数据流图进行接口设计;根据数据流图进行体系结构设计。
例题2:
数据流图(DFD)对系统的功能和功能之间的数据流进行建模,其中顶层数据流图描述了系统的(5)。
(5)A.处理过程 B.输入与输出 C.数据存储 D.数据实体
【答案】B
【解析】本题考查数据流图的基本概念。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,其基础是功能分解。对于复杂一些的实际问题,在数据流图中常常出现许多加工,这样看起来不直观,也不易理解,因此用分层的数据流图来建模。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。
在分层的数据流图中,各层数据流图之间应保持“平衡”关系,即输入和输出数据流在各层应该是一致的。