于復(fù)興,于敬華
(1.華北理工大學(xué),河北 唐山 063009;2.河北能源職業(yè)技術(shù)學(xué)院,河北 唐山 063004)
軟件模擬計(jì)算機(jī)原理實(shí)驗(yàn)的改革探討
于復(fù)興1,于敬華2
(1.華北理工大學(xué),河北 唐山063009;2.河北能源職業(yè)技術(shù)學(xué)院,河北 唐山063004)
摘要:本文分析了計(jì)算機(jī)原理實(shí)驗(yàn)課程的設(shè)置現(xiàn)狀,教學(xué)效果 ,結(jié)合我校作為普通二本院校實(shí)際特點(diǎn),提出將過去的簡單驗(yàn)證性試驗(yàn)改為軟件模擬試驗(yàn)平臺開發(fā),減少學(xué)校硬件投入成本,提高學(xué)生對實(shí)驗(yàn)原理的深入理解以及學(xué)生的編程能力。
關(guān)鍵詞:軟件模擬;計(jì)算機(jī)原理;實(shí)驗(yàn)改革
一、引言
計(jì)算機(jī)原理是計(jì)算機(jī)專業(yè)的一門專業(yè)基礎(chǔ)課程,也是計(jì)算機(jī)專業(yè)考研統(tǒng)考課程,該課程內(nèi)容多,難度大,抽象,所以學(xué)生理解和掌握都比較困難。為了讓學(xué)生更好地理解和掌握這門課程中的理論知識,一直以來這門課都配有相應(yīng)的實(shí)驗(yàn)教學(xué)或課程設(shè)計(jì)教學(xué),目的是讓學(xué)生更好的理解并掌握抽象的理論知識,提高動手能力。
二、我校實(shí)驗(yàn)教學(xué)的設(shè)置現(xiàn)狀
目前我校在計(jì)算機(jī)原理實(shí)驗(yàn)教學(xué)中使用的是清華TEC系列實(shí)驗(yàn)箱+實(shí)驗(yàn)單元板固定結(jié)構(gòu)的實(shí)驗(yàn)平臺。該實(shí)驗(yàn)平臺是將計(jì)算機(jī)的各個組成部分使用單元板的形式做好,學(xué)生只需按要求連線、撥動相應(yīng)輸入或控制開關(guān)來完成實(shí)驗(yàn),實(shí)驗(yàn)箱主要負(fù)責(zé)實(shí)驗(yàn)的輸入輸出。這種固定結(jié)構(gòu)的實(shí)驗(yàn)平臺可幫助學(xué)生理解計(jì)算機(jī)主要部件的工作原理,提高學(xué)生動手能力。但是在實(shí)際的使用過程中暴漏出一系列問題:學(xué)生拿到該實(shí)驗(yàn)的指導(dǎo)書后,一般都是先看實(shí)驗(yàn)任務(wù)和實(shí)驗(yàn)步驟,看完以后就急著去操作設(shè)備,然后填寫實(shí)驗(yàn)報(bào)告,這些做完以后就感覺實(shí)驗(yàn)課的任務(wù)完成了。整個實(shí)驗(yàn)按照實(shí)驗(yàn)指導(dǎo)書操作不用思考即可完成。對于做這個實(shí)驗(yàn)的目的是什么,這個實(shí)驗(yàn)運(yùn)用了哪些知識點(diǎn)?這些知識點(diǎn)的聯(lián)系是什么?實(shí)驗(yàn)的操作步驟為什么是這樣的?每一步操作步驟的具體含義是什么?多數(shù)學(xué)生都沒有很好地去思考,沒有真正完成實(shí)驗(yàn)任務(wù)。結(jié)果就是學(xué)生忙于書寫格式復(fù)雜的實(shí)驗(yàn)報(bào)告應(yīng)付學(xué)校的檢查,浪費(fèi)大量時(shí)間。
同時(shí)TEC實(shí)驗(yàn)系統(tǒng)還有以下缺陷:(1)升級費(fèi)用高;(2)故障率高且維護(hù)困難;(3)無法進(jìn)行微指令級的調(diào)試;(4)學(xué)生無法在課后自行進(jìn)行實(shí)驗(yàn);(5)功能不易擴(kuò)充。并且實(shí)驗(yàn)內(nèi)容都是驗(yàn)證性的,擴(kuò)展性不強(qiáng),學(xué)生的設(shè)計(jì)難以突破實(shí)驗(yàn)箱的限制。
三、實(shí)驗(yàn)教學(xué)改革
針對以上問題我們提出用軟件模擬計(jì)算機(jī)原理實(shí)驗(yàn)的教學(xué)改革,該方法把TEC實(shí)驗(yàn)平臺的實(shí)驗(yàn)用軟件來模擬實(shí)現(xiàn)。根據(jù)計(jì)算機(jī)軟硬件邏輯功能等效性原理,使用軟件模擬硬件,完全可行。使用軟件模擬,可以用很低的成本實(shí)現(xiàn)相同的硬件功能,并且軟件本身沒有故障,尤其可以根據(jù)學(xué)生的需要增加各種功能。從軟件模擬的種種優(yōu)勢可以看到,軟件模擬技術(shù)在教學(xué)中具有很高的實(shí)用價(jià)值。
實(shí)驗(yàn)教學(xué)改革要求學(xué)生參與實(shí)驗(yàn)平臺的仿真建設(shè),先開發(fā)軟件平臺,然后在自己的平臺進(jìn)行實(shí)驗(yàn)操作,做“設(shè)備”和使用設(shè)備層次是不一樣的,此項(xiàng)目不僅加強(qiáng)學(xué)生對實(shí)驗(yàn)內(nèi)容、原理的理解,還提高了學(xué)生的編程能力。因?yàn)閷W(xué)生必須對TEC系列機(jī)的基本結(jié)構(gòu)了如指掌,如字長,機(jī)器指令,尋址方式等,才能動手開發(fā),而開發(fā)此軟件又用到了大量程序設(shè)計(jì),面向?qū)ο笾R,提高學(xué)生編程能力。
項(xiàng)目主要框架:
(1)設(shè)計(jì)運(yùn)算器模塊
(2)學(xué)生自己設(shè)計(jì)簡單指令系統(tǒng);
(3)學(xué)生自己設(shè)計(jì)簡單模型機(jī);
(4)輸入指令,數(shù)據(jù),顯示指令執(zhí)行動態(tài)過程;
(5)可視化輸出檢驗(yàn)結(jié)果驗(yàn)證。
考慮到學(xué)生水平的不一致,對系統(tǒng)設(shè)計(jì)提出三個層次要求即:初級完成(1)、(4)、(5)模塊;中級完成(1)、(2)、(4)、(5)模塊;高級完成(1)、(2)、(3)、(4)、(5)模塊,學(xué)生可以根據(jù)自身情況選擇完成。
四、具體實(shí)施內(nèi)容
1. 設(shè)置軟件平臺的基本參數(shù):字長16位,采用6位操作碼,最多支持64條指令。尋址方式有寄存器尋址、寄存器間接、立即數(shù)、變址、相對和堆棧尋址。設(shè)置16位通用寄存器R0-R15。
2.設(shè)置運(yùn)算器結(jié)構(gòu):設(shè)計(jì)實(shí)現(xiàn)8種運(yùn)算,具體運(yùn)算內(nèi)容見表1,每一位的實(shí)際輸入為兩個輸入端R和S。選擇ALU的八種運(yùn)算??赏ㄟ^三位功能選擇碼I5、 I4、 I3實(shí)現(xiàn)。如表1所示。選擇送入ALU的兩個操作數(shù)據(jù) R和S的組合關(guān)系。表上已標(biāo)明,R從D和A中選擇,S從A、B和Q中選擇,并用I2、 I1、 I0三位操作數(shù)選擇碼控制二組多路選通門選取其一, 具體規(guī)定如表1所示。選擇運(yùn)算結(jié)果去處, 主要指通用寄存器組和Q寄存器實(shí)現(xiàn), 以及總線信息Y的內(nèi)容。這是通過 I8 、I7、 I6三位結(jié)果選擇碼來控制三組相應(yīng)的選擇門電路實(shí)現(xiàn)的, 具體規(guī)定如表1所示。
脫機(jī)運(yùn)算器實(shí)驗(yàn)設(shè)置:用實(shí)驗(yàn)平臺上的兩個12位的微型開關(guān)SW2和SW1來向運(yùn)算器提供全部的控制信號, 包括I8-I0, SST, A口地址、B口地址、SCi, SSH共24位。其具體安排如圖1所示。數(shù)據(jù)通過D15-D0這16位開關(guān)輸入。運(yùn)算器指令要置程序狀態(tài)寄存器中的位寄存器CVZN的值,平臺界面上同過“燈”的顏色來區(qū)分。
圖1 運(yùn)算器開關(guān)圖
I8-6I5-3I2-0000F→QFR+SAQ001無FS-RAB010F→BAR-S0Q011F→BFR∨S0B100F/2→BQ/2→QFR∧S0A101F/2→BFR∧SDA1102F→B2Q→QFRSDA1112F→BFRSDS寄存器結(jié)果選擇Y輸出選擇運(yùn)算功能選擇RS
3.定義軟件模型機(jī)指令格式 :最高6位是操作碼,中間的兩位,即9、8兩位是條件碼,只能把他用作條件轉(zhuǎn)移指令的判斷條件。這兩位的值為00、01、10和11時(shí),分別選擇以處理機(jī)狀態(tài)字中的C、Z、V和S的值作為判斷條件。最低的8位有多種用法:
(1)用于給出輸入輸出指令端口地址。例如,已規(guī)定第一個串行口地址為40h和41h,第二個串行口地址為42h和43h。并行口、DMA口等都可以被分配幾個合理的地址,以實(shí)現(xiàn)輸入輸出接口的各種實(shí)驗(yàn)。
(2)用于給出相對尋址的位移量,其范圍是從-128到+127之間,因此相對地址應(yīng)在當(dāng)前指令地址向前向后總共256個字的范圍之內(nèi)。
(3)這8位被分為兩個4位的字段,用于給出所用的通用寄存器編號。對雙操作數(shù)指令,這里給出目的與源兩個操作數(shù)所在的寄存器編號。對單操作數(shù)指令,只用源或目的中的一個操作數(shù),此時(shí),可能用到某一個4位字段,另一個4位字段不用。
圖2 指令格式圖
4.設(shè)計(jì)指令執(zhí)行過程:執(zhí)行一條指令,要經(jīng)過取指令、分析指令、執(zhí)行指令三個階段,控制器要保證能按程序中設(shè)定的指令運(yùn)行次序,自動地連續(xù)執(zhí)行指令序列。為此,必須有一個能提供指令在內(nèi)存中的地址的部件,即程序計(jì)數(shù)器(PC),每次指令的地址都從這里取出,并接收下條要執(zhí)行的指令的地址;還要有一個能保存讀來的指令內(nèi)容的部件,通稱指令寄存器(IR),以提供本指令執(zhí)行的整個過程中要用到的指令本身的主要信息;控制器的第三個組成成分,是脈沖源、啟??刂七壿?,實(shí)現(xiàn)時(shí)用固定時(shí)間間隔模擬脈沖源,它標(biāo)記出每條指令的各執(zhí)行步驟的相對次序關(guān)系;控制器的第四個組成部分是全部時(shí)序控制信號的產(chǎn)生部件,它依據(jù)指令內(nèi)容、指令的執(zhí)行步驟(時(shí)刻),以及其它條件信號,來形成并提供出當(dāng)前各部件本時(shí)刻要用到的控制信號。計(jì)算機(jī)在這些信號控制下協(xié)同運(yùn)行,產(chǎn)生預(yù)期的執(zhí)行結(jié)果,也就是執(zhí)行一條又一條的指令。
5.設(shè)計(jì)微指令:把指令執(zhí)行時(shí)的基本未操作信號定義好,封裝在控制存儲器中(通過模擬實(shí)現(xiàn)),包括PC→AR、PC+1→PC、MEM→AR、MEM→Q、 MEM+Q→Q……當(dāng)指令執(zhí)行時(shí)能自動對指令進(jìn)行分析,分解成不同的微操作,形成用一段微指令解釋一條機(jī)器指令。此環(huán)節(jié)要求學(xué)生對指令的執(zhí)行特別熟悉,才能用軟件模擬出效果。
五、實(shí)施效果
實(shí)踐證明:經(jīng)過對我校11級計(jì)算機(jī)應(yīng)用專業(yè)實(shí)施,此項(xiàng)實(shí)驗(yàn)教學(xué)改革對學(xué)生掌握計(jì)算機(jī)原理課程內(nèi)容,提高編程能力大有裨益。本項(xiàng)目結(jié)合學(xué)校實(shí)際,從學(xué)生角度出發(fā),改變以前按實(shí)驗(yàn)講義照搬不思考的學(xué)習(xí)狀態(tài),施加壓力,充分調(diào)動學(xué)生的學(xué)習(xí)興趣,項(xiàng)目按照難度區(qū)分為三個層次,滿足不同水平學(xué)生的設(shè)計(jì)要求,此過程的實(shí)施比起按照實(shí)驗(yàn)步驟操作印象深刻了許多。軟件要想運(yùn)行,必須要有清晰的實(shí)驗(yàn)原理知識和熟練的編程技巧,缺一不可,所以用軟件模擬硬件實(shí)驗(yàn)既可以理解實(shí)驗(yàn)原理又可以提高編程能力。
本模擬機(jī)用軟件方法模擬硬件系統(tǒng),成功地實(shí)現(xiàn)了TEC實(shí)驗(yàn)平臺功能,使得在該模擬機(jī)上做實(shí)驗(yàn)和在實(shí)驗(yàn)室里做實(shí)驗(yàn)效果完全一致,可以作為TEC實(shí)驗(yàn)課的輔助軟件供學(xué)生在課后使用。學(xué)生既參與了軟件平臺的開發(fā),提高了對實(shí)驗(yàn)原理的理解,又可以課后完成擴(kuò)展性實(shí)驗(yàn),沒有硬件成本??芍^一舉多得。
六、結(jié)論
傳統(tǒng)的實(shí)驗(yàn)教學(xué),教師通常會按照實(shí)驗(yàn)?zāi)康?,?shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)結(jié)果的順序進(jìn)行講解然后演示,學(xué)生按照實(shí)驗(yàn)步驟的要求完成實(shí)驗(yàn),然后記錄實(shí)驗(yàn)數(shù)據(jù),達(dá)不到實(shí)驗(yàn)?zāi)康模劜簧蟿?chuàng)造性內(nèi)容。
結(jié)合我校作為普通二本院校實(shí)際特點(diǎn):硬件設(shè)施投入少,更新周期長,計(jì)算機(jī)專業(yè)學(xué)生畢業(yè)后幾乎全部在軟件領(lǐng)域就職,把以前的簡單驗(yàn)證性試驗(yàn)改為軟件模擬實(shí)驗(yàn)平臺開發(fā),減少學(xué)校硬件投入成本,提高學(xué)生對實(shí)驗(yàn)原理的深入理解,并且提高學(xué)生的編程能力,效果顯著。
參考文獻(xiàn):
[1]馬漢達(dá),趙慧.計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)改革.計(jì) 算 機(jī) 教 育.2010年9月10日.第 17期.
[2]厲豪強(qiáng). 寧波大紅鷹學(xué)院.淺談“計(jì)算機(jī)組成原理實(shí)驗(yàn)”教學(xué)質(zhì)量的改進(jìn). 學(xué)術(shù)探討
[3]胡敏,錢興賢.計(jì)算機(jī)組成接口與通信實(shí)驗(yàn)指導(dǎo)
The Reform of Computer Principle Experiment Based on Software Simulation
YU Fu-Xing1,YU Jing-Hua2
(1. North China University of Science and Technology, Tangshan 063009, China;2. Hebei Energy Institute of Vocation and Technology, Tangshan 063004, China)
Abstract:This essay analyzes the current curriculum and teaching effects of the computer principle course, based on the basic features of the ordinary universities, like the author's school. Meanwhile, this essay puts forward the reform of hardware proven experiments into the development of software simulation test platform, so that we can reduce the hardware investment cost, as well as improve students' understandings of the experiment principles and their programming abilities.
Key words:software simulation; computer principle; experimental reform
收稿日期:2016-03-21
基金項(xiàng)目:華北理工大學(xué)教改項(xiàng)目:計(jì)算機(jī)原理綜合性實(shí)驗(yàn)平臺(Q1477-03)。
作者簡介:于復(fù)興(1979- ),男,碩士,華北理工大學(xué)信息工程學(xué)院講師,研究方向:計(jì)算機(jī)輔助教學(xué)效果研究、計(jì)算機(jī)程序設(shè)計(jì)。
中圖分類號:TP311.52
文獻(xiàn)標(biāo)識碼:A
文章編號:1671-3974(2016)02-0078-03