脈動算法

脈動算法

脈動算法也稱“心動算法”,一類特殊的流水線算法。有三個基本屬性:數據的流動有節奏、有規律;數據的流向可以多於一個方向;各段執行的運算基本一樣,往一個脈動算法中,產生數據的進程和消耗數據的進程之間要求隱含的同步。

基本介紹

  • 中文名:脈動算法
  • 外文名:systolic algorithm 
  • 也稱:心動算法,搏動算法
  • 定義:流水線算法
  • 提出時間:70年代末
  • 套用學科:計算機原理
概述,脈動陣列,

概述

脈動算法又稱心動算法、搏動算法,是由H.T.Kung等人於70年代末首先提出來的。數據由主機不斷地、有節奏地傳送到處理機陣列中,數據在陣列中流動的同時,完成加工和處理任務,這恰似血液因心臟收縮而有節奏地流遍全身,在流動過程中完成其特定的生理功能。
脈動算法有下述特點:①處理機具有簡單的和一致的功能(陣列邊緣上的處理機可略有不同);②處理機間有規則的和近鄰的連線(如線性、四角或六角連線);③數據有規律和有節奏地流動;④數據在流動中被處理(流水線處理)。脈動算法的相應計算結構稱作脈動陣列。

脈動陣列

脈動陣列至今尚無嚴格的定義,一般說來,它有如下的特點:
1、具有按一維陣列或二維陣列規則配置的多個運算器,這些運算器具有簡單而相同的功能。
2、運算器之間的數據流和控制流是規則和局域的。
3、主計算機與陣列之間的通信通過位於陣列邊界的運算器來進行。
4、各運算器的控制通過整個區域的時鐘同步地進行。
5、通過流水線處理和並行處理相結合,能正比於PE數提高處理速度(linear—rate pipelinability)。
不過,如果一定要讓這些條件全部滿足,所能處理的問題就會受到極大限制。因此,即使有幾個條件不能滿足,也還有稱其為脈動陣列的。例如允許使用匯流排數據播放(broadcast)的半脈動陣列(semisystolic array)就是一例。

相關詞條

熱門詞條

聯絡我們