-
多指令流多數據流
鎖定
多指令流多數據流MIMD是用於實現並行性的技術。MIMD計算機具有多個異步和獨立工作的處理器。在任何時鐘週期內,不同的處理器可以在不同的數據片段上執行不同的指令,也即是同時執行多個指令流,而這些指令流分別對不同數據流進行操作。MIMD架構可以用於諸如計算機輔助設計、計算機輔助製造、仿真、建模、通信交換機的多個應用領域。 MIMD機器可以是共享存儲器或分佈式存儲器類別。共享存儲器機器包括UMA、NUMA、COMA等。分佈式存儲器機器包括NORAM等。
- 中文名
- 多指令流多數據流
- 外文名
- Multipe Instructions Stream Multiple Data Stream
- 簡 稱
- MIMD
- 含 義
- 實現空間上的並行性的技術
- 應用學科
- 計算機
- 適用領域
- 計算機、互聯網、人工智能
目錄
- 1 定義
- 2 計算機系統分類
- 3 按Flynn分類法對計算機分類舉例
- 4 五種MIMD計算和結構特徵比較
- 5 共享式存儲器模型
- ▪ UMA多處理機模型
- ▪ NUMA多處理機模型
- ▪ COMA多處理機模型
- 6 分佈式存儲器模型
多指令流多數據流定義
多指令流多數據流(Multipe Instructions Stream Multiple Data Stream,MIMD),是Michael J. Flynn提出的根據指令流、數據流的多倍性特徵對計算系統進行分類的方法(通常稱為Flynn分類法)。
[1]
MIMD是使用多個控制器來異步地控制多個處理器,能實現作業、任務、指令、數組各級全面並行的多機系統。多處理機屬於MIMD。當前的高性能服務器與超級計算機大多具有多個處理機,能進行多任務處理,稱多處理機系統。
[2]
並行計算機系統絕大部分為MIMD系統,包括並行向量處理機(PVP,Parallel Vector Processor),對稱對多處理機(SMP,Symmetrical Multi Processor),規模並行處理機(MPP,Massively Parallel Processor),工作站機羣(COW,Cluster Of Workstations),分佈式共享存儲系統(DSM,Distributed shared Memory)。
[1]
多指令流多數據流計算機系統分類
Michael J. Flynn提出按指令流和數據流的多倍性對計算系統分類(通常稱為Flynn分類法)。
指令流:機器執行的指令序列。
數據流:由指令流調用的數據序列,包括輸入數據和中間結果。
單指令流 | 多指令流 | |
單數據流 | 單指令單數據流(SISD) | 多指令流單數據流(MISD) |
多數據流 | 單指令流多數據流(SIMD) | 多指令流多數據流(MIMD) |
(1)單指令單數據流(Single Instruction Stream Single Data Stream,SISD)
SISD機器是一種傳統的串行計算機,它的硬件不支持任何形式的並行計算,所有的指令都是串行執行。並且在某個時鐘週期內,CPU只能處理一個數據流。因此這種機器被稱作單指令流單數據流機器。早期的計算機都是SISD機器,如馮諾.依曼架構,如IBM PC機,早期的巨型機和許多8位的家用機等。
[3]
(2)單指令流多數據流(Single Instruction Stream Multiple Data Stream,SIMD)
SIMD是採用一個指令流處理多個數據流。
SIMD以並行處理機(陣列處理機)為代表,並行處理機包括多個重複的處理單元PU1~PUn,由單一指令部件控制,按照同一指令流的要求為它們分配各自所需的不同數據。這類機器在數字信號處理、圖像處理、以及多媒體信息處理等領域非常有效。
[2]
Intel處理器實現的MMXTM、SSE(Streaming SIMD Extensions)、SSE2及SSE3擴展指令集,都能在單個時鐘週期內處理多個數據單元。也就是説我們用的單核計算機基本上都屬於SIMD機器。
[3]
(3)多指令流單數據流(Multiple Instruction Stream Single Data Stream,MISD)
(4)多指令流多數據流(Multiple Instruction Stream MultipleData Stream,MIMD)
多指令流多數據流按Flynn分類法對計算機分類舉例
類型 | 計算機的型號 | |
SISD | 單功能部件 | IBM701,IBM401,IBM1620,IBM7090,PDP-11,VAX-11/780 |
多功能部件 | IBM360/91,IBM370/168UP,CDC6600 | |
SIMD | 數據全並行 | PEPE,BSP,CDCSTAR-100,TI-ASC,FPS AP-120B,FPS-164,IBM3838,CRAY-1, VP-200,CYBER205,B-5000,CDC-NASF |
數據位片串字並 | STARAN,MPP,DAP | |
MIMD | 松耦合 | IBM370/168MP,UNIVAC1100/80,IBM3081/308 |
緊耦合 | Burroughs D-825,C.mmp,CRAY-2,S-1,CRAY-XMP,DenelcorHEP |
多指令流多數據流五種MIMD計算和結構特徵比較
MIMD計算機體系結構合一的結構模型 20 世紀 90 年代以後,上述各種並行計算機的體系結構呈現漸趨一致的趨勢。促使體系結構漸 趨一致而最終合一的主要因素是:所有體系結構 都要求快速的高質量的互連網絡;都希望儘量避 免或降低延遲;都希望能儘量隱藏通信代價;都必須支持不同的同步形式。
屬性 | PVP | SMP | MPP | DSM | COW |
結構類型 | MIMD | MIMD | MIMD | MIMD | MIMD |
處理器類型 | 專用定製 | 商用 | 商用 | 商用 | 商用 |
互連網絡 | 定製交叉開關 | 總線、交叉開關 | 定製網絡 | 定製網絡 | 商用網絡(以太網、ATM) |
通信機制 | 共享變量 | 共享變量 | 消息傳遞 | 共享變量 | 消息傳遞 |
地址空間 | 單地址空間 | 單地址空間 | 多地址空間 | 單地址空間 | 多地址空間 |
系統存儲器 | 集中共享 | 集中共享 | 分佈非共享 | 分佈共享 | 分佈非共享 |
訪存模型 | UMA | UMA | NORMA | NUMA | NORMA |
代表機器 | Cray C-90, Cray T-90, NEC SX4, 銀河1號 | SGI Power Challenge, DEC Alpha 服務器8400, 曙光1號 | Intel Paragon, IBM SP2, Intel TFLOPS,曙光-1000/2000 | Stanford DASH,Cray T 3D | Berkeley NOW,Alpha Farm, Digital Trucluster |
多指令流多數據流共享式存儲器模型
處理器都通過軟件或硬件裝置連接到“全局可用”存儲器。操作系統通常保持其內存一致性。從程序員的角度來看,這種存儲器模型比分佈式存儲器模型更好理解。而且,存儲器一致性由操作系統管理而不是靠寫入程序管理。當然共享存儲模型也右明顯的缺點:當處理器數量超過三十二個時,處理起來非常困難;共享存儲器模型不如分佈式存儲器模型靈活。
UMA(均勻存儲訪問),COMA(全高速緩存存儲訪問)和NUMA(非均勻存儲訪問)都屬於共享存儲器(多處理機)。
多指令流多數據流UMA多處理機模型
① 物理存儲器(SM1~SMm)被所有處理器均勻共享。所謂均勻共享是指:所有處理器訪問任 何存儲器所需的時間都相同。
② 每個處理器可帶有私有高速緩存。
③ 外圍設備以一定的形式被共享。
多指令流多數據流NUMA多處理機模型
① 被共享的存儲器在物理上是分佈在所有的處理器中,所有的本地存儲器(LM1~LMn)的集合組成全局地址空間。
② 處理器訪問存儲器所需的時間不相等,訪問本地存儲器LM或通過羣內互連網絡( Cluster Interconnection Network,CIN)訪問羣內共享存儲器 ( Cluster Shared Memory,CSM)費時較少,訪問非本地存儲器或通過全局互連網絡 ( Global Interconnection Network,GIN)訪問全局共享存儲器 (Global Shared Memory,GSM)費時較多,即所謂非均勻存儲訪問。
③ 每個處理器可帶有私有高速緩存,外設也可以以某種形式共享。
多指令流多數據流COMA多處理機模型
① 各處理器結點中沒有存儲層次結構,全部高速緩存組成全局地址空間。
② 利用分佈的高速緩存目錄D對遠程高速緩 存進行訪問。
③ COMA中的高速緩存容量一般都大於二級高速緩存容量。
④ 開始使用COMA時,數據可以任意分配到 高速緩存C中,在運行過程中,數據將被遷移到 使用該數據的處理器結點的高速緩存中。
多指令流多數據流分佈式存儲器模型
在分佈式存儲器中,每個處理器具有其自己的單獨存儲器地址。對於要共享的數據,它必須作為消息從一個處理器傳遞到另一個處理器。例如NORMA就屬於分佈式存儲器。
在一個分佈存儲的多處理機系統中,如果所有的存儲 器都是私有的,僅能由本地處理器訪問,就稱為非遠程儲訪問(NO-Remote Memory Access,NORMA)。
[5]
NORMA模型的特點:
① 每個結點都是由處理器( P)、本地存儲 器( M)和(或) I/O 設備組成的自治計算機。多個結點由基於消息傳遞的互連網絡互連。
② 所有的存儲器都是私有的。
③ 絕大多數 NORMA 都不支持遠程存儲器的。
- 參考資料
-
- 1. 張友生.系統分析師考試輔導.北京:清華大學出版社,2007
- 2. 李學幹.計算機系統的體系結構.北京:清華大學出版社,2005
- 3. SISD、MIMD、SIMD、MISD計算機的體系結構的Flynn分類法 .CSDN Blog.2012-02-13[引用日期2016-12-28]
- 4. Andrew S. Tanenbaum.Structured Computer Organization (4 ed.). :Prentice-Hall. pp.,1997
- 5. 第7章.多指令流多數據流計算機ppt .無憂文檔[引用日期2016-12-28]