文章編號:1672-5913(2008)18-0025-02
摘要:本文分析了目前微機接口實驗?zāi)J酱嬖诘膯栴}和不足;并根據(jù)該課程的具體特點,對微機接口虛擬實驗的實現(xiàn)進行了研究;詳細(xì)闡述了微機接口虛擬實驗的作用以及虛擬實驗和真實實驗的互補。
關(guān)鍵詞:微機接口;虛擬實驗;真實實驗;實驗教學(xué)
中圖分類號:G642.423 文獻標(biāo)識碼:B
1引言
“微機接口技術(shù)”是高等院校計算機專業(yè)的主要專業(yè)基礎(chǔ)課程之一,也是許多理工科專業(yè)學(xué)生的一門必修課程。通過該課程的學(xué)習(xí),學(xué)生可以深入了解微型計算機系統(tǒng)組成、工作原理及常規(guī)接口技術(shù),掌握針對系統(tǒng)和接口的程序設(shè)計,為應(yīng)用和開發(fā)微型計算機技術(shù)打下良好的基礎(chǔ)。目前大部分高校的微機接口實驗必須借助于專門硬件實驗設(shè)備才可以進行,如圖1所示,這種實驗?zāi)J酱嬖谝韵乱恍┤秉c:
(1) 由于受到經(jīng)費的限制,學(xué)校所能提供的實驗設(shè)備有限,在目前學(xué)生人數(shù)日益增多的情況下,很難滿足每個學(xué)生擁有一臺設(shè)備的要求,學(xué)生也不可能隨時到實驗室去熟悉實驗設(shè)備,在實驗時學(xué)生經(jīng)常會因?qū)υO(shè)備不熟悉,對實驗內(nèi)容準(zhǔn)備不充分而收不到滿意的實驗效果,教學(xué)質(zhì)量很難保證。
(2) 實驗設(shè)備易損壞、老化,而且由于微型計算機發(fā)展迅速,實驗設(shè)備更新?lián)Q代往往跟不上微型計算機發(fā)展的速度,導(dǎo)致實驗內(nèi)容陳舊、不全面。如目前大多數(shù)高校該課程的使用教材和授課內(nèi)容已經(jīng)是以32位微處理器為背景,講授32位微型計算機原理和接口技術(shù),但配套的32位實驗設(shè)備卻鮮見。
(3) 微機接口實驗通常是軟件和硬件相接合,學(xué)生平時對計算機硬件的實踐操作機會很少,若涉及較多的接插線和元器件出現(xiàn)錯誤,造成實驗時間過長,學(xué)生排查錯誤困難,而且一旦出現(xiàn)差錯易造成器件或設(shè)備的損壞和故障,影響了學(xué)生學(xué)習(xí)的主動性和積極性。
(4) 隨著互聯(lián)網(wǎng)的發(fā)展,基于網(wǎng)絡(luò)的遠程教學(xué)教育在教育領(lǐng)域中的影響越來越大。由于教學(xué)機構(gòu)與學(xué)生在空間上分離,學(xué)生無法到學(xué)校實驗室做具體的實驗,這成為了制約遠程教育質(zhì)量的一個重要因素[1-2]。
鑒于以上情況,虛擬實驗已成為當(dāng)今研究的熱點[3-7]。所謂虛擬實驗是指在計算機系統(tǒng)中采用虛擬現(xiàn)實技術(shù)實現(xiàn)的各種虛擬實驗環(huán)境,實驗者可以像在真實的環(huán)境中一樣完成各種預(yù)定的實驗項目,所取得的學(xué)習(xí)或訓(xùn)練效果等價于甚至在某些情況下優(yōu)于在真實環(huán)境中所取得的效果。近年來,虛擬實驗得到了快速發(fā)展,但大部分集中在物理、化學(xué)類等學(xué)科,而微機接口等可編程類虛擬實驗由于受技術(shù)的限制,發(fā)展相對緩慢。本文針對微機接口實驗的具體特點,對微機接口虛擬實驗的實現(xiàn)進行了研究,探討了虛擬實驗的作用以及真實實驗和虛擬實驗的互補關(guān)系。
2微機接口虛擬實驗的實現(xiàn)
微機接口實驗涉及到對特定的可編程接口芯片的編程[8],互動性是虛擬實驗中的最大難點。如果僅僅讓學(xué)生運行給定的實驗程序和觀察預(yù)先設(shè)置的實驗結(jié)果,而不讓他們自己親自動手編程、調(diào)試和執(zhí)行實驗程序,通過程序運行控制設(shè)備工作,察看運行效果來檢驗程序正確性,根本達不到預(yù)想的實驗效果,也不能提起學(xué)生對接口實驗的興趣。因此實現(xiàn)虛擬可編程實驗必須根據(jù)實驗程序執(zhí)行后產(chǎn)生的指令流,虛擬實驗設(shè)備實時動作以仿真真實設(shè)備。通過對接口實驗仔細(xì)分析,可發(fā)現(xiàn)在微機接口實驗中,用戶對外設(shè)的控制完全是通過對接口芯片的編程實現(xiàn)的,PC系列機中,CPU對I/O端口的訪問又是通過IN/OUT指令完成的,因此可截獲用戶程序運行中對端口的操作序列(即IN/OUT指令流),然后根據(jù)這個端口操作序列讓虛擬實驗設(shè)備實時動作,對真實設(shè)備的真實運行結(jié)果進行模擬仿真。即構(gòu)造虛擬實驗的關(guān)鍵是讓虛擬實驗設(shè)備程序?qū)崟r獲得實驗程序執(zhí)行后的I/O指令流,即輸入、輸出指令的截獲。
由于Windows 2000/XP操作系統(tǒng)中,普通應(yīng)用程序?qū)Χ丝谑遣荒苤苯佑肐N/OUT指令進行訪問的,也不能使用STI,CLI中斷允許和禁止指令[9],因此目前各高校微機接口實驗程序的編程格式基本上仍是DOS格式,程序運行在Windows的虛擬86,即DOS虛擬機(VDM)環(huán)境中。虛擬86模式是保護模式下的一種特殊工作模式,實模式DOS程序可以不經(jīng)任何修改地運行在此模式中,但DOS程序中任何對硬件訪問的特權(quán)操作都會被系統(tǒng)截獲。Windows 2000/XP操作系統(tǒng)提供的基于VDM的截獲[1o],不需要對DOS實驗程序做任何修改。VDM會將截獲的DOS實驗程序中對端口的I/O操作,路由到虛擬設(shè)備驅(qū)動程序(VDD),VDD再根據(jù)每種具體的操作來進行轉(zhuǎn)發(fā),可以直接訪問硬件設(shè)備;也可以脫離實際的硬件,轉(zhuǎn)發(fā)給虛擬實驗設(shè)備程序,虛擬實驗設(shè)備會根據(jù)用戶的指令實時反饋,對真實設(shè)備的真實運行結(jié)果進行模擬仿真,例如發(fā)出聲音、屏幕的顯示發(fā)生變化等。虛擬實驗系統(tǒng)模型圖所圖2所示。
根據(jù)微機接口實驗的特點,接口實驗虛擬化應(yīng)采用虛實接合的設(shè)計思想,以最大限度地仿真真實的實驗環(huán)境。“實”即原有的實驗程序和開發(fā)工具、開發(fā)環(huán)境保持不變,不需要做任何改動。學(xué)生不需要重新熟悉專門的編程語言、新的開發(fā)環(huán)境,一切開發(fā)過程和真實環(huán)境中的相同?!疤摗奔磳⑽C接口實驗需要的專門實驗設(shè)備虛擬化,以“軟”代“硬”,編寫程序?qū)τ布嶒炘O(shè)備的實驗結(jié)果進行仿真,以此來構(gòu)建一個虛擬實驗設(shè)備。虛擬實驗設(shè)備包含8254、8255、8250等虛擬接口芯片以及數(shù)碼管、開關(guān)、發(fā)光二級管等虛擬外設(shè)。
3虛擬實驗的作用
虛擬實驗用純軟件的方法實現(xiàn)以“軟”代“硬”,不僅比較有效地解決目前微機接口實驗存在的一些問題和不足,在一些地方甚至優(yōu)于真實的硬件實驗,如不占用系統(tǒng)硬件資源,共享度高、成本低,可以不斷增加新的實驗內(nèi)容等。虛擬實驗的作用主要體現(xiàn)在以下幾個方面:
(1) 課堂教學(xué)
“微機接口技術(shù)”是一門軟、硬件相接合的課程。對于絕大多數(shù)學(xué)生來講,課程中的很多知識都是抽象而難于理解的,普通的多媒體課件無法反映計算機程序執(zhí)行的動態(tài)效果,硬件實驗結(jié)果與其工作原理都難以用這類課件反映出來,從而達不到理想的教學(xué)效果,學(xué)生會覺得生澀難懂。虛擬實驗可以將實驗搬進教室,結(jié)合理論課在講臺上演示,從而解決理論教學(xué)和實驗教學(xué)各自獨立、相互分離的問題。學(xué)生可以很直觀地看到動態(tài)的執(zhí)行過程,明確了執(zhí)行過程中相關(guān)硬件的工作情況,調(diào)動了學(xué)習(xí)積極性。例如圖3是一個數(shù)碼管8字左移程序運行時的顯示狀態(tài)。用戶可以通過改變程序中的段選碼和位選碼,動態(tài)地改變數(shù)碼管的顯示。學(xué)生通過這一虛擬實驗,不僅明白了和接口相關(guān)的基本概念,數(shù)碼管的工作原理,而且深入理解了微機系統(tǒng)與外設(shè)采用無條件數(shù)據(jù)傳送的基本原理,實踐證明可達到了理想的教學(xué)效果,極大地提高了教學(xué)效率。
(2) 實驗預(yù)習(xí)及指導(dǎo)
學(xué)生首先可通過虛擬實驗,深入了解實驗的原理、過程、結(jié)果。微機接口實驗通常是軟件和硬件相接合,硬件的虛擬化排除了實驗中硬件故障的影響,學(xué)生可通過虛擬實驗,方便地檢查出程序的錯誤,編寫出正確的實驗程序,避免真實實驗時間過長,排查錯誤困難的情況發(fā)生。
(2) 課后復(fù)習(xí)
學(xué)生在課后復(fù)習(xí)過程中,還會遇到很多關(guān)系到實驗方面的內(nèi)容,利用虛擬實驗提供的虛擬環(huán)境,學(xué)生能夠和做真實實驗一樣進行操作并得出實驗結(jié)果。
(3) 設(shè)計性和綜合性實驗的開設(shè)
設(shè)計性和綜合性實驗是培養(yǎng)學(xué)生綜合素質(zhì)的有效途徑,虛擬實驗可提供大量的設(shè)計性和綜合性的實驗課題,課題的內(nèi)容和深度可根據(jù)學(xué)生本人的興趣與能力來選擇。這些實驗可以開拓學(xué)生視野,激發(fā)學(xué)生實驗的興趣,有助于學(xué)生創(chuàng)新能力的培養(yǎng)。
(4) 遠程教育
在遠程教育中,無法開展真實實驗。虛擬實驗的出現(xiàn)無疑為遠程教育的實驗問題提供了解決的方法。將做好的虛擬實驗發(fā)布到學(xué)校的網(wǎng)站上,學(xué)生可以方便地下載虛擬實驗軟件,或?qū)⑻摂M實驗系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)緊密結(jié)合起來,建成WEB 虛擬實驗室,則可以在相當(dāng)程度上加強遠程教育的實驗環(huán)節(jié),達到學(xué)習(xí)的目的。
(5) 更新教學(xué)觀念
虛擬實驗可以不受地點和時間的限制,學(xué)生可以根據(jù)教學(xué)進度和自身實際情況,自主選擇實驗內(nèi)容,還可以多次重復(fù)實驗,處于實驗教學(xué)的主導(dǎo)地位,掌握了學(xué)習(xí)的主動權(quán),激發(fā)了學(xué)習(xí)的興趣。教師與學(xué)生、學(xué)生與學(xué)生之間可以平等地通過“協(xié)商”進行學(xué)習(xí)。
4結(jié)束語
微機接口虛擬實驗與真實實驗相比有其獨特的優(yōu)勢,在實驗教學(xué)中正發(fā)揮著越來越大的作用,它可使我們豐富實驗教學(xué)內(nèi)容,改進實驗教學(xué)手段和方法。但虛擬實驗與真實實驗存在著本質(zhì)的差別,是不可能完全替代實物實驗的。一些在真實實驗中出現(xiàn)的問題,在虛擬實驗中并不出現(xiàn)。真實實驗是虛擬實驗的基礎(chǔ),實驗結(jié)果是不可預(yù)測的。虛擬實驗是對真實實驗的模擬,在模擬過程中丟失了許多真實事件的信息,實驗過程中不完全的信息不利于對學(xué)生嚴(yán)謹(jǐn)求實的科學(xué)態(tài)度的培養(yǎng),影響學(xué)生對微小變化和非正常信息的感受,不利于學(xué)生創(chuàng)新能力、動手能力和發(fā)現(xiàn)、解決問題能力的培養(yǎng)。因此在教學(xué)中,應(yīng)發(fā)揮真實實驗和虛擬實驗各自的特點,將虛擬實驗與真實實驗有機地結(jié)合起來,兩者互為補充,相輔相成。實踐證明,將計算機虛擬實驗與傳統(tǒng)的真實實驗相結(jié)合的實驗方法是有效提高實驗教學(xué)質(zhì)量、效率及效果的好方法。
參 考 文 獻
[1] 江詩林,吳泉源. 開展虛擬實驗系統(tǒng)的研究和應(yīng)用[J]. 計算機工程與科學(xué),2002,(22):34-35.
[2] 李健蘋. 遠程教育實驗教學(xué)的實施[J]. 重慶廣播電視大學(xué)學(xué)報,2002,(1):11-13.
[3] 詹碧卿,超文,建生等. 現(xiàn)代遠程教育教學(xué)模式探討[J]. 中國遠程教育,2002,(2):43-47.
[4] 陳傳波,朱偉,劉樂善. 一個可編程虛擬實驗平臺的研究[J]. 計算機工程科學(xué),2004,(7):77-78.
[5] 孫力娟等. 微型計算機原理與接口技術(shù)[M]. 北京:清華大學(xué)出版社,2007.
[6] 坎特. Windows WDM設(shè)備驅(qū)動程序開發(fā)指南[M]. 北京:機械工業(yè)出版社,2007.