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