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