MIMD

MIMD

多指令流多數據流(MultipleInstructionStreamMultipleDataStream,簡稱MIMD),它使用多個控制器來非同步地控制多個處理器,從而實現空間上的并行性。

定義


1
2.積式增加積式減少(Multiplicative Increase Multiplicative Decrease,簡稱MIMD),網路擁塞控制演演算法中的術語。

基本簡介


傳統的順序執行的計算機在同一時刻只能執行一條指令(即只有一個控制流)、處理一個數據(即只有一個數據流),因此被稱為單指令流單數據流計算機(SingleInstructionSingleData,SISD)。
曾經在很長一段時間內成為超級并行計算機主流的向量計算機除了標量處理單元之外,最重要的是具有能進行向量計算的硬體單元。在執行向量操作時,一條指令可以同時對多個數據(組成一個向量)進行運算,這就是單指令流多數據流(SingleInstructionMultipleData,SIMD)的概念。因此,我們將向量計算機稱為SIMD計算機。
第四種類型即所謂的多指令流單數據(MultipleInstructionSingleData,MISD)計算機。在這種計算機中,各個處理單元組成一個線性陣列,分別執行不同的指令流,而同一個數據流則順次通過這個陣列中的各個處理單元。這種系統結構只適用於某些特定的演演算法。
相對而言,SIMD和MISD模型更適合於專用計算。在商用并行計算機中,MIMD模型最為通用,SIMD次之,而MISD最少用。PII的MMX指令採用的是SISD,高性能伺服器與超級計算機大多屬於MIMD。
1966年,MichealFlynn根據指令和數據流的概念對計算機的體系結構進行了分類,這就是所謂的Flynn分類法。Flynn將計算機劃分為四種基本類型,即SISD、MIMD、SIMD、MISD。而對於大多數并行計算機而言,多個處理單元都是根據不同的控制流程執行不同的操作,處理不同的數據,因此,它們被稱作是多指令流多數據流計算機,即MIMD(MultipleInstructionMultipleData,MIMD)計算機。