崔 妍
(哈爾濱鐵道職業(yè)技術(shù)學院,哈爾濱 150060)
計算機系統(tǒng)的基本結(jié)構(gòu)可以分為軟件和硬件兩部分。計算機系統(tǒng)層次劃分就是按照計算機軟硬件的運行原理和功能進行分層,以提高計算機系統(tǒng)設(shè)計質(zhì)量為目的,實現(xiàn)系統(tǒng)軟件、硬件、功能的有機結(jié)合。計算機系統(tǒng)層次結(jié)構(gòu)在經(jīng)過多年的研究和實踐后,業(yè)界總結(jié)了一些層次劃分和設(shè)計的基本原則,在不同類型的軟件項目中得以應用。隨著新技術(shù)的不斷涌現(xiàn),計算機系統(tǒng)層次結(jié)構(gòu)也在不斷改進和發(fā)展。
隨著硬件系統(tǒng)、程序設(shè)計語言、網(wǎng)絡(luò)環(huán)境等計算機技術(shù)的不斷發(fā)展,計算機系統(tǒng)體系層次結(jié)構(gòu)也在不斷進化,目前被廣泛應用的計算機系統(tǒng)體系層次結(jié)構(gòu)由低向高分為:
(1)微程序語言層級
系統(tǒng)開發(fā)人員在此層次使用微程序指令來構(gòu)建計算機硬件結(jié)構(gòu),實現(xiàn)不同元部件的控制和計算,主要功能包括存儲器、運算器、機器時鐘等。
(2)機器語言層級
系統(tǒng)開發(fā)人員利用機器語言指令集編寫的解釋性語言來實現(xiàn)硬件編程和機器控制,主要功能包括內(nèi)存尋址、計數(shù)器、I/O 操作指令等。
(3)操作系統(tǒng)層級
操作系統(tǒng)層利用一個軟件平臺進行軟硬件資源統(tǒng)籌管理,實現(xiàn)硬件系統(tǒng)功能的拓展和延伸,也為更高級的應用軟件提供I/O 控制、文件系統(tǒng)、網(wǎng)絡(luò)、交互界面等功能支持。
(4)匯編語言層級
系統(tǒng)開發(fā)人員使用匯編語言指令集來實現(xiàn)基于自然語言的程序,用助記符代替機器指令的操作碼,匯編語言的指令還受到操作系統(tǒng)平臺的限制。
(5)高級語言層級
高級語言建立在程序編譯的基礎(chǔ)上,使用自然語言編寫后進行解釋、翻譯執(zhí)行,編譯后的程序會逐級向下至硬件系統(tǒng),由硬件系統(tǒng)來執(zhí)行。
(6)應用程序?qū)蛹?/p>
應用程序是以功能實現(xiàn)為目標的一個或一類程序的統(tǒng)稱。應用程序使用高級語言編寫,其運行還要滿足操作系統(tǒng)平臺的要求。
計算機系統(tǒng)體系層次結(jié)構(gòu)的劃分標準并不惟一,每個層次的功能也不是獨立的,不同的軟硬件平臺也會造成劃分層次的不同。例如操作系統(tǒng)可以實現(xiàn)軟硬件之間的控制和文件系統(tǒng),數(shù)據(jù)庫軟件也可以實現(xiàn)文件管理的功能,但數(shù)據(jù)庫屬于應用程序級別而不是操作系統(tǒng)級別。
現(xiàn)行的計算機系統(tǒng)體系層次結(jié)構(gòu)劃分標準是基于馮氏存儲模型設(shè)計的,即硬件操作指令是按照串行相關(guān)性機理運行。盡管多年來眾多國家和科研機構(gòu)的科學家都在研究多值理論,但至今計算機系統(tǒng)仍沒有突破二進制理論體系,沒有擺脫寄存器結(jié)構(gòu)的束縛。在馮諾依曼體系中,存儲模型是以空間或時間的消耗為代價來實現(xiàn)工作的,這從本質(zhì)上就限制了信息處理能力的提升。因此,目前計算機系統(tǒng)體系層次結(jié)構(gòu)無論使用什么語言和硬件系統(tǒng),其本質(zhì)的屬性都是馮諾依曼結(jié)構(gòu),所以存在固有的缺陷是在所難免的。目前提高計算機系統(tǒng)信息處理能力的主要方式就是提高硬件性能和優(yōu)化算法時間和空間復雜度。
在計算機系統(tǒng)6層結(jié)構(gòu)的基礎(chǔ)上,在軟硬件設(shè)計過程中還要針對不同結(jié)構(gòu)進行技術(shù)選擇、邏輯設(shè)定、接口設(shè)計等層次結(jié)構(gòu)工作,其基本原則包括:
(1)確定性原則
系統(tǒng)層次結(jié)構(gòu)的設(shè)計就是對整個系統(tǒng)的功能、性能、接口和數(shù)據(jù)結(jié)構(gòu)進行定量、定性的描述,讓參與系統(tǒng)開發(fā)的相關(guān)人員明確各個層次的功能和總體要求。因此,在進行層次結(jié)構(gòu)設(shè)計時要明確各個層次的組織架構(gòu),以開發(fā)團隊實際情況為出發(fā)點,對各層次的參與人員、設(shè)計目標、上下層關(guān)系等內(nèi)容進行明確的描述和分析。層次結(jié)構(gòu)確定之后,才能以此為基礎(chǔ)進行后續(xù)的系統(tǒng)分析、設(shè)計、實現(xiàn)、測試、部署、優(yōu)化和運維等工作。
(2)高效性原則
層次結(jié)構(gòu)設(shè)計的意義就是提高開發(fā)效率,既不能一味追求效率而降低系統(tǒng)性能,也不能將層次結(jié)構(gòu)設(shè)計的過于復雜而降低了開發(fā)效率。要以事無巨細的態(tài)度對層次結(jié)構(gòu)進行優(yōu)化,降低后續(xù)問題出現(xiàn)的可能性,合理安排層次覆蓋順序,建立層次結(jié)構(gòu)之間的連接通道和接口。盡量降低層次之間的耦合度,保證各層次的高效開發(fā)和系統(tǒng)運行的健壯性。
(1)模型法
模型法主要針對軟件系統(tǒng)的特征條件進行設(shè)計,以概念模型的方式來設(shè)定層次結(jié)構(gòu)。模型法是以問題為導向,設(shè)計解決問題的基本模型,根據(jù)系統(tǒng)特征設(shè)定模型的約束條件后進行綜合推導,計算的過程和結(jié)果就是系統(tǒng)層次結(jié)構(gòu)設(shè)計的分層和結(jié)論。
(2)構(gòu)件法
構(gòu)件法是指將系統(tǒng)的主要功能單獨設(shè)計成為構(gòu)件組成一個層次,構(gòu)件層與非構(gòu)件層之間以指令集和數(shù)據(jù)接口的方式交互,并且構(gòu)件與構(gòu)件之間相對獨立。構(gòu)件法的目的就是提高系統(tǒng)核心功能的性能,降低模塊之間的耦合性。
(3)跨層法
跨層法是指在不相鄰層次之間以接口或服務的形式構(gòu)建的交互過程,以達到提高系統(tǒng)性能的目的。跨層法創(chuàng)建了不同層次之間的虛擬交互關(guān)系,比如在無線網(wǎng)這一系統(tǒng)結(jié)構(gòu)中,無線鏈路的不可靠特征、無線介質(zhì)的通信移動特征、無線信道廣播特征等都是通過跨層設(shè)計的方式進行改進的。
計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計是計算機技術(shù)、通信技術(shù)、網(wǎng)絡(luò)應用等信息技術(shù)發(fā)展的重要組成部分?,F(xiàn)有的計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計原則和量化標準為系統(tǒng)設(shè)計和開發(fā)提供了層次結(jié)構(gòu)設(shè)計的基本方法,但層次結(jié)構(gòu)機制的內(nèi)涵機制還要根據(jù)系統(tǒng)的功能特征來決定。隨著更多新技術(shù)的涌現(xiàn),計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計也要不斷優(yōu)化系統(tǒng)結(jié)構(gòu)才能使得新技術(shù)的優(yōu)勢得以發(fā)揮。