版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-多指令流多數(shù)據(jù)流

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

定義

多指令流多數(shù)據(jù)流(Multiplone Instructi****Stream Multiple Data Stream,MIMD),是Michael J. Flynn提出的根據(jù)指令流、數(shù)據(jù)流的多倍性特征對計(jì)算系統(tǒng)進(jìn)行分類的方法(通常稱為Flynn分類法)。1

MIMD是使用多個控制器來異步地控制多個處理器,能實(shí)現(xiàn)作業(yè)、任務(wù)、指令、數(shù)組各級全面并行的多機(jī)系統(tǒng)。多處理機(jī)屬于MIMD。當(dāng)前的高性能服務(wù)器與超級計(jì)算機(jī)大多具有多個處理機(jī),能進(jìn)行多任務(wù)處理,稱多處理機(jī)系統(tǒng)。2

并行計(jì)算機(jī)系統(tǒng)絕大部分為MIMD系統(tǒng),包括并行向量處理機(jī)(PVP,Parallel Vector Processor),對稱對多處理機(jī)(SMP,Symmetrical Multi Processor),規(guī)模并行處理機(jī)(MPP,Massively Parallel Processor),工作站機(jī)群(COW,Cluster Of Workstations),分布式共享存儲系統(tǒng)(DSM,Distributed shared Memory)。1

計(jì)算機(jī)系統(tǒng)分類Michael J. Flynn提出按指令流和數(shù)據(jù)流的多倍性對計(jì)算系統(tǒng)分類(通常稱為Flynn分類法)。

指令流:機(jī)器執(zhí)行的指令序列。

數(shù)據(jù)流:由指令流調(diào)用的數(shù)據(jù)序列,包括輸入數(shù)據(jù)和中間結(jié)果。

多倍性:在系統(tǒng)性能瓶頸部件上處于同一執(zhí)行階段的指令或數(shù)據(jù)的最大可能個數(shù)。2

Flynn分類法2

|| ||

(1)單指令單數(shù)據(jù)流(Single Instruction Stream Single Data Stream,SISD)

SISD其實(shí)就是傳統(tǒng)的順序執(zhí)行的單處理器計(jì)算機(jī),其指令部件每次只對一條指令進(jìn)行譯碼,并只對一個操作部件分配數(shù)據(jù)。流水線方式的單處理機(jī)有時也被當(dāng)作SISD。2

SISD機(jī)器是一種傳統(tǒng)的串行計(jì)算機(jī),它的硬件不支持任何形式的并行計(jì)算,所有的指令都是串行執(zhí)行。并且在某個時鐘周期內(nèi),CPU只能處理一個數(shù)據(jù)流。因此這種機(jī)器被稱作單指令流單數(shù)據(jù)流機(jī)器。早期的計(jì)算機(jī)都是SISD機(jī)器,如馮諾.依曼架構(gòu),如IBM PC機(jī),早期的巨型機(jī)和許多8位的家用機(jī)等。3

(2)單指令流多數(shù)據(jù)流(Single Instruction Stream Multiple Data Stream,SIMD)

SIMD是采用一個指令流處理多個數(shù)據(jù)流。

SIMD以并行處理機(jī)(陣列處理機(jī))為代表,并行處理機(jī)包括多個重復(fù)的處理單元PU1~PUn,由單一指令部件控制,按照同一指令流的要求為它們分配各自所需的不同數(shù)據(jù)。這類機(jī)器在數(shù)字信號處理、圖像處理、以及多媒體信息處理等領(lǐng)域非常有效。2

Intel處理器實(shí)現(xiàn)的MMXTM、SSE(Streaming SIMD Extensions)、SSE2及SSE3擴(kuò)展指令集,都能在單個時鐘周期內(nèi)處理多個數(shù)據(jù)單元。也就是說我們現(xiàn)在用的單核計(jì)算機(jī)基本上都屬于SIMD機(jī)器。3

(3)多指令流單數(shù)據(jù)流(Multiple Instruction Stream Single Data Stream,MISD)

MISD具有n個處理單元,按n條不同指令的要求對同一數(shù)據(jù)流及其中間結(jié)果進(jìn)行不同的處理。一個處理單元的輸出又將作為另一個處理單元的輸入。2

MISD是采用多個指令流來處理單個數(shù)據(jù)流。由于實(shí)際情況中,采用多指令流處理多數(shù)據(jù)流才是更有效的方法,因此MISD只是作為理論模型出現(xiàn),沒有投入到實(shí)際應(yīng)用之中。3

(4)多指令流多數(shù)據(jù)流(Multiple Instruction Stream MultipleData Stream,MIMD)

MIMD系統(tǒng)是指能實(shí)現(xiàn)作業(yè)、任務(wù)、指令、數(shù)組各級全面并行的多機(jī)系統(tǒng)。2

MIMD機(jī)器可以同時執(zhí)行多個指令流,這些指令流分別對不同數(shù)據(jù)流進(jìn)行操作。最新的多核計(jì)算平臺就屬于MIMD的范疇,例如Intel和AMD的雙核處理器等都屬于MIMD。3

按Flynn分類法對計(jì)算機(jī)分類舉例按Flynn分類法對計(jì)算機(jī)分類舉例2

|| ||

五種MIMD計(jì)算和結(jié)構(gòu)特征比較MIMD計(jì)算機(jī)包括:并行向量處理機(jī)(PVP)、對稱對多處理機(jī)(SMP)、大規(guī)模并行處理機(jī)(MPP)、工作機(jī)群(COW)、分布式共享存儲系統(tǒng)(DSM)。4

MIMD計(jì)算機(jī)體系結(jié)構(gòu)合一的結(jié)構(gòu)模型 20 世紀(jì) 90 年代以后,上述各種并行計(jì)算機(jī)的體系結(jié)構(gòu)呈現(xiàn)漸趨一致的趨勢。促使體系結(jié)構(gòu)漸 趨一致而最終合一的主要因素是:所有體系結(jié)構(gòu) 都要求快速的高質(zhì)量的互連網(wǎng)絡(luò);都希望盡量避 免或降低延遲;都希望能盡量隱藏通信代價;都必須支持不同的同步形式。

五種MIMD計(jì)算和結(jié)構(gòu)特征比較5

|| ||

共享式存儲器模型處理器都通過軟件或硬件裝置連接到“全局可用”存儲器。操作系統(tǒng)通常保持其內(nèi)存一致性。從程序員的角度來看,這種存儲器模型比分布式存儲器模型更好理解。而且,存儲器一致性由操作系統(tǒng)管理而不是靠寫入程序管理。當(dāng)然共享存儲模型也右明顯的缺點(diǎn):當(dāng)處理器數(shù)量超過三十二個時,處理起來非常困難;共享存儲器模型不如分布式存儲器模型靈活。

UMA(均勻存儲訪問),COMA(全高速緩存存儲訪問)和NUMA(非均勻存儲訪問)都屬于共享存儲器(多處理機(jī))。

UMA多處理機(jī)模型

UMA模型的特點(diǎn):5

① 物理存儲器(SM1~SMm)被所有處理器均勻共享。所謂均勻共享是指:所有處理器訪問任 何存儲器所需的時間都相同。

② 每個處理器可帶有私有高速緩存。

③ 外圍設(shè)備以一定的形式被共享。

NUMA多處理機(jī)模型NUMA模型的特點(diǎn):5

① 被共享的存儲器在物理上是分布在所有的處理器中,所有的本地存儲器(LM1~LMn)的集合組成全局地址空間。

② 處理器訪問存儲器所需的時間不相等,訪問本地存儲器LM或通過群內(nèi)互連網(wǎng)絡(luò)( Cluster Interconnection Network,CIN)訪問群內(nèi)共享存儲器 ( Cluster Shared Memory,CSM)費(fèi)時較少,訪問非本地存儲器或通過全局互連網(wǎng)絡(luò) ( Global Interconnection Network,GIN)訪問全局共享存儲器 (Global Shared Memory,GSM)費(fèi)時較多,即所謂非均勻存儲訪問。

③ 每個處理器可帶有私有高速緩存,外設(shè)也可以以某種形式共享。

COMA多處理機(jī)模型

COMA模型的特點(diǎn):5

① 各處理器結(jié)點(diǎn)中沒有存儲層次結(jié)構(gòu),全部高速緩存組成全局地址空間。

② 利用分布的高速緩存目錄D對遠(yuǎn)程高速緩 存進(jìn)行訪問。

③ COMA中的高速緩存容量一般都大于二級高速緩存容量。

④ 開始使用COMA時,數(shù)據(jù)可以任意分配到 高速緩存C中,在運(yùn)行過程中,數(shù)據(jù)將被遷移到 使用該數(shù)據(jù)的處理器結(jié)點(diǎn)的高速緩存中。

分布式存儲器模型在分布式存儲器中,每個處理器具有其自己的單獨(dú)存儲器地址。對于要共享的數(shù)據(jù),它必須作為消息從一個處理器傳遞到另一個處理器。例如NORMA就屬于分布式存儲器。

在一個分布存儲的多處理機(jī)系統(tǒng)中,如果所有的存儲 器都是私有的,僅能由本地處理器訪問,就稱為非遠(yuǎn)程儲訪問(NO-Remote Memory Access,NORMA)。5

NORMA模型的特點(diǎn):

① 每個結(jié)點(diǎn)都是由處理器( P)、本地存儲 器( M)和(或) I/O 設(shè)備組成的自治計(jì)算機(jī)。多個結(jié)點(diǎn)由基于消息傳遞的互連網(wǎng)絡(luò)互連。

② 所有的存儲器都是私有的。

③ 絕大多數(shù) NORMA 都不支持遠(yuǎn)程存儲器的。