評論(0

計算機系統結構

標籤: 暫無標籤

計算機系統結構 ,從程序設計的角度研究的計算機的概念性結構和功能特性。一種計算機系統結構可以用多種計算機組織來實現。

1 計算機系統結構 -計算機系統結構

 

2 計算機系統結構 -正文

  從程序設計的角度研究的計算機的概念性結構和功能特性。G.M.亞當等人為了說明和研究從程序設計角度所看到的計算機的屬性(外特性),在1964年最先提出計算機系統結構的概念。一種計算機系統結構可以用多種計算機組織來實現。
  計算機系統層次結構  包括軟體和硬體的計算機系統可被看成是按功能劃分的多級層次結構。表中每一級各對應一類機器,各有自己的機器語言。在這裡,「機器」的定義是能存儲、執行程序的演算法和數據結構的集合體。各級機器的演算法和數據結構的實現方法不同:M0由硬體實現,M1由微程序(固件)實現,M2~M5由軟體實現。由軟體實現的機器稱為虛擬機器,以區別由硬體或固件實現的實際機器。各級的程序被翻譯成比它低一級的語言的程序,或由低一級的程序解釋。

計算機系統結構計算機系統結構

  概念性結構與功能特性  這是從程序設計者角度所看到的計算機屬性。它包括機器內的數據表示、定址方式,以及對這些數據的運算和控制這些運算的執行等(即指令系統)。不過,它並非僅包括與中央處理器有關的部分,而應是工作於機器級的程序設計者所看到的機器的所有部分,也就是包括處理機、存儲系統、輸入-輸出聯結方法和中斷機構等。對於通用型機器,一般包括:數據表示(能由硬體直接辨認的數據類型,如定點、浮點數、邏輯數等);定址方式(指令是如何訪問到其操作數的,包括最小編址單元和地址運算等);寄存器定義(包括操作數寄存器、變址寄存器、控制寄存器的定義);指令系統(包括機器指令的操作類型和格式,指令間的排序和控制機構等);中斷機構;機器工作狀態(如管態和自態等)的定義和狀態切換;機器級的輸入-輸出結構(包括對輸入-輸出設備的訪問方式,輸入-輸出數據的源、目的與數據傳送的控制,輸入-輸出操作的結束與出錯指示)以及對信息保護的支持等。
  學科內容  計算機系統結構作為學科,主要研究軟體、硬體功能分配和對軟體、硬體界面的確定。70年代以來,在計算機軟體方面有了顯著的進展。在計算機組織和實現技術上,最顯著的是器件技術的進展,其次是微程序技術、并行技術、專用部件和運算方法等方面的進展。計算機在性能、速度、價格、可靠性和組織、實現技術上雖比50年代末60年代初有了巨大的突破,然而,它們的系統結構卻並沒有什麼明顯的、突破性的進展。從程序設計者的角度所看到的計算機的屬性和60年代初相比,變化很小。例如,對於指令系統,程序設計者基本上仍然立足於60年代初的計算機系統結構觀點來設計複雜得多的軟體。
  絕大多數機器的計算機系統結構,仍然沒有脫離諾伊曼型(見計算機組織)的範圍。但是,J.諾伊曼設計其系統結構時,既沒有考慮到要採用高級語言,也沒有顧及有操作系統和許多應用領域的各種要求,由此引起的矛盾日益突出。
  計算機系統結構的設計要求,經歷了從面向彙編程序設計,到面向編譯程序設計和操作系統設計,直至增加面嚮應用軟體研製的幾個階段。
  計算機系統結構落後於其設計要求的狀況,可以用語義差距來說明。這包括高級語言與機器語言的語義差距、操作系統與計算機系統結構的語義差距,以及程序設計環境與計算機系統結構的語義差距。
  高級語言與機器語言的語義差距  這個差距表現在很多方面。從運算符和數據類型的關係來看,二者的用法甚至是相反的。在高級語言中,由說明語句指明數據的類型,使類型直接與數據本身相聯繫,但其運算符卻是通用的,並無數據類型的含義;而機器語言則正相反,它是由操作碼指明的運算符來決定操作數的類型。因此,在編譯過程中就需要把高級語言程序中的數據類型說明語句變換成機器語言的不同數據類型操作,而且要保證運算符兩邊的操作數類型確實與運算符所要求的相等。
  採用帶標誌符的數據表示,即由每個數據的標誌位指明數據是二進位整數、十進位整數、浮點數、字元串,還是地址等,可以顯著縮小這方面的語義差距,從而有兩方面的好處。①簡化程序設計:標誌符數據表示能提高指令的通用性。例如,加法指令只需一種,而不必分為二進位加、十進位加、浮點加、邏輯加等,可減少指令種類,簡化彙編程序設計。②為應用軟體的研製提供支持:採用標誌符技術,可由機器硬體直接檢測出多種程序設計錯誤,例如操作數錯誤定義、不相容、有未被定義的操作數等,從而提供了「類型安全環境」。由於每一字都可以有「軟體定義捕捉標誌符」而有助於程序跟蹤和調試。此外,還能簡化編譯過程,由硬體直接執行數據變換,並有利於資料庫系統去實現與數據類型的無關性。
  標誌符技術的缺點是使字長增加,每條指令所需的操作和拍數增加。從計算機的微觀性能,如從機器的運算速度來看,標誌符的引入是不利的;但從宏觀性能,如從程序的編製、調試和執行的總開銷來看,卻是有利的。標誌符技術已應用於一些微、小型機,很可能被下一代計算機所採用。另外,採用堆棧、向量數據表示也有利於縮小語義差距。
  諾伊曼型計算機系統結構的定址方式是對應於一維、線性、順序編址的存儲空間的。這和數據結構的要求並不一致,如數據結構往往是多維離散結構,就是名稱變數也多是離散分佈,因而須由軟體進行映像和變換。要研究高級定址方式以縮短數據結構與數據表示、定址方式的語義差距。
  人們早就提出應縮小高級語言與機器語言的語義差距,但一直沒有根本改變,原因是多方面的。高級語言本身是多樣化的,不穩定的,而且各種語言的語義結構也有較大差別。如果計算機系統結構被設計成語義結構盡量接近於某一種語言,則實現這種語言的效率必然很高;然而對語義結構與該語言差別較大的另一種高級語言來說,實現效率就可能比一般機器還低。對於需要設置多種高級語言的機器,只按一種高級語言來縮小語義差距,從整體來看往往是害多利少。因此,人們只得把計算機系統結構設計成比較通用的,使各種常用高級語言在語義差距上儘可能相近。這就是一般機器的計算機系統結構難以真正面向縮短語義差距的一個主要原因。當然,絕不是語義差距不能有任何縮小。人們已提出多種方案,也構成了一些實際機器,它們可按圖分類。

計算機系統結構計算機系統結構

  編譯中主要是採用翻譯技術。採用微程序控制的機器,則是通過解釋來實現機器語言的。因此,語義差距的縮小意味著增大解釋的比重,減少翻譯的比重。計算機系統要設置對應多種語言的多個編譯系統,為縮小語義差距所需增大的解釋部分,可以為多個編譯系統用以簡化翻譯過程,這從總體上看是合理的。
  圖中傳統機器的計算機系統結構是典型的諾伊曼型結構,它的語義差距最大,解釋的分量比翻譯的少得多。面向高級語言的機器採用多種縮小語義差距的措施,它的解釋的分量明顯增大。
  進一步增大解釋的比重,直至幾乎沒有語義差距,則可達到使高級語言成為機器的彙編語言,這種機器被稱為高級語言機器。它用彙編的方法把高級語言源程序翻譯成機器語言程序。高級語言機器本身也可以沒有機器語言,而直接由硬體和固件對高級語言源程序的語句逐條進行解釋。它既沒有編譯程序,也不用彙編程序,這種機器被稱為直接執行高級語言機器。已有的高級語言機器還沒有較好的性能價格比。隨著超大規模集成電路的發展,高級語言機器必然會得到發展。
  縮小語義差距,改進指令系統、定址方式和數據表示的目的遠不限於簡化編譯程序的設計和提高代碼生成的效率。對於計算機系統來說,編譯程序只是軟體中很小的一部分,而且它是由專門的、熟練的軟體人員來設計的,又往往只須1~2年設計一次。然而,應用軟體的開發卻要天天進行,而且設計人員的水平相對比較低。應用軟體的調試和排錯開銷很大,因而,應從計算機系統結構方面來改善軟體的開發,如由硬體發現高級語言程序的語法、語義和詞法上的錯誤,指明其錯誤所在,並將它返回映像到源程序,以及對安全性和程序的模塊化提供更好的條件等,其意義遠比改進編譯程序的設計大得多。
  操作系統與計算機系統結構的語義差距  操作系統與計算機系統結構間的語義差距較大。例如,進程的概念是操作系統的重要基礎,但是計算機系統結構對於進程的生成與撤銷、進程的切換、進程間的相互控制、進行間的同步與通信等提供的條件很少,幾乎沒有相應的機器指令。又如,計算機系統結構提供的存儲保護是對連續、定長存儲塊的保護,這和操作系統所要求的對子程序或變數的保護和共享,在語義上差別較大。還有,對操作系統中用得很多的表格和隊等也沒有反映。
  人們對於儘可能縮小計算機系統結構和操作系統的語義差距,已有幾乎一致的認識,而不象對高級語言機器有不同的看法。但這並不意味著應把整個操作系統的全部功能硬化或固化,宜於硬化的是「機構型」的功能,而不是「策略型」的功能。機構型功能是指基本的、通用的功能,如進程管理、信息保護和存儲管理等,它們是穩定的,能夠確切定義的,是常用的,因而宜於實現硬化。典型的策略型功能有上機費用計算、作業排隊、用戶標識、資源管理等。這些功能隨環境不同而異,而且用戶能夠修改,所以是不穩定的,在操作系統的生存期內可能會不斷變化,因而適於用軟體實現。硬體實現利於提高操作系統的執行效率和速度,減少開銷;軟體實現利於提供應有的靈活性。
  隨著超大規模集成電路的發展,必然會縮小語義差距。不過語義差距也非越小越好,因為語義差距的大小實質上取決於軟、硬體功能分配,而這主要應從實現費用、對速度的影響和其他性能要求來考慮,亦即考慮如何分配能提高性能價格比。
  實現費用包括研製費用和重複生產費用。硬體的設計費用和重複生產費用都比軟體大,宜於硬體實現的功能應該是穩定的、常用的、比較小的、而且是軟體實現的速度下降會對計算機系統性能有較大影響的那些功能。硬體實現只是對產量大的計算機系統才有經濟效益。如果硬體實現不能給用戶帶來明顯的好處,則不論硬體比例多高也不會有生命力。

 

3 計算機系統結構 -配圖

 

4 計算機系統結構 -相關連接

上一篇[鶉螺]    下一篇 [喵貓]

相關評論

同義詞:暫無同義詞