系統和內存架構

在設計程序或併發系統時,需要考慮不同的系統和內存架構風格。 這是非常必要的,因爲一個系統和內存風格可能適合於一項任務,但可能會出錯以適應其他任務。

支持併發的計算機系統體系結構

1972年,邁克爾弗林(Michael Flynn)給出了用於分類不同風格計算機系統體系結構的分類法。 該分類法定義了以下四種不同的樣式 -

  • 單指令流,單數據流(SISD)
  • 單指令流,多數據流(SIMD)
  • 多指令流,單數據流(MISD)
  • 多指令流,多數據流(MIMD)。

1. 單指令流,單數據流(SISD)

顧名思義,這種類型的系統將有一個連續的輸入數據流和一個處理單元來執行數據流。 它們就像具有並行計算體系結構的單處理器系統一樣。 以下是SISD的架構 -

系統和內存架構

SISD的優點
SISD架構的優點如下 -

  • 它需要更少的電力。
  • 多核之間沒有複雜的通信協議問題。

SISD的缺點
SISD架構的缺點如下 -

  • SISD架構的速度與單核處理器一樣有限。
  • 它不適合更大的應用程序。

2. 單指令流,多數據流(SIMD)

顧名思義,這種類型的系統會有多個輸入數據流和多個處理單元,這些單元可以在任何給定時間作用於單條指令。 它們就像具有並行計算架構的多處理器系統。 以下是SIMD的架構 -

系統和內存架構

SIMD最好的例子就是顯卡。顯卡擁有數百個單獨的處理單元。 如果要談論SISD和SIMD之間的計算差異,那麼對於添加數組[5,15,20][15,25,10],SISD架構將不得不執行三種不同的添加操作。 另一方面,通過SIMD體系結構,我們可以添加一個單獨的添加操作。

SIMD的優點
SIMD架構的優點如下 -

  • 多個元素的相同操作只能使用一條指令執行。
  • 通過增加處理器的核心數量可以增加系統的吞吐量。
  • 處理速度高於SISD架構。

SIMD的缺點
SIMD架構的缺點如下 -

  • 處理器的核心數量之間存在複雜的通信。
  • 成本高於SISD架構。

3. 多指令單數據(MISD)流

具有MISD流的系統通過在同一數據集上執行不同指令來執行不同操作的處理單元數量。 以下是MISD的架構 -

系統和內存架構

MISD體系結構尚未商業化。

4. 多指令多數據(MIMD)流

在使用MIMD體系結構的系統中,多處理器系統中的每個處理器可以並行地在不同的一組數據集上獨立地執行不同的指令集。 與SIMD體系結構相反,單一操作在多個數據集上執行。 以下是MIMD的架構 -

系統和內存架構

普通的多處理器使用MIMD體系結構。 這些架構基本上應用於許多應用領域,如計算機輔助設計/計算機輔助製造,仿真,建模,通信交換機等。

內存架構支持併發

在處理併發性和並行性等概念的同時,始終需要加速這些程序。 計算機設計人員發現的一個解決方案是創建共享內存多計算機,即具有單個物理地址空間的計算機,該計算機可以被處理器擁有的所有內核訪問。 在這種情況下,可以有多種不同風格的架構,但以下是三種重要的架構風格 -

UMA(統一內存訪問)
在此模型中,所有處理器均勻分享物理內存。 所有處理器對所有內存字都有相同的訪問時間。 每個處理器可以有一個私有緩存存儲器。 外圍設備遵循一套規則。

當所有的處理器對所有的外圍設備有相同的訪問權限時,系統被稱爲對稱多處理器。 當只有一個或幾個處理器可以訪問外圍設備時,系統稱爲非對稱多處理器。
系統和內存架構
**
非均勻內存訪問(NUMA)**
在NUMA多處理器模型中,訪問時間隨內存字的位置而變化。 這裏,共享存儲器物理地分佈在所有處理器中,稱爲本地存儲器。 所有本地存儲器的集合形成一個全局地址空間,所有處理器都可以訪問它。

系統和內存架構

僅緩存內存體系結構(COMA)
COMA模型是NUMA模型的專用版本。 這裏,所有分配的主存儲器都被轉換成高速緩衝存儲器。

系統和內存架構