李禮
摘要:計算機系統(tǒng)體系結(jié)構(gòu)的層次設(shè)計是一項非常復(fù)雜的工程,文章對計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計的原則、機制和路徑分別進行分析,確保計算機系統(tǒng)能夠高效運作,同時便于系統(tǒng)開發(fā)與后期的維護。
關(guān)鍵詞:計算機系統(tǒng);層次設(shè)計;結(jié)構(gòu)
1計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計的含義
計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計是指層次結(jié)構(gòu)設(shè)計。所謂層是指計算機系統(tǒng)體系結(jié)構(gòu)當(dāng)中一組或一個功能或某些方面類似的模塊的集合,集合內(nèi)的功能模塊之間可以交互,層與層外部通過層的接口相連。層次則是指一組或一個層以及層之間的交互式模塊集合。層次與層在概念上類似,但在層的動機和觀察方法以及對己知系統(tǒng)的劃分有所不同。層次研究的是對象系統(tǒng)中的體系結(jié)構(gòu),層次規(guī)定了不同層之間的連接規(guī)則、連通性以及連接的邏輯。計算機系統(tǒng)體系結(jié)構(gòu)的層次設(shè)計一般包括層次結(jié)構(gòu)模型的設(shè)計、層次跨層的設(shè)計、層次構(gòu)建的設(shè)計和層次覆蓋的設(shè)計4個方面。
2計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計的原則
2.1簡化原則
簡化原則是層次設(shè)計的首要原則。系統(tǒng)層次結(jié)構(gòu)設(shè)計在很大程度上可以幫助系統(tǒng)測試驗證,其設(shè)計的初衷就是要簡化系統(tǒng)結(jié)構(gòu)。層次結(jié)構(gòu)設(shè)計與模塊化設(shè)計相似,需要將整個計算機系統(tǒng)劃分層次,從而確保每個層次及層次之間都變得更加簡單??梢?,層次設(shè)計就是為了使計算機系統(tǒng)的認(rèn)知、維護、驗證、測試與優(yōu)化等工作都變得更加的簡單方便。因此,基于這些方面,在層次設(shè)計過程中務(wù)必采用簡化原則,將每個層次的功能與資源進行簡化,降低層次設(shè)計過程中的復(fù)雜性。
2.2效率原則
計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計除了遵循簡化原則以外,還必須遵循效率原則。不能為了使系統(tǒng)結(jié)構(gòu)的設(shè)計與維護變得更加簡單,就犧牲效率。事實上,在進行計算機系統(tǒng)體系結(jié)構(gòu)設(shè)計時,必須要考慮計算機系統(tǒng)運行的可靠性與性能,確保計算機系統(tǒng)能實現(xiàn)其設(shè)計目的中的效率。效率的提高主要表現(xiàn)在層次之間的覆蓋設(shè)計和跨層設(shè)計當(dāng)中,要將各層次間的接口以及接口間的鏈接設(shè)計,這個設(shè)計就必然使得計算機系統(tǒng)體系結(jié)構(gòu)變得更加復(fù)雜,但是卻能提高系統(tǒng)的效用。
因此,在層次設(shè)計中需要綜合權(quán)衡簡化原則與效率原則。不能為了單純的簡單而犧牲系統(tǒng)的效率,而是應(yīng)該在保證系統(tǒng)效率的情況下確保系統(tǒng)結(jié)構(gòu)的最簡化。
3計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計的機制
層次設(shè)計的兩種基本機制包括虛擬映射機制和抽象映射機制。將原平面p到目的平面/^的映射表示為,虛擬映射機制表示為,抽象映射機制表示為r;。目的平面只能是邏輯平面,而原平面則既可以是邏輯平面也可以是物理平面。兩種基本的映射機制相互組合和疊加可以形成更多的層次結(jié)構(gòu)設(shè)計的方法與模型。根據(jù)原平面與目的平面的結(jié)構(gòu)變換等可以演化出另外3種基本的映射機制:變換映射、歸一映射和單位映射。其中同一個平面的結(jié)構(gòu)映射相同的是變換映射,可以表示為,變換映射盡管具有相同的結(jié)構(gòu),但是原平面對應(yīng)和目的平面中最少有一個節(jié)點的功能與節(jié)點不同;如果原平面中對應(yīng)的節(jié)點與目的平面中的節(jié)點在屬性和功能上完全一致,這種映射就叫作單位映射,也表示為;如果單點結(jié)構(gòu)的平面結(jié)構(gòu)映射被稱之為歸一映射,可以表示為。此處,只對兩種基本映射,即虛擬映射和抽象映射作詳細(xì)介紹。
3.1虛擬映射機制
虛擬映射機制是指將原平面結(jié)構(gòu)中的某個節(jié)點實體,映射到目標(biāo)平面結(jié)構(gòu)中的某個子結(jié)構(gòu)當(dāng)中,原實體節(jié)點,中最少有一個連接由目標(biāo)平面實體結(jié)構(gòu)中的每一個節(jié)點來繼承。虛擬映射機制能夠?qū)崿F(xiàn)比抽象映射機制更加復(fù)雜的功能,可以在目標(biāo)平面上靈活地建立結(jié)構(gòu),原平面的一個實體店能夠映射到目標(biāo)平面中的一個或多個不同或者相同的實體點鐘??梢姡摂M映射機制是一個擴大的映射機制,從一方面來看,目標(biāo)平面的結(jié)構(gòu)復(fù)雜性與平面復(fù)雜性只會增加而不會降低。
虛擬映射機制是將物理觀察轉(zhuǎn)變成邏輯觀察的一個映射過程,如虛擬網(wǎng)絡(luò)、虛擬機都采用的是虛擬映射機制??傮w來看,虛擬映射機制的目標(biāo)包括復(fù)制、變換和隔離。在邏輯平面上同時運行生成資源的各個邏輯復(fù)制品就是復(fù)制;在邏輯平面上通過資源接口變化實現(xiàn)不同功能就是變換;在邏輯平面當(dāng)中的每個邏輯部分之間相互隔離,互不干擾,能夠獨立的管理與運行就是隔離。總的來說,虛擬映射機制比抽象映射機制更加靈活多變,可以實現(xiàn)更豐富的功能。
3.2抽象映射機制
計算機系統(tǒng)體系結(jié)構(gòu)的研究與建模離不開抽象映射機制。所謂抽象,即它忽略掉一些屬性,而對另一些特定的屬性進行抽象,即包含信息隱藏和信息忽略。對于一些解決關(guān)鍵問題的細(xì)節(jié)在數(shù)學(xué)建模當(dāng)中可以忽略。對于一些與上下文和層次設(shè)計中不太重要的細(xì)節(jié)則應(yīng)該采用隱藏,隱藏的細(xì)節(jié)在某個層次設(shè)計中可能不需要,但是在其他層中可能就是必須的,因此,它只是在本層中暫時被隱藏。在計算機系統(tǒng)體系結(jié)構(gòu)的層次設(shè)計當(dāng)中可以通過匯編器、編譯器以及連接器來對基本邏輯進行隱藏,而這些常見的程序設(shè)計語言都可以看作是抽象的工具。由此可見,抽象映射機制是在不改變平面結(jié)構(gòu)的情況下,將原平面結(jié)構(gòu)的某個子結(jié)構(gòu)映射到目標(biāo)平面中的某個節(jié)點實體,映射平面中可以包含多個抽象節(jié)點實體。
抽象映射機制可以簡化結(jié)構(gòu)背后部件的調(diào)動,減少層與模塊之間的作用。事實上,抽象映射可以看作一個收縮映射,它能降低目標(biāo)平面的結(jié)構(gòu)復(fù)雜性與平面復(fù)雜性,使得目標(biāo)平面結(jié)構(gòu)內(nèi)的層和模塊能夠靈活封裝、調(diào)用和實現(xiàn)原平面中的不同邏輯功能,從而使得目標(biāo)平面變得更加簡潔,確保其長期運行的穩(wěn)定性。
通過定義隱藏模塊以及對接口進行封裝,合理地利用抽象映射機制可以更好地隱藏相關(guān)的細(xì)節(jié),從而優(yōu)化層與模塊的交互需求。但是抽象映射機制沒有辦法實現(xiàn)系統(tǒng)層次結(jié)構(gòu)的效率與性能的提高。
4計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計的路徑
把握好計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計的原則和基礎(chǔ)之后,就可以對計算機系統(tǒng)進行層次設(shè)計。當(dāng)前主流的設(shè)計思路有兩種:自上而下的分解設(shè)計思路和自下而上的壓縮過程思路。
4.1自上而下的分解過程思路
分解過程是對原平面分到可接受的目標(biāo)平面的映射序列,它是自上向下的一個分解過程。如經(jīng)過m次映射之后可以表示為分解過程與壓縮過程類似,但映射的方式有所不同,分解映射采用的是擴張性的映射(如虛擬映射),而壓縮映射采用是壓縮方式的映射(如抽象映射)。
4.2自下而上的壓縮過程思路
自下而上的壓縮過程是指自下向上逐步進行壓縮,從一個原平面開始,逐步向上縮到可接受的目標(biāo)平面上的映射序列,如經(jīng)過m次映射則用公式可以表示為:
凡原平面經(jīng)過3次合適的映射就可以得到目標(biāo)平面,具體的變化結(jié)構(gòu)如圖1所示。層次的設(shè)計需要先從目標(biāo)平面的抽象整體體系開始進行層次設(shè)計,然后不斷細(xì)化,最后就可以得到整個系統(tǒng)的層次設(shè)計。
通常一個比較復(fù)雜的計算機系統(tǒng),需要將兩種分解過程相結(jié)合,從而選擇出最優(yōu)的、最容易接受的層與層次結(jié)構(gòu)。對于一些比較簡單、關(guān)鍵需求明確的系統(tǒng),采用壓縮過程來構(gòu)建系統(tǒng)架構(gòu),然后再利用虛擬映射機制與抽象映射機制對其進行復(fù)雜性的改進,從中分析問題并總結(jié)經(jīng)驗。分解過程的思路則需要先對原平面進行整體系統(tǒng)的功能規(guī)劃,然后再對其進行分組,逐步細(xì)化成為可以接受的系統(tǒng)。在設(shè)計過程中,應(yīng)該根據(jù)系統(tǒng)的性質(zhì)及復(fù)雜性來靈活選擇不同的方法。
5結(jié)語
計算機系統(tǒng)體系結(jié)構(gòu)的層次設(shè)計是一項非常復(fù)雜的工程,設(shè)計好的層次結(jié)構(gòu)往往還需要構(gòu)建模型進行評價,最后求出最優(yōu)的設(shè)計方法與思路。總的來看,計算機系統(tǒng)體系結(jié)構(gòu)層次設(shè)計應(yīng)該把握好簡化與效率的原則,確保計算機系統(tǒng)能夠高效運作,同時便于系統(tǒng)開發(fā)與后期的維護。在具體的設(shè)計過程中,應(yīng)根據(jù)計算機系統(tǒng)的復(fù)雜性、功能、效率等特點,靈活選擇分解過程思路或者壓縮過程思路。
[參考文獻]
[1]文森特.計算機系統(tǒng)設(shè)計與結(jié)構(gòu)[M].鄒恒明,保蕾蕾,譯.2版.北京:電子工業(yè)出版社,2005.
[2]范植華計算機系統(tǒng)中的層次結(jié)構(gòu)[J]計算機研究與發(fā)展,1982(3):9-12.
[3]何志超.?炎計算機系統(tǒng)結(jié)構(gòu)的發(fā)展[J].信息通信,2015(5):144.endprint