複製鏈接
請複製以下鏈接發送給好友

並行體系結構

鎖定
計算機體系結構是指根據屬性和功能不同而劃分的計算機理論組成部分及計算機基本工作原理、理論的總稱。並行性是指計算機系統具有可以同時進行多於兩個運算或操作。並行體系結構是指許多指令能同時進行的體系結構,一般從時間和空間兩方面考慮。
中文名
並行體系結構
外文名
Parallel architecture
學    科
計算機
定    義
許多指令能同時進行
分    類
Flynn分類法、馮式分類法
領    域
體系結構

並行體系結構結構介紹

並行體系結構出現主要因為隨着各個領域對高性能計算的要求越來越高,尤其是多媒體領域大數據量高實時性的需求,使得傳統的單處理器體系結構已經很難適應大規模並行計算的需求,於是多處理器並行體系結構逐漸成為研究的熱點。 [1] 
多種級別的並行度現在已經成為計算機設計的推動力量,而能耗和成本則是主要約束條件。應用程序中主要有以下兩種並行。
(1) 數據級並行(DLP),它的出現是因為可以同時操作許多數據項。
(2) 任務級並行(TLP),它的出現是因為創建了一些能夠單獨處理但大量採用並行方式執行的工作任務。
計算機硬件又以如下4種主要方式來開發這兩種類型的應用並行。
(1) 指令級並行在編譯器的幫助下,利用流水線之類的思想適度開發數據級並行,利用推理執行之類的思想以中等水平開發數據級並行。
(2) 向量體系結構和圖形處理器(GPU)將單條指令並行應用於一個數據集,以開發數據級並行。
(3) 線程級並行在一種緊耦合硬件模型中開發數據級並行或任務級並行,這種模型允許在並行線程之間進行交互。
(4) 請求級並行在程序員或操作系統指定的大量去耦合任務之間開發並行。
並行體系結構有以下五種訪存模型:均勻訪存模型(UMA)、非均勻訪存模型(NUMA)、全高速緩存訪存模型(COMA)、一致性高速緩存非均勻存儲訪問模型(CC-NUMA)和非遠程存儲訪問模型(NORMA)。

並行體系結構並行性

同時性:兩個或兩個以上的事件在同一時刻發生。
併發性:兩個或兩個以上的事件在同一時間間隔發生。
分類
⑴從處理數據的角度看,並行性等級從低到高可分為四類。
字串位串
同時只對一個字的一位進行處理。這是最基本的串行處理方式,不存在並行性。
字串位並
同時對一個字的全部位進行處理,不同字之間是串行的。這裏已開始出現並行性。
字並位串
同時對許多字的同一位進行處理。這種方式有較高的並行性。
全並行
同時對許多字的全部位進行處理。這是最高一級的並行。
⑵從執行程序的角度看,並行性等級從低到高也可分為四類。
指令內部並行
一條指令執行時各微操作之間的並行。
指令級並行
並行執行兩條或多條指令。
任務級或過程級並行
並行執行兩個以上過程或任務(程序段)。
作業或程序級並行
並行執行兩個以上作業或程序。

並行體系結構分類法

Flynn分類法
1966年,Michael J.Flynn提出根據指令流、數據流的並行度對計算機系統進行分類,定義如下。
·指令流:機器執行的指令序列
·數據流:由指令流調用的數據序列,包括輸入數據和中間結果
·並行度:指令或數據並行執行的最大可能數目。
Flynn根據不同的指令流-數據流組織方式把計算機系統分為4類。
1·單指令流單數據流(Single Instruction Stream Single DataStream,SISD)
SISD其實就是傳統的順序執行的單處理器計算機,其指令部件每次只對一條指令進行譯碼,並只對一個操作部件分配數據。
2·單指令流多數據流(Single Instruction Stream Multiple Data Stream,SIMD)
SIMD以並行處理機為代表,並行處理機包括多個重複的處理單元PU1~PUn,由單一指令部件控制,按照同一指令流的要求為它們分配各自所需的不同的數據。
3·多指令流單數據流(Multiple Instruction Stream Single Data Stream,MISD)
MISD的結構,它具有n個處理單元,按n條不同指令的要求對同一數據流及其中間結果進行不同的處理。一個處理單元的輸出又作為另一個處理單元的輸入。
4·多指令流多數據流(Multiple Instruction Stream Multiple Data Stream,MIMD)
MIMD的結構是指能實現作業、任務、指令等各級全面並行的多機系統,多處理機就屬於MIMD。 [2] 
馮式分類法
1972年馮澤雲提出用最大並行度來對計算機體系結構進行分類。所謂最大並行度Pm是指計算機系統在單位時間內能夠處理的最大的二進制位數。設每一個時鐘週期△ti內能處理的二進制位數為Pi,則T個時鐘週期內平均並行度為Pa=(∑Pi)/T(其中i為1,2,…,T)。平均並行度取決於系統的運行程度,與應用程序無關,所以,系統在週期T內的平均利用率為μ=Pa/Pm=(∑Pi)/(T*Pm)。用平面直角座標系中的一點表示一個計算機系統,橫座標表示字寬(N位),即在一個字中同時處理的二進制位數;縱座標表示位片寬度(M位),即在一個位片中能同時處理的字數,則最大並行度Pm=N*M。
由此得出四種不同的計算機結構:
①字串行、位串行(簡稱WSBS)。其中N=1,M=1。
②字並行、位串行(簡稱WPBS)。其中N=1,M>1。
③字串行、位並行(簡稱WSBP)。其中N>1,M=1。
④字並行、位並行(簡稱WPBP)。其中N>1,M>1。

並行體系結構MIMD分類

並行向量
向量處理器,又稱數組處理器,是的一種實現了直接操作一維數組(向量)指令集的中央處理器(CPU)。這與一次只能處理一個數據的標量處理器正相反。向量處理器可以在特定工作環境中極大地提升性能,尤其是在數值模擬或者相似領域。向量處理器最早出現於20世紀70年代早期,並在70年代到90年代期間成為超級計算機設計的主導方向,尤其是多個克雷(Cray)平台。由於常規處理器設計性價比的快速下降,基於向量處理器的超級計算機在90年代末逐漸讓出了主導地位。
現在,絕大多數商業化的CPU實現都能夠提供某種形式的向量處理的指令,用來處理多個(向量化的)數據集,也就是所謂的SIMD(單一指令、多重數據)。常見的例子有VIS,MMX,SSE,AltiVecAVX。向量處理技術也能在遊戲主機硬件和圖形加速硬件上看到。在2000年,IBM東芝索尼合作開發了Cell處理器,集成了一個標量處理器和八個向量處理器,應用在索尼的PlayStation 3遊戲機和其他一些產品中。
對稱多重
對稱多處理(英語:Symmetric multiprocessing,縮寫為 SMP),也譯為均衡多處理對稱性多重處理,是一種多處理器的電腦硬件架構,在對稱多處理架構下,每個處理器的地位都是平等的,對資源的使用權限相同。現代多數的多處理器系統,都採用對稱多處理架構,也被稱為對稱多處理系統(Symmetric multiprocessing system)。在這個系統中,擁有超過一個以上的處理器,這些處理器都連接到同一個共享的主存上,並由單一操作系統來控制。在多核心處理器的例子中,對稱多處理架構,將每一個核心都當成是獨立的處理器。
在對稱多處理系統上,在操作系統的支持下,無論進程是處於用户空間,或是核心空間,都可以分配到任何一個處理器上運行。因此,進程可以在不同的處理器間移動,達到負載平衡,使系統的效率提升。
大規模並行
大規模並行處理機(Massively Parallel Processor)是由多個由微處理器局部存儲器網絡接口電路構成的節點組成的並行計算體系;節點間以定製的高速網絡互聯。大規模並行處理機是一種異步的多指令流多數據流,因為它的程序有多個進程,它們分佈在各個微處理器上,每個進程有自己獨立的地址空間,進程之間以消息傳遞進行相互通信。
參考資料