1. 程式人生 > >計算機系統層次結構

計算機系統層次結構

我們從計算機語言角度出發,把計算機系統劃分成多級層次結構,每一層以一種語言為特徵,如圖所示:

L1:微程式機器級

 這一級的機器語言是微指令集,使用者是計算機硬體的設計人員,編寫的微程式可以直接由計算機硬體/韌體解釋來實現

L2:傳統機器級

這一級的機器語言就是傳統的機器指令集。程式設計師用該指令集編寫的程式由L1級以上的微程式進行解釋執行。由微程式解釋指令集又叫做模擬。實際上,在L1上可以有多個能夠在它上面執行的解釋程式,每個解釋程式定義了一種指令集。有的機器沒有采用微程式技術,也就沒有微程式機器級。這時,L2的指令集是由硬聯邏輯直接解釋執行的。顯然硬聯邏輯速度更快。精簡指令級處理器就是採用這種實現方法。

L3:作業系統虛擬機器

虛擬機器的機器語言實現由L1和L2兩部分構成。L1用於實現對作業系統的功能的呼叫,例如開啟/關閉檔案,讀寫檔案等。這一級語言編寫的程式是由L3:和L2共同執行的,其中只有作業系統級指令是由OS連進行解釋執行的。

L4組合語言虛擬機器

用匯編語言編寫的程式,先翻譯成L3和L2級語言,然後再由相應的機器執行。

L5高階語言虛擬機器

用高階語言編寫的程式一般由編譯器翻譯到L4或L3上,個別的高階語言也用解釋方法實現,例如BASIC語言

L6應用語言虛擬機器

這一級語言就是為滿足某種用途設計的,所以這一級語言就是面向具體問題設計的應用語言。這一級語言一般由應用程式翻譯成L5級以上


可以看出以上L1~L3級用解釋的方法實現,而L4~L6 由翻譯的方法實現。

解釋和實現是語言實現的兩種基礎技術

共同點:都是以執行一串L級指令來實現一條L+1級指令

不同點:翻譯技術是把全部L+1級程式轉換成L級程式,在執行新產生的L級程式,執行過程不在訪問L+1級;就像翻譯官翻譯了全部以後人們才能聽懂

解釋技術是每條L+1級指令被譯碼後,就執行一串等效的L級指令,然後再去取下一條L+1級指令,依次重複進行。就像註釋一樣,解釋一條

顯然逐條解釋執行的時間會更長,但是它佔用的儲存空間較少。