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