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