指令流和数据流

news/2024/12/22 10:07:09/

指令流和数据流

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

【解析】本题考查数据流图的基本概念。

数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,其基础是功能分解。对于复杂一些的实际问题,在数据流图中常常出现许多加工,这样看起来不直观,也不易理解,因此用分层的数据流图来建模。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。

在分层的数据流图中,各层数据流图之间应保持“平衡”关系,即输入和输出数据流在各层应该是一致的。


http://www.ppmy.cn/news/69884.html

相关文章

Dubbo——微服务框架(单体式->分布式->微服务)

是什么? Dubbo是阿里巴巴开源的基于Java的高性能RPC(一种远程调用)分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,它提供了三大核心能力:面向接口的远程…

人工智能之配置环境教程二:在Anaconda中创建虚拟环境并在VsCode中使用

人工智能之配置环境教程二:在Anaconda中创建虚拟环境安装pytorch并在VsCode中使用虚拟环境 作者介绍一. 在Anaconda中创建虚拟环境1. 进入本地终端1.1 键盘使用**winR**快捷键1.2 输入**cmd**点击**确定**进入windows命令行终端 2. 安装镜像源2.1 添加镜像源 3. 创建…

python爬虫之正则详解

正则表达式是一种使用单个字符串来描述、匹配和定位文本中某个特定模式的工具。在 Python 编程语言中,正则表达式可以用来处理各种文本数据、数据采集和处理、爬虫和搜索等方面。在本文中,我们将学习如何在 Python 爬虫中使用正则表达式,包括…

【前端面经】JS-异步解决方案

同步和异步 众所周知, JavaScript是一门单线程的语言, 单线程就意味着同一时间只能执行一个任务, 当前任务执行结束, 才会执行下一个任务. 这种模式的好处就是执行环境比较单纯, 但坏处也很明显, 一旦有某个任务卡住了, 就会导致整个程序阻塞. 为了解决这个问题, JS将任务的执…

【Java】基础知识点总结

Java学习记录---已完成 Java基础第一部分:变量、操作符、控制流程、数据结构第二部分:类和对象第三部分:接口与继承第四部分:数字与字符串第五部分:日期 学习地址: HOW2J.CN Java基础 第一部分:变量、操作…

三、Neo4j 源码研究系列 - 持久化

version: v-2023051401 author: 路__ 说到数据库,那么离不开的模块就是持久化(Persistence),数据持久化是数据库不可缺少的重要组成模块之一。可以说一个数据库少了持久化功能,可以说这个数据库就不足以称为数据库。…

使用thrift进行RPC通信(附c程序示例)

前言 为了实现不同语言的程序跨进程、跨主机通信,一般可以采用mq或rpc框架来实现。 对于异步通知的场景可以使用mq,如zeroMQ。 但对于某些实时性较强且同步的应用场景,使用成熟的rpc框架来实现也是一种比较更好的选择。 开源的rpc框架有很…

JS 实现区块链分布式网络

JS 实现区块链网络 这里主要 JS 实现区块链 实现的部分继续下去,对 Blockchain 这个对象有一些修改,如果使用 TS 的话可能要修改对应的 interface,但是如果是 JS 的话就无所谓了。 需要安装的依赖有: express body-parser 现在…