- 嵌入式硬件技術基礎
- 王曉薇 周傳生 李冶主編
- 1948字
- 2018-12-27 15:19:59
1.3 計算機系統的層次結構
計算機系統以硬件為基礎,通過配置各種軟件,形成一個有機組合的系統。使用計算機幫助我們解決問題的方法從控制流程的角度看可分為三種:
①全硬件的方法,即使用組合、時序邏輯設計方法,設計硬件邏輯電路,實現控制流程;
②軟、硬件相結合的方法,即部分流程由硬件邏輯實現,另一部分由微程序實現;
③全軟件的方法,即采用某種計算機語言,按流程算法編制程序,實現控制流程。
究竟采用什么方法,取決于人員知識、開發成本、速度、可靠性、存儲容量等多種因素。
計算機能提供給我們這么多解決問題的方法,與計算機自身不同層面上的功能是分不開的。我們采用一種層次結構的觀點分析計算機,便于我們選擇某一層次分析計算機的組成、性能和工作原理。計算機系統按功能劃分的層次結構如圖1-3所示。

圖1-3 計算機系統按功能劃分的層次結構圖
一臺實際的計算機在沒有加載任何軟件之前就是一臺最基本的物理機,物理機按照功能實現劃分成不可再分的三個實際機器層次,M0 是由電子線路組成的機器實體,這里稱其為硬聯邏輯層,M1是支持和執行微指令的微程序層,M2是機器語言層。計算機設計者關心實際機器層的組成。面向實際機器層,用戶只有編制二進制代碼程序,才能使之工作。在這三個層次上解決實際問題都屬于硬件層面。
M3 ~M6為虛擬機器層。虛擬機只對“觀察者”存在,它的功能體現在廣義的計算機語言上(即把計算機上安裝的所有不同層面上的軟件都看成是計算機語言),虛擬機除應用自身層次上的語言外,還對緊鄰的較低層次提供自身語言的翻譯手段。從某一層次的觀察者看來,他只能是通過該層次的語言來了解和使用計算機,至于對實際問題在較低層次上的具體解決和實現是不必關心的。即虛擬機是提供了軟件支持的計算機。為使用戶能夠高效、方便地使用計算機,通常面向用戶的是一臺虛擬機器。
M3是操作系統層。操作系統是計算機軟件中的核心程序,用來管理和控制計算機系統中的硬件和軟件資源,并為用戶和其他軟件提供服務。操作系統控制應用程序執行,并作為計算機用戶與計算機硬件間的接口。操作系統與計算機硬件有著固有的聯系:在設計操作系統時,必須充分考慮硬件的特性;在設計硬件時,也必須認識到硬件必須為操作系統提供足夠的支持。
操作系統的主要功能有:
①處理器管理功能,即為一個或多個用戶合理、有效地分配CPU;
②存儲管理功能,即合理組織和分配存儲空間(包括主存和輔存);
③數據管理功能,即合理組織信息在輔助存儲器上的存儲和檢索;
④設備管理功能,即合理組織和使用I/O設備;
⑤作業管理功能,即合理組織和調度作業的運行;
⑥系統的安全和保護功能,即為保護系統正常運行,減少和避免由各種操作錯誤及設備故障引起的問題所采取的防范措施。
操作系統的工作方式是:計算機在開機的瞬間,固化在ROM BIOS(在計算機主板上)中的引導程序將操作系統內核裝入主存,然后操作系統運行它的第一個初始化進程,初始化整個系統,隨后準備處理用戶的各種請求和系統中的事件。現代操作系統是事件(中斷、用戶請求等)驅動的,如果沒有進程執行、用戶響應和I/O設備需要服務,操作系統將靜止地等待。當中斷發生時,硬件將CPU的控制權交給操作系統,操作系統進行中斷處理,完成后又靜止等待下一個事件。中斷是激活操作系統的手段,提供完善的中斷機制是現代計算機必備的。
M4是中間語言或匯編語言層。面向用戶的是提供了匯編支持的虛擬機器,用戶可以使用匯編語言編寫程序。
M5是高級語言層。面向用戶的是提供了編譯或解釋支持的虛擬機器,用戶可以使用高級語言編寫程序。
M6是應用語言層。這一層是為使計算機滿足某種用途而專門設計的,是各種面向問題的應用語言。可以設計專門用于人工智能、教育、行政管理和計算機設計等方面的虛擬機器,這些虛擬機器也是當代計算機應用領域的重要研究課題。
我們利用計算機解決問題,使其展開復雜的任務處理,實際上就是在計算機系統的層次結構上按照從較高層次到較低層次的層層“翻譯”來完成的,如常見的:用戶→建模→應用程序→高級語言→匯編、編譯或解釋語言→操作系統→機器語言→微程序→硬聯邏輯。
計算機系統的層次結構的概念是在計算機發展過程中逐漸形成的,分層方式不是唯一的。不同計算機系統之間的層次結構的劃分與實現方法是有差別的,一般來說,相鄰層的語法結構的差別不大,這有利于編譯或解釋,但最終必須處理為能在實際機器上直接執行的機器語言程序。在以上所述的分層方式中,計算機系統的軟、硬件界面定在M2 與M3 之間。但是,隨著大規模集成電路技術的發展,計算機軟、硬件界面已經變得模糊。任何操作可以用軟件完成,也可以用硬件完成;任何指令的執行可以用硬件完成,也可以用軟件完成。
計算機系統構成多層次結構,使得各層次面向不同的人員。作為學習計算機組成與結構的人員,面向我們的是匯編語言層M4、機器語言層M2和微程序層M1。