劉躍華 梁英 何靜
摘要:新工科背景下對信息技術(shù)類課程的教學(xué)提出了新的要求,虛擬現(xiàn)實與仿真技術(shù)的引入將推動了課程教學(xué)方法的改革。本文架構(gòu)了集成化的匯編語言編譯環(huán)境,采用第三方軟件與自主開發(fā)相結(jié)合的方式來組建計算機組成原理的實驗平臺,教學(xué)實踐表明,與傳統(tǒng)的實驗手段相比,虛擬仿真實驗在教學(xué)中時效性、受益面等方面具有明顯的優(yōu)勢。
關(guān)鍵詞:虛擬現(xiàn)實;仿真實驗;計算機組成原理;匯編語言
中圖分類號:G642 文獻標(biāo)識碼:A
為培養(yǎng)和造就一大批引領(lǐng)未來技術(shù)與產(chǎn)業(yè)發(fā)展的卓越工程科技人才,2017年教育部提出“新工科理念”,圍繞新工科專業(yè)建設(shè),教育部批準(zhǔn)設(shè)置了人工智能、大數(shù)據(jù)、網(wǎng)絡(luò)空間安全等新工科專業(yè)以促進了傳統(tǒng)工科專業(yè)向新工科專業(yè)轉(zhuǎn)化?!队嬎銠C組成原理與匯編語言》作為新工科背景下的一門重要的專業(yè)課程,在教學(xué)理念、教學(xué)方法和教學(xué)手段等方面必須進行改革以適應(yīng)新時期人才培養(yǎng)要求。虛擬現(xiàn)實技術(shù)作為21世紀(jì)發(fā)展最為迅速、對人們的工作生活有著重要影響的信息技術(shù)之一,勢必會在高校的教學(xué)領(lǐng)域中扮演重要的角色。
1《計算機組成原理與匯編語言》課程的特點與存在的問題
本課程實質(zhì)上是由《計算機組成原理》和《匯編語言程序設(shè)計》兩門課程的內(nèi)容綜合起來的,計算機組成原理是一門理論性和實踐性都很強的核心專業(yè)基礎(chǔ)課程,在計算機學(xué)科的系列課程中處于承上啟下的作用,課程學(xué)習(xí)為后續(xù)課程f如計算機體系結(jié)構(gòu),嵌入式系統(tǒng)、微機原理與接口技術(shù))的學(xué)習(xí)、研究生升學(xué)考試、就業(yè)應(yīng)聘等環(huán)節(jié)奠定了堅實的理論基礎(chǔ),具體的教學(xué)目標(biāo)有:
1)掌握定點數(shù)和浮點數(shù)的表示方法,理解數(shù)據(jù)表示對軟/硬件系統(tǒng)設(shè)計的影響;
2)掌握基本算術(shù)、邏輯運算部件的工作原理及設(shè)計方法;
3)掌握存儲器層次結(jié)構(gòu)工作原理,理解存儲器層次結(jié)構(gòu)對程序執(zhí)行性能的影響;
4)了解指令設(shè)計的基本原理,掌握指令尋址方式的特點及其對指令執(zhí)行性能的影響;
5)掌握單周期數(shù)據(jù)通路、多周期數(shù)據(jù)通路和流水線數(shù)據(jù)通路及其控制部件的工作原理和設(shè)計方法;
6)掌握組合邏輯控制器和微程序控制器的實現(xiàn)方法。
匯編語言是計算機編程的低級語言,與CPU的指令系統(tǒng)密切相關(guān),常與計算機底層的硬件打交道。目前的指令系統(tǒng)有以MIPS為代表的精簡指令系統(tǒng)(RISC)和以Intel x86為代表的復(fù)雜系統(tǒng)系統(tǒng)(CISC),我校開設(shè)的課程以x86指令系統(tǒng)作為匯編語言教學(xué)內(nèi)容,具體的教學(xué)目標(biāo)有:
1)理解微型計算機的結(jié)構(gòu)及其內(nèi)部運行過程;2)掌握Intelx86的指令系統(tǒng);3)掌握MASM指令和偽指令的功能和要求、匯編語言程序控制方法和宏匯編程序的開發(fā)過程;4)理解DOS和BIOS的系統(tǒng)功能,能使用其中的主要的功能調(diào)用來編寫程序;5)理解微型計算機輸入/輸出控制的主要方式,掌握中斷例程的編寫。
本校的計算機科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)、物聯(lián)網(wǎng)工程專業(yè)和智慧管理等專業(yè)和班級都開設(shè)了這門課程,以前的實驗教學(xué)環(huán)境采用“愛迪克計算機組成原理教學(xué)實驗系統(tǒng)(實驗箱)”,雖然在該實驗箱上可以完成大部分實驗,但存在如下問題:一是實驗箱中的實驗內(nèi)容不能升級換代;二是不能在課堂教學(xué)上使用以實現(xiàn)互動教學(xué);三是不能實現(xiàn)線上教學(xué)(如MOOC教學(xué))等。因此,以虛擬仿真的實驗來代替?zhèn)鹘y(tǒng)實驗手段是一種合理的選擇。
2虛擬現(xiàn)實在課程建設(shè)中的應(yīng)用
虛擬現(xiàn)實技術(shù)(VR)技術(shù)是20世紀(jì)末逐漸興起的一門綜合性技術(shù),涉及計算機圖形學(xué)、多媒體技術(shù)、傳感技術(shù)、人工智能等多個領(lǐng)域,是仿真技術(shù)的一個重要方向。由于VR改變了傳統(tǒng)的人與計算機之間被動、單一的交互模式,用戶和系統(tǒng)的交互變得主動化、多樣性、自然化,因此虛擬現(xiàn)實技術(shù)在教育、醫(yī)療、娛樂等眾多領(lǐng)域有著非常廣泛的應(yīng)用前景。圖1是虛擬現(xiàn)實技術(shù)的組成結(jié)構(gòu),大體上是由軟件和硬件兩大部分組成。
虛擬現(xiàn)實設(shè)備包括頭盔、數(shù)據(jù)衣、數(shù)據(jù)手套、氣味發(fā)生器、味覺發(fā)生器等?!邦^盔”則由顯示器、光學(xué)系統(tǒng)、立體聲音箱和運動跟蹤系統(tǒng)構(gòu)成。目前,沉浸式虛擬現(xiàn)實具有一定的優(yōu)勢,它可以對現(xiàn)實生活中存在一定局限性的情境和對象進行實驗,參與者戴著頭盔(HDM)和一副特殊的3D眼鏡,以獲得虛擬環(huán)境的立體視圖。高昂的價格一直是HMD在教育環(huán)境中使用的最大障礙之一,且大多數(shù)學(xué)校的計算機的配置不滿足的要求,鑒此,我們在構(gòu)建基于虛擬現(xiàn)實的計算機組成原理實驗教學(xué)系統(tǒng)時,采用虛擬現(xiàn)實建模語言(VRML)與建模工具(如Unity、Vizard)相結(jié)合的方式來實現(xiàn)。VRML是一種虛擬現(xiàn)實建模的標(biāo)準(zhǔn),運用VRML制作教學(xué)課件時可以將文本、多維動畫、小視頻等多種媒體信息整合起來以再造真實場景,激發(fā)學(xué)生的學(xué)習(xí)欲望。通過對實驗對象進行建模、數(shù)據(jù)采集和場景渲染等環(huán)節(jié)的處理,利用虛擬現(xiàn)實的開發(fā)工具可以構(gòu)建圖2所示的課程實驗環(huán)境。
3虛擬仿真實驗平臺的應(yīng)用
3.1匯編語言實驗教學(xué)平臺
在DOS環(huán)境下,匯編語言程序的開發(fā)要經(jīng)過編輯、編譯、連接和調(diào)試等彼此分離的步驟(如圖3所示),這樣的過程費時費力,學(xué)生對DOS的使用相對陌生,盡管Windows保留了DOS的工作方式,但是實驗過程中在WINDOWS與DOS之間來回切換會影響上機的效率,也不利于保護模式下的編程教學(xué),我們根據(jù)匯編語言實驗教學(xué)的特點,利用Java語言設(shè)計出了一款使用便利、可移植強的匯編語言集成編譯系統(tǒng)(如圖4所示)。該系統(tǒng)集編譯、連接、執(zhí)行等功能于一體,并提供關(guān)鍵詞高亮顯示、錯誤代碼導(dǎo)航、代碼即時輔助提示、幫助資料以及實驗報告生成等功能。該系統(tǒng)不僅可以在實驗室作為匯編語言的上機環(huán)境,也充當(dāng)課堂教學(xué)和線上教學(xué)的實驗教學(xué)手段。
3.2計算機組成原理課程的仿真實驗環(huán)境
1)LOCISIM軟件的應(yīng)用
Logisim軟件是一款圖形化的用于設(shè)計和模擬數(shù)字邏輯電路的工具(見圖5),其簡捷的工具欄界面和構(gòu)建它們時的電路仿真,有助于學(xué)習(xí)與邏輯電路相關(guān)的基本概念,能夠從較小的子電路構(gòu)建更大的系統(tǒng),并通過鼠標(biāo)拖動來繪制線路束,因此可以通過使用Logisim來設(shè)計和模擬整個CPU。該軟件基于Java環(huán)境,可以在實驗機房、教學(xué)網(wǎng)站和個人微機上完成實驗。目前有很多雙一流高校(如華中科技大學(xué)的計算機組成原理慕課)都采用該仿真軟件來進行實驗教學(xué)。
我們在該仿真環(huán)境下開展的主要實驗項目包括:寄存器組設(shè)計、算術(shù)邏輯運算單元設(shè)計、存儲器擴展設(shè)計、基于MIPS的單周期CPU設(shè)計等實驗。ALU設(shè)計實驗:完成1個32位的加法器;寄存器組設(shè)計實驗:構(gòu)建1個基于MIPS的16個32位寄存器組,每個寄存器配置1個WR端口和2個RD端口;單周期CPU設(shè)計實驗:完成具有10條以上MIPS指令集的單周期CPU設(shè)計,該CPU中包含PC、ID、CU、地址形成等部件,采用組合邏輯控制方式產(chǎn)生微命令。存儲器的擴展設(shè)計:包括位擴展、字?jǐn)U展和字位同時擴展的實驗。
2)CodeCode.net仿真實驗平臺
該平臺是北京英真時代科技有限公司為高校計算機專業(yè)提供的一個教學(xué)與科研平臺,可用于高校計算機專業(yè)的新工科建設(shè)、虛擬仿真實驗中心建設(shè),以及工程教育專業(yè)認(rèn)證、本科教學(xué)評估和大規(guī)模在線開放課程(MOOC)的開展。該平臺可以為教師和學(xué)生提供托管服務(wù),教師可以將實驗文檔、源代碼文件托管到此平臺,學(xué)生也可以將實驗報告、設(shè)計文檔等在此平臺進行托管,提供WebIDE功能,使用者無須安裝任何客戶端軟件,可以直接使用瀏覽器在線完成項目的構(gòu)建、驗證和部署工作。學(xué)生使用配套實驗軟件訪問平臺時,采用了C/S模式,教師使用瀏覽器訪問平臺時采用了B/S模式,從而充分利用了這兩種模式的優(yōu)點。在教學(xué)中,利用該平臺的虛擬仿真技術(shù),在沒有實際硬件的情況下可以完成表1中的實驗。
3)自主開發(fā)的仿真實驗教學(xué)系統(tǒng)
圖6是我們利用Java開發(fā)的一個微型計算機的實驗教學(xué)系統(tǒng),在該系統(tǒng)上可以完成PC機的控制與接口訪問的常規(guī)實驗,在微機原理的課程的實驗教學(xué)中應(yīng)用效果較好。
4結(jié)束語
目前有些高校配置的計算機組成原理實驗系統(tǒng),雖然滿足了計算機組成原理課程的基本實驗教學(xué)要求,但其實驗平臺存在一些不足之處,如有實驗內(nèi)容欠豐富、實驗平臺固定、實驗跳線多、原理不透明、功能擴充性不佳等。虛擬仿真技術(shù)通過再現(xiàn)一個有較強真實感的仿真教學(xué)場景來增強學(xué)生對理論知識的掌握,我們結(jié)合本校辦學(xué)條件且充分考慮課程的特色,利用虛擬仿真技術(shù)將實驗教學(xué)擴展到線上與線下相結(jié)合的教學(xué)模式,能有效地拓展了教學(xué)的時效性。通過這些改革措施的實施,取得了較好的教學(xué)效果。當(dāng)然,虛擬仿真教學(xué)弱化了計算機硬件知識體驗,這些內(nèi)容可以從相關(guān)課程中得到補充。