正文 第十二章 機器證明(3 / 3)

近年有不少計算機科學家指出,從程序驗證的前景來看,今後可能是測試與證明結合起來使用,也可能是一般程序用測試,而關係重大的程序或一個係統中的核心部分用證明。這一看法是值得重視的。

八十年代的計算機(提綱)

為廠對80年代的計算機作展望,首先要對元件作展望。我們認為《八十年代的計算機》-書中所作的估計是正確的,即半導體技術會沿用到90年代初。這是因為看來激光和超導等都不大可能在80年代取代半導體。

這樣在80年代中對計算機影響的將是技術,也可以說是微處理機技術。這裏所說的微處理機技術既指用微處理機族構成大型或巨塯機的技術,也指位片技術。

還有,在半導體方麵,新材料的引人(如砷化鉀等)可能使機器速度提高一兩個數景級。另外,磁泡在80年代會進人實際應用階段,而取代磁盤。

係統設計

關於係統設計在今後是否會有重:大變革的問題,在文獻中是有不同的意見的。有的計算機科學家認為在過去二十兒年計算機的係統結構沒有多大變化,:今後除了通過元件更新而使性能進一步提高外,也不會有多大變化。美國紐約大學的丁就是持這種觀點的。但就同際文獻來看,持這種觀點可能是少數派。更多的人是認為會有較人變化的。問題是朝著哪個方向變。就大和巨型機的係統結構來看,有下列幾種方向:

向量機

伊利阿克都屬於這一類。這些實際都是專用機。同時這一類結構給程序設計帶來了不少困難。

多處理機係統

這種結構已被發現對提高性能效率較低。日本有的計算機大公司曾作過實驗。據說雙機的性能等於單機的1.8倍,三機係統相等於單機的2.2倍,而十台處理機的性能還不到單機的5倍。

多功能部件

近年有一種係統結構引起了很多人的注意。這就是數據流計算機。目前美國、蘇聯、英國、法國、西德等國都有人在研製這種機器。這種機器在一定意義上可以看作是由多功能部件機器發展而來的。

另外,有一種新的設計思想值得注意,那就是操作係統部分硬件化(實際是固件化)的思想。據聞從公司計算機發展研究室負責人曾表示今後計算機發展的重要方向之一就是這種設計思想。

軟件

計算機軟件到了60年代後期在西方國家中曾出現了所謂“軟件危機”。為了解決這方麵的問題,人們提出了“軟件工程”這一概念。估計在今後十年中,計算機軟件方麵將沿著“軟件工程”這一方向繼續發展。

在軟件的研究中,主要的方向是方法方麵的改進,提出結構程序設計以及由此發展而來的一些新的方法。

數據流計算機

⑴向量機,⑵多處理機係統,⑶多功能部件的機器如認為都有缺點。他們提出了一種新的計算機係統結構的概念,即所謂“數據流計算機”。這種計算機的中心思想是使用一種新型的機器語言,這種語言能夠使得操作數就緒的指令先做。這樣的機器是一種高度並行的計算機。

由存貯器通過判定網絡傳輸到功能部件的信息是一些指示令組。由功能部件通過分配網絡傳輸到存貯器的信息是一些結果組。每一結果組將新計算出來的結果送往存貯器的一個特定的寄存器中。

在存貯器中存有程序和待用的計算結果。存貯器是由若幹存貯單元組成的。每個存貯單元包含三個寄存器;其中一個存放一條指令,其餘兩個寄存器則是用來存這條指令下一次執行時要用到的操作數。每個寄存器的內容可以看作常量也可以看作變量。指令寄存器的內容則通常是看作常量。

當一個存貯單元的三個寄存器都存有數據時,這個存貯單元就稱作是已啟動的,三個寄存器的內容構成一個指令組。

關於指令的形式,設有四個功能部件,則運算碼有一個由兩位數組成的指示所需要功能部件的區,另有一個指示要用到的功能部件的特定功能的區。每區則包含有存貯寄存器的地址,而這個寄存器是用來這條指令執行後所產生的計算結果的。

每個功能部件從判定網絡接收傳送給它的全部指令一般來發送兩個計算結果分配網絡。為了發揮最大的效率,每個功能部件是由三條流水線組成的:一條流水線是執行這項計算的,這裏的父和是指令組中的操作數。第二和第三條流水線則包含有目的地址。

判定網絡是這樣設計的,使得可以同時有許多個指令從存貯器傳送到這個網絡中。

這種計算機是由控製器指令存貯器和處理器這三部分構成的。自然,我們還設定,在這一機器中有輸人輸出部件和存]&半永久性的數據(文件)的部件。

控製器主要是用來收集中間結果和決定一條指令什麼時候可以執行。從處理器傳送到控製器的每個中間結果都是名字這兩部分組成的。這裏的名字是需要用到這一結果的指令的名字。在一組輸人齊全之後,控製器就將這一組輸入送往指令存貯器,而在那裏這種輸人將使得--可執行的指令送往處理器。一條可執行的指令包含下列二部分:待執行的運算;操作數;需要用到這一計算結果的指令的名字。