什麼是 SIMD 架構?


SIMD 代表單指令多資料流。SIMD 平行計算模型包括兩個部分,例如通常馮諾依曼風格的前端計算機和圖中所示的處理器陣列。

處理器陣列是由相同同步處理單元的集合組成,足以同時對各種資料執行相同的操作。陣列中的每個處理器都有少量本地記憶體,分散式資料在並行處理時駐留在其中。

處理器陣列連線到前端的記憶體總線上,以便前端可以隨機建立本地處理器記憶體,就好像它是另一塊記憶體一樣。

可以使用傳統的序列程式語言在前端開發和執行程式。應用程式由前端以通常的序列方式執行,但問題命令到處理器陣列以並行執行 SIMD 操作。

序列和資料並行程式設計之間的相似性是資料並行性的有效點之一。處理器的鎖步同步使同步變得無關緊要。處理器要麼什麼也不做,要麼同時執行類似的操作。

在 SIMD 架構中,透過對大量資料集使用同時操作來利用並行性。這種範例最有利於解決具有需要整體升級的多個數據的問題。在許多常規科學計算中,它具有動態的強大功能。

SIMD 機器中已應用兩種主要配置。在第一種方案中,每個處理器都有其本地記憶體。處理器可以透過互連網路相互互動。如果互連網路不支援給定處理器組之間的直接連線,則該組可以透過中間處理器交換資訊。

在第二種 SIMD 方案中,處理器和記憶體模組透過互連網路相互通訊。兩個處理器可以透過中間記憶體模組或可能透過中間處理器相互發送資訊。BSP(Burroughs 的科學處理器)使用了第二種 SIMD 方案。

更新於: 2021 年 7 月 30 日

13K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告