計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文
計算機(jī)組成原理與系統(tǒng)結(jié)構(gòu) 是計算機(jī)科學(xué)與技術(shù)專業(yè)一門重要的專業(yè)基礎(chǔ)課,是一門技術(shù)性、工程性和實踐性很強(qiáng)的課程。下面是學(xué)習(xí)啦小編為大家整理的計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文,供大家參考。
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文篇一
基于VRML的計算機(jī)組成原理虛擬實驗系統(tǒng)設(shè)計
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文摘要
摘要:由于時間和空間的限制,傳統(tǒng)實驗往往不能滿足全部學(xué)生的需求,為此,設(shè)計出了一套基于VRML技術(shù)的計算機(jī)組成原理虛擬實驗系統(tǒng),學(xué)生只要通過網(wǎng)絡(luò)就可以隨時隨地做實驗,有效彌補(bǔ)了傳統(tǒng)實驗的不足。
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文內(nèi)容
關(guān)鍵詞:VRML技術(shù); 虛擬實驗;計算機(jī)組成原理
中圖分類號:TP301 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)06-1220-03
The Design of Virtual Experiment System of Computer Organization and Architecture Based on VRML
HU Li-fang1, HU Zi-kai2
(1.Jiaozuo Teachers College of Computer and Information Engineering College, Jiaozuo 454000,China; 2 Puyang City Zi Elementary, Puyang 457000,China)
Abstract: Due to the limitation of time and space, the traditional experiment can’t meet all the needs of the students, therefore, designed a set of virtual experiment system of computer organization and architecture based on VRML technology, students can do the experiment anywhere, effectively overcomes the shortcoming of the traditional experiment.
Key words: VRML technology; virtual experiment; computer organization and architecture experiments
在高職院校中,實驗教學(xué)占有非常重要的地位,是提高學(xué)生創(chuàng)新素質(zhì)、動手能力的一個重要手段。目前,由于各種原因,許多學(xué)校的實驗設(shè)備和手段還不能完全滿足要求。與此同時,近年來計算機(jī)網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)及虛擬現(xiàn)實技術(shù)的迅速發(fā)展,為虛擬實驗系統(tǒng)的構(gòu)建提供了有效的支撐。
《計算機(jī)組成原理》是計算機(jī)專業(yè)重要的基礎(chǔ)課程之一,做實驗又是該課程的一個重要部分,學(xué)生通過實驗可以深入了解計算機(jī)是如何進(jìn)行算術(shù)計算、怎樣存儲信息并且能更好的掌握計算機(jī)的硬件組成[1]。目前,國內(nèi)部分院校已開發(fā)出了計算機(jī)組成原理課程的網(wǎng)絡(luò)課程,但這些網(wǎng)絡(luò)課程大多數(shù)為靜態(tài)的網(wǎng)頁展示或動畫演示,并未開發(fā)出具有3D虛擬場景,交互性較好的計算機(jī)組成原理虛擬實驗系統(tǒng)[2]。因此,具有三維交互性的計算機(jī)組成原理虛擬實驗系統(tǒng)的設(shè)計就顯得非常重要。
1 虛擬實驗系統(tǒng)的分析與設(shè)計
VRML(Virtual Reality Modeling Language,虛擬現(xiàn)實建模語言)是一種三維場景描述性語言,利用它能在網(wǎng)頁上創(chuàng)建具有導(dǎo)航及超鏈接功能的三維虛擬空間。VRML的工作原理可以簡單描述成:文本描述、遠(yuǎn)程傳輸及本地計算生成。VRML并不是使用三維坐標(biāo)點描述物體的,而是使用了一種類似于HTML的標(biāo)記文本語言來描述三維場景,因此使用它編寫的文件所占的空間非常小,對網(wǎng)絡(luò)帶寬的要求不高[3]。利用VRML技術(shù)構(gòu)建虛擬實驗系統(tǒng),能為學(xué)生提供一個逼真的實驗環(huán)境,具有超強(qiáng)的現(xiàn)實感,可充分激發(fā)學(xué)生的學(xué)習(xí)興趣。
該系統(tǒng)主要模擬仿真清華大學(xué)科教儀器廠生產(chǎn)的TEC—4計算機(jī)組成原理實驗儀。使用VRML技術(shù)構(gòu)建三維虛擬實驗環(huán)境,并通過ASP技術(shù)及B/S(Browser/Server 瀏覽器/服務(wù)器)三層結(jié)構(gòu)的設(shè)置,構(gòu)建網(wǎng)頁結(jié)構(gòu),發(fā)布到網(wǎng)絡(luò)上供學(xué)生使用。系統(tǒng)體系結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)體系結(jié)構(gòu)
2 虛擬實驗系統(tǒng)的實現(xiàn)
2.1實驗環(huán)境的構(gòu)建
實驗環(huán)境的構(gòu)建主要包括兩個方面:
1)靜態(tài)環(huán)境:主要指實驗室場景的構(gòu)建。首先使用Vrmlpad建模工具對一些簡單的形體(如實驗臺、地板、墻壁等)進(jìn)行建模,再利用專業(yè)三維建模軟件3DSMax對導(dǎo)線、芯片、面包板等一些結(jié)構(gòu)復(fù)雜的實驗器材進(jìn)行建模。由于3DSMax對物體描述的精度比較高,因此使用它建造的一些形體轉(zhuǎn)到Vrmlpad后生成的文件中會存在大量多余代碼,所以必須進(jìn)行優(yōu)化處理[4]。建模過程如圖2所示:
圖2 建模過程
2)動態(tài)環(huán)境:主要是指器材的功能顯示。即模仿真實實驗的操作效果,例如用鼠標(biāo)單擊開關(guān)按鈕后產(chǎn)生的按下和彈起的動態(tài)過程、點擊導(dǎo)線之后出現(xiàn)的自動連線效果等。
2.2 交互控制的設(shè)計
該部分的設(shè)計是實現(xiàn)系統(tǒng)功能的關(guān)鍵。本虛擬實驗系統(tǒng)不僅根據(jù)實驗要求提供了面包板、連線等實驗器材,并且還提供了一個操作標(biāo)記,指導(dǎo)實驗者完成操作。學(xué)生通過鼠標(biāo)將指令直接傳送給虛擬空間,空間接到用戶請求,將消息傳遞給相應(yīng)的腳本程序,腳本程序經(jīng)過一系列的計算,然后以相應(yīng)的虛擬現(xiàn)實效果反饋給學(xué)生。
該部分功能的實現(xiàn)主要依靠各種接觸傳感器節(jié)點(TouchSensor)、VRMLScript編寫的腳本程序以及ROUTE語句[3]。首先在系統(tǒng)中定義一系列的TouchSensor分布在每個需要進(jìn)行交互操作的虛擬物體上,當(dāng)實驗進(jìn)行到一定步驟時,將下步的傳感器激活,同時把其他步驟上需要的傳感器全置為無效,這樣即可實現(xiàn)讓實驗者根據(jù)實驗內(nèi)容的要求按步進(jìn)行操作。在這個過程中,使用設(shè)置好的Script(腳本)節(jié)點來控制這些觸發(fā)事件的實現(xiàn),這些腳本可以將用戶的操作進(jìn)行轉(zhuǎn)化,控制相應(yīng)的對象,進(jìn)而實現(xiàn)虛擬交互功能。交互式虛擬實驗事件驅(qū)動體系的流程圖如圖3所示[5] 圖3 事件交互體系流程
下面以實現(xiàn)連線為例:
實驗者按照實驗要求,點擊相應(yīng)的面包板上的插座,這時系統(tǒng)將會出現(xiàn)自動連線。為了模擬這個過程,建模時事先使用Extrusion節(jié)點在相應(yīng)位置建成實驗所需的全部連線,但是開始時用Switch節(jié)點將它們隱藏起來。隨著實驗過程的進(jìn)展,當(dāng)學(xué)生用鼠標(biāo)單擊指定位置時,在腳本程序的控制下,相應(yīng)位置就會顯示連線。圖4為連線完成后的效果:
圖4 連線完成效果圖
以下是實現(xiàn)該功能的部分程序代碼:
1)初始建模時隱藏導(dǎo)線的設(shè)置(以第一根導(dǎo)線為例)
DEF line_M2_VCC1_switch Switch {
#定義了插座M2和VCC1之間的連線
whichChoice -1 #表示初始時處于隱藏狀態(tài)
choice [
DEF line_M2_VCC1 Transform {
children[
Transform {
…… #省略了導(dǎo)線線身和插頭的定義
2) 控制導(dǎo)線顯示的腳本程序
DEF change_line0 Script {
eventIn SFBool input
eventOut SFInt32 output
url "javascript:
function input (value,time)
{
if (value==1)
output=0;
}"}
……
3) 路由表設(shè)置如下
ROUTE touch_vcc1.isActive TO change_line0.input
ROUTE change_line0.output TO line_M2_VCC1_switch.set_whichChoice
上述代碼表示當(dāng)插座VCC1上的觸發(fā)器被激活時,將發(fā)送一個消息給控制導(dǎo)線顯示腳本,腳本接到消息并經(jīng)過處理后,再發(fā)送命令給Switch節(jié)點,這樣就可以達(dá)到顯示導(dǎo)線的目的了。
3 實驗系統(tǒng)網(wǎng)上發(fā)布
結(jié)合其它網(wǎng)絡(luò)技術(shù),對構(gòu)建完成的三維虛擬實驗室場景進(jìn)行整合[6],如圖5所示。之后把該虛擬實驗系統(tǒng)傳送到Web服務(wù)器上,學(xué)生只需要登錄就可以隨時隨地進(jìn)行遠(yuǎn)程實驗。
圖5 實驗場景
4 結(jié)束語
該實驗系統(tǒng)的設(shè)計突破了傳統(tǒng)實驗方式的時空限制,使實驗教學(xué)在時間和空間上得到有效的延伸。虛擬實驗作為傳統(tǒng)實驗的一個有益的補(bǔ)充,既能節(jié)約大量的實驗設(shè)備經(jīng)費,也有助于提高實驗教學(xué)的效果。
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文文獻(xiàn)
[1] 王愛英.計算機(jī)組成與結(jié)構(gòu)[M].3版.北京:清華大學(xué)出版社,2000.
[2] 黃幕雄.高校教學(xué)型虛擬實驗室建設(shè)的現(xiàn)狀與建議[J].電化教育研究,2005(09):77-80.
[3] 胡小強(qiáng).虛擬現(xiàn)實技術(shù)[M].北京:北京郵電大學(xué)出版社,2005:192-288.
[4] 張云苑.虛擬現(xiàn)實技術(shù)中3DS MAX建模的應(yīng)用[J].電腦知識與技術(shù),2006:189-190.
[5] 李斯萌,楊雪.虛擬實驗系統(tǒng)的自適應(yīng)調(diào)節(jié)機(jī)制研究[J].吉林大學(xué)學(xué)報:信息科學(xué)版,2012,30(4):403-408.
[6] 宋淑彩,周麗莉,趙巍.基于網(wǎng)絡(luò)的計算機(jī)組成原理虛擬實驗的設(shè)計與開發(fā)[J].微計算機(jī)信息,2006,22(5-3):286-288.
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文篇二
用于計算機(jī)組成與結(jié)構(gòu)課程教學(xué)的模擬器
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文摘要
摘要:介紹基于開源軟件包MML的計算機(jī)模擬器ARCH。ARCH實現(xiàn)了硬件結(jié)構(gòu)的邏輯門級映射,易修改和動態(tài)運行,并具有豐富的尋址方式和指令類型,克服了軟件實驗平臺抽象粒度過大和硬件實驗平臺交互性不強(qiáng)的問題。
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文內(nèi)容
關(guān)鍵詞:模擬器;計算機(jī)組成與結(jié)構(gòu);MML;ARCH
計算機(jī)組成與結(jié)構(gòu)是計算機(jī)科學(xué)與技術(shù)專業(yè)本科生的核心專業(yè)基礎(chǔ)課程之一。它與匯編語言、微機(jī)原理、接口技術(shù)等課程一起構(gòu)成了硬件系列課程。通過本課程的學(xué)習(xí),學(xué)生可以掌握計算機(jī)系統(tǒng)各個組成部分的工作原理、組成方法和相互關(guān)系,了解計算機(jī)指令系統(tǒng)和中央處理器的組織、數(shù)據(jù)傳遞路徑和指令控制流程、存儲管理、微程序設(shè)計、中斷系統(tǒng)和輸入/輸出系統(tǒng).等,具有計算機(jī)系統(tǒng)層次結(jié)構(gòu)的初步概念。
“實踐出真知”這句話告訴我們:最理想的學(xué)習(xí)方式是把所學(xué)習(xí)的理論知識付諸實踐。在計算機(jī)組成與結(jié)構(gòu)課程教學(xué)過程中,如何把學(xué)習(xí)到的理論知識付諸實踐,以及如何利用實踐驗證和深化所學(xué)到的理論知識,這兩個轉(zhuǎn)化過程是學(xué)生學(xué)習(xí)的關(guān)鍵。針對這個問題,許多高校已經(jīng)開始研發(fā)各種基于軟件和硬件的計算機(jī)組成與結(jié)構(gòu)課程實驗平臺來輔助課程教學(xué)。這些實驗平臺可分為兩組:基于集成電路的硬件平臺和基于軟件的模擬平臺。
基于集成電路的硬件平臺具有完整的硬件結(jié)構(gòu)映射的優(yōu)點,但是存在操作復(fù)雜、電路容易故障、動態(tài)演示困難等缺點,并且由于采用功能較為復(fù)雜的集成電路,硬件結(jié)構(gòu)的映射無法達(dá)到寄存器級別。而基于軟件的模擬平臺可以是完全基于編程語言(如C語言或其他高級語言)開發(fā)模擬軟件,具有靈活、容易修改、動態(tài)演示方便等優(yōu)點,但是由于軟件實現(xiàn)是基于算法級別的,偏重于工作原理,很難把程序代碼和具體的硬件結(jié)構(gòu)細(xì)節(jié)對應(yīng)起來。此外,已有的基于軟件的模擬平臺,在尋址方式和指令集方面覆蓋面不廣,不支持中斷和堆棧的操作,這也是一大缺陷。
下面筆者將介紹基于開源軟件包Multimedia Logic(MML)所開發(fā)的用于計算機(jī)組成與結(jié)構(gòu)課程教學(xué)的計算機(jī)模擬器ARCH。ARCH具有軟件的易動態(tài)運行、易修改、易二次開發(fā)的優(yōu)點,同時又實現(xiàn)了硬件結(jié)構(gòu)的邏輯門級映射,還具有豐富的尋址方式和指令類型,對中斷和堆棧的操作提供了基本支持,從而彌補(bǔ)了已有相關(guān)計算機(jī)教學(xué)模擬器的不足之處。
1 研究背景
2001年,Yehezkel,Yurcik,Pearson和Armstrong研發(fā)了3種計算機(jī)結(jié)構(gòu)模擬平臺:EasyCPU,Little Man Compmer和RTLSim。其中EasyCPU是一個基于英特爾X86微處理器的入門級微型計算機(jī)的模擬器。它只是一個軟件程序,模擬Intel X86系列微處理器的主要尋址模式和指令集合。Little Man Computer和RTLSim是對EasyCPU的進(jìn)一步改進(jìn)和完善。
2006年,Arias和Garcia研發(fā)了計算機(jī)結(jié)構(gòu)模擬平臺SimpleCPU。SimpleCPU是一個16位的模擬CPU。它采用了3種尋址模式:快速模式、寄存器模式、間接尋址。它除了包含8個通用寄存器外,還有程序計數(shù)器(PC)、狀態(tài)寄存器(SR)、ALU的時間輸入寄存器(TMPI)、ALU時間輸出寄存器(TMPO)、存儲器數(shù)據(jù)寄存器(MDR)、內(nèi)存地址寄存器(MAR)和指令寄存器(IR)。
2007年,Stanley等基于MML軟件包完成了計算機(jī)結(jié)構(gòu)模擬平臺:16位的Made。Marie具有13條指令,并使用直接和間接尋址模式,每個存儲單元是16位長,指令字長和存儲字長相等。機(jī)器指令由兩個字段組成:2位操作碼和12位的地址。Made有7個寄存器。它們是累加器(AC)、內(nèi)存地址寄存器(MAR)、存儲器緩沖寄存器(MBR)、程序計數(shù)器(PC)、指令寄存器(IR)、輸入寄存器(InREG)和輸出寄存器(OutREG),具有16位復(fù)用數(shù)據(jù)總線。
除了Marie之外,Stanley等還研發(fā)了兩種不同系統(tǒng)結(jié)構(gòu)的模擬器:哈佛體系結(jié)構(gòu)和馮·諾依曼體系結(jié)構(gòu)。馮·諾依曼體系結(jié)構(gòu)模擬器有4條指令,具有8位的程序計數(shù)器,8位的指令寄存器,8位的累加器和8位的存儲器。指令中操作碼占用2位,其余的被分配給地址碼,每條指令的執(zhí)行周期包含3個時鐘周期。8位哈佛體系結(jié)構(gòu)模擬器有8條指令,每條指令的執(zhí)行周期包含1個時鐘周期。
筆者在Stanley和Oztekin的工作基礎(chǔ)上所提出的計算機(jī)模擬器ARCH的所有單元是基于MML包進(jìn)行邏輯門級設(shè)計,并有38個指令。這些指令是當(dāng)今的商業(yè)微處理器的核心指令。它有6種不同的尋址模式,同時支持中斷和堆棧操作。此外,因為它的所有單元是在邏輯門級設(shè)計的,所以,學(xué)生可以很容易檢查在模擬器中的所有單元的內(nèi)部結(jié)構(gòu)。表1所示是各種計算機(jī)模擬器的基本屬性。
2 ARCH結(jié)構(gòu)和指令
2.1 總體結(jié)構(gòu)
ARCH是用于本科生計算機(jī)組成與結(jié)構(gòu)課程教學(xué)的模擬器。它有38條指令,包含11條存儲器和累加器操作類指令,6條指令的變址和堆棧操作指令,13條無條件和有條件轉(zhuǎn)移指令,6條指令的條件碼寄存器操作指令和2條指令輸入/輸出指令。它支持6個不同的尋址模式,包括立即、直接、間接、變址、相對、隱含尋址模式。它有11個寄存器,包括地址寄存器(AR)、程序計數(shù)器(PC)、暫存器(TR)、變址寄存器(IX)、16位長的堆棧指針(SP)、指令寄存器(IR)、輸入寄存器(INPR)、輸出寄存器(OUTR)和8位長的條件碼寄存器(CCR)。ARCH的數(shù)據(jù)路徑寬度為16位,地址寄存器的寬度為16位,所以ARCH有64KB的內(nèi)存區(qū)域。ARCH中有一個專用的有效地址生成部件。該部件可以根據(jù)尋址模式計算出一個有效的地址,而不是采用通用ALU進(jìn)行地址計算。該有效地址生成部件需要6個時鐘周期生成有效地址。MML開發(fā)環(huán)境中ARCH核心部件ALU和CU結(jié)構(gòu)如圖1所示。
2.2 指令系統(tǒng) ARCH的指令包含操作碼和地址碼兩部分。操作碼包含兩個字段:操作類型和尋址模式。在內(nèi)存空間中,隱含尋址模式的指令占用1個字節(jié),直接、間接和立即尋址模式的指令占用3個字節(jié),相對和變址尋址模式的指令占用2個字節(jié)。所有尋址方式指令的第1個字節(jié)是操作碼。操作碼的第4、5和6位表示6個不同尋址模式的其中之一,其余操作碼位表示指令的操作類型。
1)累加器操作指令。
累加器操作共有11種不同指令。采用立即、直接和間接尋址模式的累加器操作指令占用3個字節(jié),而采用變址尋址模式的累加器操作指令占用2個字節(jié),此外采用隱含尋址模式的累加器操作指令僅占用1個字節(jié)。各種累加器操作指令如表2所示。
2)變址指令和堆棧指令。
變址和堆棧指令使用立即、直接、間接、變址和隱含尋址模式。在存儲器中,前3種模式占據(jù)3個字節(jié),第4種模式占用2個字節(jié),第5種模式占用1個字節(jié)。各種變址指令和堆棧指令如表3所示。
3)有條件或無條件轉(zhuǎn)移指令。
有條件和無條件轉(zhuǎn)移指令可以改變程序流程。只不過一些是有條件轉(zhuǎn)移,其他的則是無條件轉(zhuǎn)移。絕大多數(shù)轉(zhuǎn)移指令使用相對尋址模式,只有返回主程序指令使用隱含尋址模式。各種有條件或無條件轉(zhuǎn)移分支指令如表4所示。
4)帶條件寄存器操作指令。
在執(zhí)行轉(zhuǎn)移指令時,帶條件寄存器操作指令有特別重要的作用。它們?nèi)坎捎秒[含尋址模式,并在取指和譯碼階段的最后一個時鐘周期執(zhí)行。表5所示是各種帶條件寄存器操作指令。
5)輸入/輸出指令。
為了與外設(shè)(如鍵盤)進(jìn)行數(shù)據(jù)傳送,ARCH使用8位的鍵盤作為輸入單元,使用可用的8位LED顯示單元作為輸出單元。數(shù)據(jù)從鍵盤被轉(zhuǎn)移到輸入寄存器(INPR),并且進(jìn)一步被轉(zhuǎn)移到LED顯示單元,存儲于輸出寄存器(OUTR)。ARCH支持有兩種輸入/輸出指令:IN和OUT。IN指令是將從鍵盤輸入的數(shù)據(jù)傳送到INR中存儲起來,OUT指令是將數(shù)據(jù)從OUTR傳送到LED顯示單元。
ARCH模擬器支持查詢輸入/輸出方式,這時輸入標(biāo)志(FGI)和輸出標(biāo)志(FGO)必須在輸入/輸出的操作過程中不斷地檢查。如果其中的一個控制標(biāo)志是邏輯1,那么計算機(jī)開始傳輸數(shù)據(jù)。然而,由于計算機(jī)和外圍設(shè)備之間的數(shù)據(jù)傳輸率是非常低的,所以這種數(shù)據(jù)傳送方法不是很有效。
另一種方式是采用下述中斷方式。當(dāng)輸入/輸出單元已經(jīng)準(zhǔn)備好了,利用中斷方式通知ARCH。ARCH立即離開主程序執(zhí)行,并啟動必要的輸入/輸出操作傳送數(shù)據(jù)。當(dāng)ARCH完成輸入/輸出操作后將返回主程序。
6)中斷。
ARCH模擬器的工作周期包含中斷周期和指令周期兩種。觸發(fā)器C用于區(qū)分中斷周期和指令周期。如果觸發(fā)器C是邏輯1,那么模擬器是在中斷周期,否則,是在指令周期。在指令周期中,通過控制機(jī)制來檢查中斷標(biāo)志。如果實驗人員不希望模擬器進(jìn)入中斷周期,則可以清除觸發(fā)器C。
ARCH模擬器中設(shè)置了兩個指令可以將條件碼寄存器的中斷標(biāo)志設(shè)置為邏輯1或0。STI指令在中斷標(biāo)志設(shè)置為邏輯1,而CLI指令清除中斷標(biāo)志。
ARCH模擬器在進(jìn)人中斷周期之前,能保存一些寄存器的內(nèi)容。這些寄存器的內(nèi)容被保存在堆棧區(qū)域,這些堆棧區(qū)域是從E000h開始的4KB的內(nèi)存。保存寄存器到堆棧區(qū)的操作按以下順序進(jìn)行:程序計數(shù)器、變址寄存器、累加器、條件碼寄存器。
3 ARCH的應(yīng)用
下面以計算f(x)=x2+x+1為例說明基于ARCH的實驗操作過程。首先,約定x的值被存儲在ARCH的64KB存儲器的數(shù)據(jù)段中,并且最后運算結(jié)果f(x)的結(jié)果也存儲到數(shù)據(jù)段中數(shù)據(jù)段是從地址為A000h開始的占用4KB的內(nèi)存空間。
該計算過程對應(yīng)的匯編代碼如下:
0100h:LDA#1234h\累加器裝載十六進(jìn)制1234H。
0103h:STA[00h]\累加器內(nèi)容轉(zhuǎn)存到數(shù)據(jù)段。
0105h:LDA[00h]\數(shù)據(jù)從數(shù)據(jù)段提取。
0107h:MUL[00h]\在累加器中的數(shù)據(jù)乘以數(shù)據(jù)段的數(shù)據(jù),并存儲到累加器。
0109h:ADD[00h]\在累加器中的數(shù)據(jù)加上數(shù)據(jù)段中的數(shù)據(jù),并存儲到累加器。
010Bh:INC\累加器中的值遞增并存儲到累加器。
010Ch:STA[00h]\累加器的值被存儲到數(shù)據(jù)段。
010Eh:HLT\程序停止。
上述匯編代碼可以手動或者通過匯編程序自動轉(zhuǎn)換成為二進(jìn)制代碼,并存儲于文件中。
在MML開發(fā)環(huán)境中運行ARCH,此時二進(jìn)制代碼文件中的代碼和數(shù)據(jù)被自動載入存儲器中并執(zhí)行。我們可以通過ARCH包含的LED查看相應(yīng)的執(zhí)行結(jié)果。
4 結(jié)語
在計算機(jī)組成與結(jié)構(gòu)課程教學(xué)過程中,為了把學(xué)習(xí)到的理論知識付諸實踐,利用實踐驗證和深化所學(xué)到的理論知識,許多高校已經(jīng)開始研發(fā)各種教學(xué)用的計算機(jī)模擬平臺。針對基于軟件實驗平臺的抽象粒度過大和基于硬件實驗平臺交互性不強(qiáng)的問題,筆者提出了基于開源軟件包MML計算機(jī)模擬器ARCH。ARCH不僅具有軟件的易動態(tài)運行、易修改、易二次開發(fā)的優(yōu)點,同時還實現(xiàn)了硬件結(jié)構(gòu)的邏輯門級映射,并具有豐富的尋址方式和指令類型,對中斷和堆棧的操作提供了基本支持,從而彌補(bǔ)了已有相關(guān)教學(xué)模擬器的不足之處。
有關(guān)計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文推薦:
計算機(jī)組成與系統(tǒng)結(jié)構(gòu)設(shè)計論文相關(guān)文章:
2.關(guān)于計算機(jī)工程畢業(yè)設(shè)計論文
3.計算機(jī)應(yīng)用技術(shù)專業(yè)畢業(yè)論文