前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機體系軟件模擬技術(shù)探究范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:隨著社會經(jīng)濟的不斷發(fā)展,計算機技術(shù)水平也在不斷的提高,促使著計算機體系結(jié)構(gòu)軟件模擬技術(shù)日趨成熟,對計算機軟件開發(fā)有著非常重要的意義?;诖?,本文通過對計算機體系結(jié)構(gòu)軟件模擬技術(shù)難點進(jìn)行分析,從降低模擬器負(fù)荷、控制指令數(shù)量、應(yīng)用任務(wù)映射等方面入手,詳細(xì)的論述了計算機體系結(jié)構(gòu)軟件模擬技術(shù)的優(yōu)化措施。
【關(guān)鍵詞】計算機體系;結(jié)構(gòu)軟件;模擬技術(shù)
隨著信息技術(shù)的不斷發(fā)展,計算機逐漸成為處理信息和設(shè)計系統(tǒng)的核心工具。模擬技術(shù)在計算機體系中占據(jù)著非常重要的地位,是其不可或缺的技術(shù)手段。由于計算機體系非常龐大,導(dǎo)致其生產(chǎn)周期不斷被拉長,無論是在效率上還是在成本上,都沒有明顯的優(yōu)勢,計算機體系結(jié)構(gòu)軟件模擬技術(shù)的出現(xiàn),不僅能夠大幅度降低軟件研發(fā)成本,同時也提高了開發(fā)效率和生產(chǎn)效率。
1計算機體系結(jié)構(gòu)軟件模擬技術(shù)難點
1.1開發(fā)難度較大
隨著計算機技術(shù)的不斷發(fā)展,計算機功能變得越來越強大,適用于各行各業(yè),并且能夠攻克很多難題。但是,隨著功能的增強,其體系結(jié)構(gòu)逐漸變得越來越復(fù)雜,開發(fā)與設(shè)計人員主要應(yīng)用計算機體系層次簡化功能來簡化計算機體系的復(fù)雜度,但是層次簡化功能又會大大增加開發(fā)模擬器的難度。除此之外,開發(fā)人員在編程過程中,主要應(yīng)用的C++或者是C語言等,這種語言存在誤差大、處理時間長等問題。同時開發(fā)人員在對模擬器進(jìn)行開發(fā)時,經(jīng)常會以調(diào)整現(xiàn)有模擬器的方法達(dá)到目的,這種二次開發(fā),不但影響著開發(fā)效率,還增加了開發(fā)成本。
1.2模擬器運行時間過長
在運行模擬器時,要求開發(fā)人員在時鐘周期下時刻記錄處理器狀態(tài)和動態(tài)指令在運行時輸出的結(jié)果。由于模擬器運行時,動態(tài)指令運行會產(chǎn)生大量的數(shù)據(jù)信息,使得模擬速度受到很大的影響。如SMARTS模擬器的運行速度大約為9MIPS,但是與主機硬件相比,其運行速度相差大約4個數(shù)量級。雖然SPEC組織針對這類問題進(jìn)行改善,并且研發(fā)了評估處理器性能的程序包,一定程度上提高了模擬技術(shù)的可靠性和真實性,但是這個程序包卻具有耗費時間長和模擬速度緩慢等問題。
1.3模擬器運行精度不佳
在對模擬其進(jìn)行開發(fā)過程中,通過確定體系結(jié)構(gòu)中相關(guān)信息,然后在已經(jīng)存在的結(jié)構(gòu)上實現(xiàn)和設(shè)計模擬器。在這個過程中,開發(fā)模擬的三個主要環(huán)節(jié)都可能存在誤差問題。開發(fā)人員在獲取相關(guān)信息過程中,如果出現(xiàn)誤差會使其無法準(zhǔn)確判斷模擬器的需求。在獲取準(zhǔn)確信息之后,如果不重視計算機系統(tǒng)結(jié)構(gòu)中小模塊內(nèi)容,同樣會出現(xiàn)誤差,直接影響著模擬器的設(shè)計成果。
2計算機體系結(jié)構(gòu)軟件模擬技術(shù)的優(yōu)化措施
2.1降低模擬器負(fù)荷
降低模擬器負(fù)荷,對模擬技術(shù)進(jìn)行優(yōu)化主要從以下幾方面進(jìn)行:2.1.1測試過程中,減少參數(shù)輸入量。在一個性能標(biāo)準(zhǔn)的測試環(huán)境中,可以建立多套長期固定的參數(shù)測試數(shù)集,如參考輸入測試數(shù)集、訓(xùn)練輸入測試數(shù)集以及測試輸入?yún)?shù)數(shù)集等。這些數(shù)集的建立,可減少參數(shù)輸入數(shù)量,從而降低模擬器負(fù)荷,使模擬器性能變得更加精準(zhǔn),有效的解決了模擬技術(shù)精準(zhǔn)度不高的問題。2.1.2集中測試。在利用程序包測試過程中,包含的測試程序是非常多的,如SPECCPU2000中的點數(shù)測試程序和證書測試程序便有20多個,這些程序在某種程度上具有很大的相關(guān)性,因此,開發(fā)人員要尋找能夠代表各個程序的因素,然后集中對這個因素進(jìn)行測試,這樣便可以有效的降低模擬器的負(fù)荷。2.1.3處理測試程序中部分指令。這個方法主要是模擬其中一小部分指令,以期能夠優(yōu)化模擬環(huán)境和縮短模擬時間。模擬指令有兩種方法,其一是對一段連續(xù)指令進(jìn)行截??;其二是以抽樣統(tǒng)計方法來選取指令。無論哪種方法都能夠有效的降低模擬器負(fù)荷,提高數(shù)據(jù)模擬的準(zhǔn)確性。
2.2控制指令數(shù)量
在優(yōu)化模擬技術(shù)過程中,控制指令數(shù)量主要體現(xiàn)在以下幾點:2.2.1直接選取。直接選取是指以全部指令為一個單位,在其中隨意選取,然后將隨意選取的指令放置在模擬器中。選取方式為:首先選擇M百萬條指令,其次選取L百萬條指令,并將這些指令預(yù)熱執(zhí)行,再選擇Z百萬條指令,以此獲得最終的執(zhí)行結(jié)果,這種方式作用是在指令完成執(zhí)行操作后,與模擬器向?qū)?yīng)的信息不會全部消失,為后續(xù)模擬工作提供保障,從而提高模擬效率。2.2.2利用統(tǒng)計學(xué)方式對指令進(jìn)行選取。選取方法為:(1)代表性采樣,例如:利用Simpint進(jìn)行模擬時,首先,要對測試程序進(jìn)行分析,其次選取一組有代表性的模擬點,分配模擬點的權(quán)重,從而使模擬結(jié)果更加精準(zhǔn)。(2)周期采樣,首先將測試程序啟動,在動態(tài)狀態(tài)下,以一個周期為基礎(chǔ),選取指令,這樣可以有效控制指令數(shù)量,從而提高模擬精準(zhǔn)度。
2.3應(yīng)用任務(wù)映射
應(yīng)用并行模擬器處理環(huán)境映射時,主要是指定子任務(wù)傳輸?shù)讲⑿羞M(jìn)程的過程。在當(dāng)前并行處理環(huán)境中,包含和涉及到的任務(wù)映射策略非常多,通常運用的有兩種:(1)映射策略可以得到最優(yōu)解;(2)可以得到相似值。為了優(yōu)化體系結(jié)構(gòu)模擬技術(shù),使模擬器模擬過程更加精準(zhǔn),需要以排隊論、圖論和教學(xué)規(guī)劃為基礎(chǔ)進(jìn)行計算,得出模擬數(shù)值。在此期間,為了使數(shù)據(jù)準(zhǔn)確度和耗費時間之間的沖突得到有效緩解,學(xué)術(shù)界利用啟發(fā)式方法和最優(yōu)算法對上述兩種方法進(jìn)行進(jìn)一步優(yōu)化。這樣可以使任務(wù)映射方式簡化,從而提升模擬數(shù)據(jù)的精確度。
3結(jié)論
綜上所述,提升計算機體系機構(gòu)軟件模擬技術(shù)的開發(fā)效率,并將其推廣應(yīng)用,已經(jīng)成為新軟件開發(fā)的主要手段。經(jīng)過上文分析可得,現(xiàn)階段,在應(yīng)用模擬技術(shù)對軟件進(jìn)行模擬運時,仍然存在一些技術(shù)難點難以解決?;诩夹g(shù)難點,應(yīng)該從模擬器中的指令、負(fù)荷、映射等方面入手,提高模擬運行的精確度。因此,只有不斷完善計算機體系結(jié)構(gòu)軟件模擬技術(shù),才能開發(fā)出更高價值的計算機軟件。
參考文獻(xiàn)
[1]鄭剛.計算機體系結(jié)構(gòu)軟件模擬技術(shù)應(yīng)用研究[J].信息與電腦(理論版),2016(07):41-42.
[2]喻之斌,金海,鄒南海.計算機體系結(jié)構(gòu)軟件模擬技術(shù)[J].軟件學(xué)報,2008(04):1051-1068.
作者:李蕭瑋 單位:格訊科技(深圳)有限公司