數組處理機
正文
為數組、向量或從時域或空間中的點陣所取得的數據進行高速運算的處理機,有時也稱為陣列處理機。陣列處理機有兩種意義:一種是從功能的角度來說,即所處理的主要對象是陣列或數組,而不是標量,這就是數組處理機;另一種是從結構的角度來說,即在同一個控制機構控制下並行工作的具有相同結構的處理機陣列。數組處理機是在巨型計算機技術的基礎上,由專用的數字濾波器發展而來。60年代,在已有的計算機上加專用數字濾波部件,大大提高了計算機對數位訊號處理的運算速度。後來,專用部件發展成可程式序的通用數組處理機,並在70年代後期出現系列產品。數組處理機套用在雷達數位訊號處理、聲納信號處理、石油勘探地震資料處理、圖像處理、實時飛行模擬、熱核反應模擬、天體物理計算、結構分析、人工智慧等方面。特點和技術內容 數組處理機的主要特點是性能-價格比很高。在某些套用領域,它的運算速度可以達到大型計算機或巨型計算機的水平,而價格卻只有它們的幾分之一或幾十分之一。
數組處理機的規模可以很大,但也可以小到微型計算機的規模。80年代,利用超大規模積體電路技術,一個數組處理機可以集成在一個半導體矽片上。數組處理機的運算速度可以高到與巨型計算機相比;也可以比較低,如每秒鐘運算100萬次。
數組處理機需要與一台主機一起運用。它的運算速度比主機大約快一個數量級或更多。主機一般進行標量運算和系統管理,數組處理機進行高速數組運算(包括矩陣運算、快速傅立葉變換等)。主機和數組處理機可共享主存儲器和外圍設備。
數組處理機可以作為中央處理器的一部分而直接連到主存儲器上,但更常見的是通過外部通道和主機相連。某些數組處理機只能與某種型號的主機相連,而廣泛使用的數組處理機能與多種型號的主機相連。一台數組處理機可以與一台或多台主機相連;一台主機也可以與多台數組處理機連成一個系統,每台數組處理機只完成自已獨特的計算任務。
為了達到高速運算,在數組處理機的系統結構中採用並行技術或流水線技術,或兩者同時採用。在運算器中有獨立的加法器和乘法器,它們可以並行工作。在一個機器節拍(即一個時鐘周期)內,可以完成一個加法運算和一個乘法運算。為了實現這個目的,必須在一個節拍之內提供運算所需的數。在一般的數組處理機中,運算所需的數由多個存儲器提供。在同一節拍之內還要完成取指令、地址加工、循環計數和其他必要的操作,這些都可採用並行技術,因而也需要提供並行的數據通道。如要進一步提高運算速度,可以有多個加法器和多個乘法器,甚至還可以有獨立的除法器和開方器,它們都可以並行工作。
數組處理機也可以處理標量,一般由向量蛻化而來。當向量中的元素的個數為1時,即為標量。
軟體 通用的數組處理機一般採用微程式技術。常用的函式、算法等由生產廠家用微碼編寫成子程式,存放在機器的算術庫中,供用戶隨時調用。數組處理機一般有三種語言。①微彙編語言:機器一級的語言;②使用算術庫的宏彙編語言:用戶在編寫應用程式時,可以使用類似於 FORTRAN語言的指令去調用算術庫中的由生產廠提供的子程式,還可以把這些子程式連線起來形成自己的應用程式;③數組FORTRAN語言:數組FORTRAN編譯程式所產生的目標模組可與主機的 FORTRAN程式合併在一起。使用微彙編語言編寫的程式,運算效率高,但用戶需要了解數組處理機的內部結構,編寫程式所花的時間較長。使用數組FORTRAN語言,可以方便地編寫程式,但運算效率會大為降低。使用宏彙編語言可以獲得較高的運算效率,使用也比較方便。
高速數組處理機的一個發展趨勢是同具有其他功能的處理機(如資料庫處理機、作業系統處理機、輸入輸出處理機、通信處理機等)一起組成功能分布計算機系統。在這種系統中,每種處理機可以高效地完成本身的特定功能。這種系統的功能很強,處理速度也很快。