版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 計(jì)算機(jī)組成原理實(shí)驗(yàn)課程輔助軟件的研究與設(shè)計(jì) 惠麗+張浩宇摘 要:“計(jì)算機(jī)組成原理實(shí)驗(yàn)”是計(jì)算機(jī)組成原理理論課程的一個(gè)重要輔助和補(bǔ)充,在開設(shè)實(shí)驗(yàn)課程過程中,我們發(fā)現(xiàn)實(shí)驗(yàn)系統(tǒng)自帶的匯編語言指令系統(tǒng)與學(xué)生所學(xué)的8086匯編語言指令系統(tǒng)不兼容,影響了實(shí)驗(yàn)效果,因此課程組教師開發(fā)了一款輔助軟件,通過該軟件對(duì)兩種匯編語言進(jìn)行轉(zhuǎn)換,提高了學(xué)生的學(xué)習(xí)效率,取得了較好的效果。關(guān)鍵詞:計(jì)算機(jī)組成原理實(shí)驗(yàn);th-union+教學(xué)實(shí)驗(yàn)系統(tǒng);匯編語言轉(zhuǎn)換器:g642.3 :
2、a :1002-4107(2015)08-0023-02一、引言計(jì)算機(jī)組成原理是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)的專業(yè)骨干課程,該課程圍繞著構(gòu)成計(jì)算機(jī)的五大部件全面詳細(xì)的闡述了計(jì)算機(jī)的組成和各部件的工作原理,并引申出各部件的設(shè)計(jì)實(shí)現(xiàn)方法。為了能夠讓學(xué)生對(duì)計(jì)算機(jī)組成原理這門課程有一個(gè)感性的理解,我院于2009年購(gòu)置了由清華大學(xué)計(jì)算機(jī)學(xué)院研制開發(fā)的th-union+教學(xué)實(shí)驗(yàn)系統(tǒng),將其應(yīng)用于計(jì)算機(jī)組成原理實(shí)驗(yàn)課程。th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)本身就是一臺(tái)簡(jiǎn)單的計(jì)算機(jī),該實(shí)驗(yàn)系統(tǒng)不僅能夠支持傳統(tǒng)的硬件實(shí)驗(yàn),而且創(chuàng)造性的在實(shí)驗(yàn)系統(tǒng)中
3、增加了匯編語言指令系統(tǒng),使得很多傳統(tǒng)硬件實(shí)驗(yàn)在連接了硬件電路之后,不再使用手動(dòng)開關(guān)向存儲(chǔ)器輸入指令和數(shù)據(jù)的方式驗(yàn)證電路的正確性,而是改用通過輸入?yún)R編語言程序?qū)﹄娐返恼_性進(jìn)行驗(yàn)證,大大提高了工作效率,也能夠更好的促進(jìn)學(xué)生對(duì)理論知識(shí)的消化和理解。因此在實(shí)驗(yàn)課程的設(shè)置中,全體實(shí)驗(yàn)大致可以分成兩個(gè)部分,第一部分是結(jié)合th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)現(xiàn)有的匯編語言編寫簡(jiǎn)單的應(yīng)用程序,以達(dá)到熟悉掌握實(shí)驗(yàn)系統(tǒng)各部分硬件的目的。第二部分是在第一部分的基礎(chǔ)上由學(xué)生利用vhdl語言設(shè)計(jì)一個(gè)8位的cpu,并利用實(shí)驗(yàn)系統(tǒng)的匯編語言進(jìn)行編程,以驗(yàn)證cpu設(shè)計(jì)的正確性。在整個(gè)實(shí)驗(yàn)教學(xué)過程中,利用實(shí)驗(yàn)系統(tǒng)的匯編語言編程是實(shí)
4、驗(yàn)的一個(gè)重要環(huán)節(jié),但在教學(xué)過程中,我們發(fā)現(xiàn),由于學(xué)生初次接觸該實(shí)驗(yàn)系統(tǒng),對(duì)它的匯編語言指令不熟悉,常常和已經(jīng)學(xué)過的8086匯編語言指令混淆,導(dǎo)致利用實(shí)驗(yàn)系統(tǒng)的匯編語言編程的能力不足,對(duì)后續(xù)實(shí)驗(yàn)有一定的影響,因此我們課程組全體教師就有了設(shè)計(jì)一個(gè)匯編語言轉(zhuǎn)換器的想法。二、對(duì)th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)的改進(jìn)th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)是一個(gè)優(yōu)秀的計(jì)算機(jī)組成原理課程實(shí)驗(yàn)教學(xué)平臺(tái),它最初的受益者是清華大學(xué)計(jì)算機(jī)學(xué)院的學(xué)生,而我們黑龍江大學(xué)計(jì)算機(jī)學(xué)院軟件學(xué)院的學(xué)生與清華大學(xué)計(jì)算機(jī)學(xué)院的學(xué)生相比,動(dòng)手能力、綜合技能還存在一定的差距,正是由于我院學(xué)生的這些差距,使我們必須對(duì)th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)
5、進(jìn)行改進(jìn)。th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)上有一個(gè)匯編語言,它和我們學(xué)過的8086匯編語言沒有任何關(guān)系。也就是說同學(xué)們要做計(jì)算機(jī)組成原理實(shí)驗(yàn)就要再學(xué)一次匯編語言。這個(gè)匯編語言一共有48條指令,只有4種尋址方式,有16個(gè)寄存器,一切都變了。因此我們必須用一個(gè)方法使學(xué)生快速學(xué)會(huì)新的匯編語言,并利用它進(jìn)行程序設(shè)計(jì)。th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)者為了使實(shí)驗(yàn)系統(tǒng)更接近真實(shí)的計(jì)算機(jī)在指令系統(tǒng)中設(shè)計(jì)了與輸入輸出操作有關(guān)的指令,使得程序在設(shè)計(jì)過程中可以進(jìn)行輸入輸出操作。但是遺憾的是,學(xué)生在學(xué)習(xí)8086匯編語言時(shí),所有的輸入輸出操作都是由dos系統(tǒng)功能調(diào)用函數(shù)實(shí)現(xiàn),沒有涉及到真正的底層硬件輸入輸出操作,現(xiàn)
6、在在實(shí)驗(yàn)系統(tǒng)上首次自己編寫輸入輸出函數(shù),對(duì)學(xué)生具有一定的挑戰(zhàn)性,這是實(shí)驗(yàn)系統(tǒng)的第二點(diǎn)需要改進(jìn)的地方。 三、解決方法基于以上兩點(diǎn),課程組全體教師決定自行開發(fā)一款輔助軟件,用來實(shí)現(xiàn)實(shí)驗(yàn)系統(tǒng)的匯編語言程序與8086匯編語言程序相互轉(zhuǎn)換,進(jìn)而指導(dǎo)輔助學(xué)生快速掌握th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)的匯編語言和相關(guān)知識(shí)。本輔助軟件是利用windows下linux模擬環(huán)境的flex工具和gcc編寫完成的。flex是linux下的一個(gè)用來開發(fā)編譯器的工具,主要用于詞法分析器的設(shè)計(jì)開發(fā)。由于本輔助軟件需要對(duì)兩種匯編語言的語句進(jìn)行轉(zhuǎn)換,其過程包括大量的詞法分析工作,因此我們選用flex工具,以縮短開發(fā)周期。
7、本輔助軟件由兩個(gè)可執(zhí)行文件、兩個(gè)示例程序和一個(gè)說明文件構(gòu)成,兩個(gè)可執(zhí)行文件暫時(shí)定名為my和your。my的功能是把th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)的匯編語言程序轉(zhuǎn)換成8086匯編語言程序。your的功能是把8086匯編語言程序轉(zhuǎn)換成th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)的匯編語言程序。由于指令格式的原因,實(shí)驗(yàn)系統(tǒng)的匯編語言指令操作數(shù)的尋址方式全部隱藏在操作碼中,也就是說在指令譯碼的時(shí)候,當(dāng)指令譯碼器分析出指令功能的同時(shí),也知道了指令中各操作數(shù)的尋址方式。這就使得實(shí)驗(yàn)系統(tǒng)無論在指令數(shù)量還是在尋址方式方面都比8086匯編語言指令系統(tǒng)簡(jiǎn)單,我們把實(shí)驗(yàn)系統(tǒng)的匯編語言看成是8086匯編指令系統(tǒng)的子集。當(dāng)my程序掃
8、描到實(shí)驗(yàn)系統(tǒng)匯編語言指令時(shí),根據(jù)操作碼就可以判斷出它對(duì)應(yīng)的8086匯編指令是什么,尋址方式是什么,然后轉(zhuǎn)換成8086匯編語言指令即可。通過my對(duì)兩種匯編語言相互轉(zhuǎn)換,提示學(xué)生注意兩種匯編語言的相同點(diǎn),以便學(xué)生在閱讀實(shí)驗(yàn)系統(tǒng)匯編程序時(shí)快速理解它的編程目的。your的功能是把8086匯編語言程序轉(zhuǎn)換成實(shí)驗(yàn)系統(tǒng)的匯編語言程序。在具體操作中,由于8086匯編語言比實(shí)驗(yàn)系統(tǒng)的匯編語言復(fù)雜,所以需要做一些簡(jiǎn)單的限制,以便程序轉(zhuǎn)換。第一,我們約定your只能轉(zhuǎn)換正確的8086匯編語言程序。輔助軟件的設(shè)計(jì)目的之一是要學(xué)生在已經(jīng)掌握8086匯編語言的基礎(chǔ)上,不需要再額外學(xué)習(xí)其他匯編語言就可以在實(shí)驗(yàn)系統(tǒng)上編寫程序
9、,因此我們假設(shè)學(xué)生能夠利用8086匯編語言在通用計(jì)算機(jī)上實(shí)現(xiàn)實(shí)驗(yàn)程序的設(shè)計(jì)。為了便于學(xué)生利用8086匯編語言設(shè)計(jì)程序,我們?cè)谲浖性黾恿艘粋€(gè)示例程序2.asm,它本身也是一個(gè)8086匯編語言程序框架,學(xué)生利用這個(gè)框架編程效率會(huì)更高。為了保證程序的正確性,在軟件中附帶了boland公司的turbo assembler匯編語言編譯器(簡(jiǎn)稱tasm),學(xué)生編寫的匯編語言可以用tasm編譯成可執(zhí)行文件,以保證程序的正確性。 第二,我們要對(duì)8086匯編語言程序做簡(jiǎn)單的語法分析。由于實(shí)驗(yàn)系統(tǒng)匯編指令的操作數(shù)尋址方式都是固定的,而8086匯編語言的指令系統(tǒng)操作數(shù)尋址方式是不固定的,這就使我們不得不對(duì)808
10、6匯編語言程序進(jìn)行簡(jiǎn)單的語法分析。具體操作如下:轉(zhuǎn)換程序your掃描到一條指令首先對(duì)指令的操作碼部分進(jìn)行分析,判斷該指令是否可以轉(zhuǎn)換成th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)的匯編語言指令,如果可以就在指定變量中設(shè)置一個(gè)指令對(duì)應(yīng)的數(shù)值,如果不能轉(zhuǎn)換就輸出一行字符串,提示用戶你的程序中使用了不可轉(zhuǎn)換的8086匯編語言指令,在轉(zhuǎn)換過程中把這條指令忽略。8086匯編語言指令系統(tǒng)是一個(gè)復(fù)雜指令系統(tǒng),指令存在大量的功能冗余,因此輔助軟件采用忽略指令的方式,在這里也可以采用發(fā)現(xiàn)不可轉(zhuǎn)換的指令就發(fā)出錯(cuò)誤提示,然后強(qiáng)行結(jié)束轉(zhuǎn)換的方式,但課程組老師考慮到每個(gè)人的編程習(xí)慣不同,所以采用前者比較溫和的提示方式。然后是對(duì)操作數(shù)
11、尋址方式的判斷,同樣根據(jù)不同的尋址方式在指定變量中設(shè)置對(duì)應(yīng)的數(shù)值,如果是實(shí)驗(yàn)平臺(tái)支持的尋址方式,就直接轉(zhuǎn)換成相應(yīng)的實(shí)驗(yàn)系統(tǒng)匯編語言指令,如果不是實(shí)驗(yàn)平臺(tái)支持的尋址方式,系統(tǒng)將提示出現(xiàn)錯(cuò)誤,并強(qiáng)行結(jié)束轉(zhuǎn)換。在這一過程中最麻煩的是一些尋址方式的轉(zhuǎn)換。例如在8086匯編語言指令系統(tǒng)中,雙操作數(shù)指令允許目的操作數(shù)采用寄存器尋址方式,源操作數(shù)采用立即尋址方式。例如:add ax,10,但是實(shí)驗(yàn)系統(tǒng)的匯編語言規(guī)定雙操作數(shù)指令的兩個(gè)操作數(shù)都采用寄存器尋址方式,只有mvrd指令支持立即尋址,因此一旦發(fā)現(xiàn)上述指令,轉(zhuǎn)換程序?qū)a(chǎn)生下面四條指令,以保證程序的正確性。push r15mvrd r15,10
12、add r0,r15pop r15第三,我們要對(duì)輸入輸出指令單獨(dú)處理。由于th-union+教學(xué)實(shí)驗(yàn)系統(tǒng)有自己的輸入輸出指令,這些指令與8086匯編語言的輸入輸出指令完全不同,為了簡(jiǎn)化問題,便于學(xué)生們迅速掌握串口操作,我們約定在編寫與輸入輸出操作有關(guān)的程序時(shí),必須采用事先設(shè)計(jì)的宏。首先我們?cè)谑纠绦?.asm中利用dos系統(tǒng)功能的7號(hào)子功能和2號(hào)子功能實(shí)現(xiàn)基本的輸入輸出宏。在編程過程中凡是遇到輸入輸出操作都調(diào)用這兩個(gè)宏。然后我們把這兩個(gè)宏名加入到轉(zhuǎn)換程序中,當(dāng)轉(zhuǎn)換程序掃描到這兩個(gè)宏名將自動(dòng)生成對(duì)應(yīng)的實(shí)驗(yàn)系統(tǒng)匯編指令。在程序設(shè)計(jì)過程中,實(shí)驗(yàn)系統(tǒng)的輸入輸出操作采用查詢方式,
13、因此每次生成的實(shí)驗(yàn)系統(tǒng)匯編程序里面一定要帶一個(gè)有條件跳轉(zhuǎn)指令和標(biāo)號(hào),在具體操作時(shí),很可能出現(xiàn)多次使用輸入輸出操作,每次產(chǎn)生的標(biāo)號(hào)都要不同,所以程序中必須對(duì)生成標(biāo)號(hào)進(jìn)行處理,這是此部分的設(shè)計(jì)重點(diǎn)。本輔助軟件首次應(yīng)用于2012級(jí)軟件學(xué)院的實(shí)驗(yàn)教學(xué)中,提高了教學(xué)效率,取得較好的教學(xué)效果,同時(shí)也有許多熱心的同學(xué)對(duì)輔助軟件提出了寶貴的意見,課程組全體教師將根據(jù)師生的反饋意見進(jìn)一步完善輔助軟件,為以后的實(shí)驗(yàn)教學(xué)提供更多更好的支持。參考文獻(xiàn):1王誠(chéng),劉衛(wèi)東,宋佳興.計(jì)算機(jī)組成與設(shè)計(jì):第三版m.北京:清華大學(xué)出版社,2008:7.2王誠(chéng),劉衛(wèi)東,宋佳興.計(jì)算機(jī)組成與設(shè)計(jì)實(shí)驗(yàn)指導(dǎo):第三版m.北京:清華大學(xué)出版社,2008:8.3jo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版環(huán)保項(xiàng)目臨時(shí)工勞動(dòng)合同4篇
- 基于2025年度計(jì)劃的環(huán)保項(xiàng)目合作協(xié)議3篇
- 2025年智能水電表更換與數(shù)據(jù)采集服務(wù)合同4篇
- 2025年度個(gè)人退房協(xié)議書范本(適用于商業(yè)地產(chǎn))4篇
- 二零二五版建筑工程公司資質(zhì)借用與施工監(jiān)督服務(wù)協(xié)議3篇
- 二零二五年度商業(yè)綜合體場(chǎng)地租賃合同范本6篇
- 專利授權(quán)事務(wù)全權(quán)委托合同書版B版
- 2025年度排水溝施工安全協(xié)議書范本
- 2025種植蓮藕池塘承包與水肥一體化管理合同3篇
- 二零二五年度農(nóng)業(yè)企業(yè)財(cái)務(wù)風(fēng)險(xiǎn)控制出納人員擔(dān)保合同3篇
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2024-2025學(xué)年八年級(jí)上學(xué)期1月期末物理試題(含答案)
- 商場(chǎng)電氣設(shè)備維護(hù)勞務(wù)合同
- 2023年國(guó)家公務(wù)員錄用考試《行測(cè)》真題(行政執(zhí)法)及答案解析
- 2024智慧醫(yī)療數(shù)據(jù)字典標(biāo)準(zhǔn)值域代碼
- 年產(chǎn)12萬噸裝配式智能鋼結(jié)構(gòu)項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 【獨(dú)家揭秘】2024年企業(yè)微信年費(fèi)全解析:9大行業(yè)收費(fèi)標(biāo)準(zhǔn)一覽
- 醫(yī)療器械經(jīng)銷商會(huì)議
- 《±1100kV特高壓直流換流變壓器使用技術(shù)條件》
- 1-1 擁抱夢(mèng)想:就這樣埋下一顆種子【2022中考作文最熱8主題押題24道 構(gòu)思點(diǎn)撥+范文點(diǎn)評(píng)】
- 《風(fēng)電場(chǎng)項(xiàng)目經(jīng)濟(jì)評(píng)價(jià)規(guī)范》(NB-T 31085-2016)
評(píng)論
0/150
提交評(píng)論