计算机体系结构中并行的条件是什么?
并行的各种条件如下-
数据和资源相关性-一个程序由几个部分组成,因此需要并行实现各种程序段的能力,每个段应该独立于另一个段。程序的各个部分中的依赖关系可能有多种形式,例如资源依赖、控制依赖和数据依赖。
依赖图可以定义关系。程序语句由节点定义,带有多个标签的有向边显示语句之间的有序关系。分析依赖图后,可以证明并行化和矢量化的机会在哪里。
数据依赖关系-语句之间的关系由数据依赖关系显示。有5种类型的数据依赖关系如下-
变量的下标本身是订阅的。
下标没有循环索引变量。
下标在循环索引变量中是非线性的。
Antidependency-如果ST2按顺序跟随ST1并且ST2的输出与ST1的输入重叠,则语句S2对语句ST1是反依赖的。
输入依赖性-读和写是输入语句输入依赖性的发生不是因为涉及相同的变量put因为两个输入语句都引用了相同的文件。
未知依赖-在以下方法中找不到两个语句之间的依赖关系
输出依赖-如果两个语句创建类似的输出变量,则它们是输出依赖。
流依赖-声明ST2流动依赖性如果语句ST1,如果表达式的路径存在从ST1至ST2和至少是ST的输出,ST饲料在输入2。
软件并行性-软件依赖性由程序的控制和数据依赖性表示。并行度在程序配置文件或程序流程图中公开。软件并行性是算法、编程风格和编译器优化的函数。程序流程图显示了同时可执行操作的模式。程序中的并行性在实施期间发生变化。
硬件并行性-硬件并行性由硬件多样性和机器硬件表示。它是成本和性能权衡的函数。介绍了同时可执行操作的资源应用设计。它还表示处理器资源的执行。在硬件中识别并行性的一种方法是使用每个机器周期发出的多条指令。