1983年 8月164期上一篇下一篇

#發行日期:1983、08

#期號:0164

#專欄:

#標題:淺談高速運算大型電腦

#作者:葛亦愚

高速運算大型電腦的定義

提高整體效能的方法

應用範圍

結語

:葛亦愚任職於資訊工業策進會。

 

 

 

 淺談高速運算大型電腦


【摘要】高速運算大型電腦是提高科技發展的最佳利器之一

高速運算大型電腦的定義

何謂高速運算大型電腦,事實上見仁見智,並沒有一明確的定義。如果以現在絕大多數仍在使用的大型電腦與五年、十年前的電腦來作一比較,則現今使用之絕大多數大型電腦均可稱之為高速運算大型電腦。但由於科技之進步一日千里,無論在太空發展、石油探勘、氣象應用以及大型結構計算等對計算速度與精確度的需求均作大幅度的增加,因而對高速運算大型電腦的要求也越來越嚴格。本文為便於討論起見,玆就現今世界上較多應用於高速計算需求上的大型電腦,如CRAY公司的CRAY-1系列,以及CDC公司的CYBER 200系列,以及其他電腦公司相同能量的電腦系統來作為討論的標準。

提高整體效能的方法

各類高速運算大型電腦,為了大幅度的提升整體效能,增加運算速度,當然無論在硬體的結構、軟體的設計,以及輸入/出的方法上,如大量的增加其記憶體(memory),提高中央處理單位(C. P. U)的處理速度,增加通道(channel)的數量,提高通道的傳輸速度,簡化操作系統(operation system)等等均有獨到之處。但歸納起來,其設計的精神與一般電腦系統的不同之處可以下列幾點作概略的說明:

一、在電腦的硬體結構上,使用向量處理單位(vector processing unit)來執行陣列(array)的計算。以處理下列一個FORTRAN語言程式的do-loop為例:

如以一般電腦來執行do-loop作業,預計共需執行以下5個組合語言(assembly language)100次。即分別自A(I)以及B(I)取資料(memory fetches)置於記錄器(register)內,作一次記錄器的相加(addition),將記錄器內的和存回記憶體(store to memory)內,再作一次記數器加1和檢查計數器的結果並跳至次一個取資料的位置(increment a counter, test and branches, back to load the next pair of input operand)。如此週而復始共執行100次方結束此do-loop作業。

向量處理單位原則上可以一個硬體的指令(hardware instruction)來執行此作業。當程式經過編譯(compile)後,如某部分適合以向量處理單位來處理,即直接將該部分編譯為一個硬體指令,俾執行程式時,該部分即可以向量處理單位來作業。

向量處理單位處理上述兩個陣列相加的硬體作業示意圖如下:

自記憶體將陣列A與陣列B內所有單元的數值,依序將其傳送至特定的緩衝區記錄器X和Y(buffer register X and Y),再由此兩特定的緩衝區記錄器將所有的數值依序傳送至加法器(adder)的導管(pipeline )內執行加法,並將最後的結果先存回緩衝區記錄器內,再轉存於陣列C內。如此即完成了兩個陣列的相加,並將結果存至陣列C內。而其執行的速度遠快於do-loop的方式。由於緩衝區記錄器不可能太大,如陣列大於緩衝區記錄器時,則程式撰寫者應將該陣列裁為若干個小於或等於緩衝區記錄器的陣列,以便執行。也有的高速運算大型電腦可於程式編譯時,自動作該部分的轉換,而不需要程式撰寫者於撰寫程式時作特別的注意。

二、利用導管作業的方法來加速指令的執行,導管作業的構想緣起於IBM電腦系統。其作業的精神類似於工廠生產線的作業,即是將一條生產線區分為若干段落,相同的產品按先後的順序可同時在不同的段落執行不同的裝配。玆以導管的方式執行浮點加法指令(floating point addition instruction)為例:

浮點加法指令區分為按先後順序排列四個部分,第一部分為指數部分的比較(exponent comparison),第二部分為整數部分的統一(mantissa alignment),第三部分為整數部分的相加(mantissa addition),最後一部分為和的正常化(normalization)。依據導管的作法,當前一個指令執行完第一部分指數部分的比較進入第二部分整數部分的統一時,次一個浮點加法指令即可進入導管的第一部分作指數部分的比較。以下面為例:

根據上面的說明,如有一連串浮點加法需先後執行,在同一個時階內如不利用導管作業,則只能作一個浮點加法的一個動作。而如利用導管作業,則可同時執行四個浮點加法的四個不同的動作,幾乎可將時間縮短四倍。

三、儘量減少直接的低速輸入/出(I/O)作業

就高速運算大型電腦而言,低速的輸入/出為其瓶頸,為了儘量減少I/O作業影響其處理速度,通常均另外透過一前置電腦(front-end computer)來處理其輸入/出作業。玆以下列二圖來表示其區別:

(一)一般電腦的輸入/出作業

將各種輸入/出的週邊設備(peripheral devices)直接接至電腦上作業。

(二)高速運算大型電腦的輸入/出作業

透過前置電腦將輸入/出的週邊設備接至前置電腦上來處理輸入/出作業。

高速運算大型電腦與前置電腦不一定是同一廠家的電腦,有的發展高速運算大型電腦的廠家並不發展前置電腦,因此之故,為了方便使用者起見,發展高速運算大型電腦的廠家均發展接連前置電腦的介面(interface )及軟體(software)。以只發展高速運算大型電腦的CRAY公司為例,為使其產品更有競爭性,便於使用者選擇,其發展的連接前置電腦的介面及軟體可適用於CDC、IBM、AMDAHL、HONEYWELL、DEC以及DATA-GENERAL等電腦公司的電腦。

應用範圍

就理論上來講,高速運算大型電腦幾乎可用在任何科學領域作為研究發展的工具,但因考慮其效能與成本的配合,因此現有此類電腦主要仍然是應用於需要時效且大量高速計算的研究與實用上。玆列舉其一些主要應用的領域以為參攷。

•石油探勘

•太空發展

•天氣預測

•核子研究

•國防

•結構分析

•地球物理和地震分析

•醫藥研究

•流體動力

•電力輸配

結語

高速運算大型電腦確實是推動高科技發展的最佳利器,但由於設置的費用非常高,往往需數百萬至上千萬美元,因此之故,迄目前為止尚無一部相類似的電腦在國內設置。對國內的電腦界及應用上來說,仍然是一個全新的領域。但由於國內高科技的發展與應用正蒸蒸日上,對類似電腦的需求也越來越迫切。所謂「工欲善其事,必先利其器」,相信不久的將來當可見到該類電腦在國內設置、作業。

 

 

 
   

回到最上面

 

科學月刊全文資料庫

最佳瀏覽解析度800*600,請使用IE4.0以上版本的瀏覽器

科學月刊雜誌社.金台灣資訊事業有限公司.圖龍文化事業股份有限公司版權所有
Copyright 2000 Science Monthly and King-Taiwan Information Technology Inc. All Rights Reserved.