

摘要:實驗是計算機組成原理課程教學的重要環節。針對目前傳統實驗箱存在的不足,將DS-VLAB虛擬實驗環境應用于計算機組成原理實驗教學,提出了遞進性實驗設計思路,以總線與微命令實驗為例,分析了DS-VLAB的應用過程。教學實踐表明,DS-VLAB具有靈活性和良好的互動性,激發了學生學習課程的興趣,取得了較好的效果。
關鍵詞:計算機組成原理;實驗教學;DS-VLAB
中圖分類號:G642" " " " 文獻標識碼:A
文章編號:1009-3044(2022)33-0171-03
1 引言
計算機組成原理是計算機類專業的專業基礎課。該課程的教學目標是讓學生掌握計算機硬件系統各功能部件的組成、工作原理、設計和實現方法,建立計算機硬件系統的整體概念,從系統的角度完整、準確地理解和掌握計算機系統的組成原理與內部運行機理,為后續專業課程學習奠定基礎。從教師的授課角度來看,教學內容相對比較抽象,學生不容易理解,而實驗可以讓學生逐漸領會并掌握如何通過典型的芯片去構建并實現計算機各部件的功能,是非常重要的一個教學環節。
在很多高校,計算機組成原理的實驗教學還依賴一些科教儀器廠生產的配套實驗箱,但是客觀上還存在明顯的不足:
(1)硬件投資較大,很難保證一人一臺套,而多人一組做實驗,效果難以保證,另外配套的實驗箱往往只能針對“計算機組成原理”一門課程,或者兼顧一門相關課程,導致實驗設備及場地資源的投入效能比較低下。
(2)實驗設備維護的時間成本和費用規模不可控。百密一疏,學生的某一次錯誤地連線,可能導致芯片器件或功能部件的永久損壞,該套實驗箱就無法正常工作,維修時間和維修費用等都會明顯影響實驗教學的實施。
(3)實驗箱具有不可重構的特點,功能擴展性較差。計算機組成原理的教學內容不可能是完全一成不變的,當需要增加新的設計或驗證實驗時,實驗箱將會捉襟見肘,無法滿足實驗的需求。
鑒于以上不足,計算機組成原理實驗教學采用虛擬實驗系統是一種較好的選擇[1-2]。目前計算機組成原理虛擬實驗系統主要有兩種平臺環境,分別是基于Logisim[3-4]和基于DS-VLAB[5-6],兩者各有千秋。Logisim需要安裝Java運行時環境才可以運行,華中科技大學以及美國的康奈爾大學均采用Logisim作為計算機硬件類課程的仿真教學。采用DS-VLAB不需要安裝Java運行時環境,主要基于瀏覽器客戶端來運行,對學生而言,具有比較好的操作度和接受度。
2 DS-VLAB簡介
DS-VLAB全稱為多思計算機組成原理網絡虛擬實驗系統[5],是一款開源的網絡虛擬實驗軟件,由湘南學院張雯雰老師設計開發。DS-VLAB有兩種運行模式,即單機模式和B/S模式。在單機模式下,只需要Windows操作系統,IE瀏覽器10.0以上版本即可,因此單機模式是最為便利的運行模式,可以不受實驗室時空的限制,方便地實施計算機組成原理的實驗教學。
DS-VLAB在某種程度上模擬了真實世界的計算機組成原理實驗過程。主要體現在三個方面:
(1)根據實驗目的,結合課堂所授知識點,構想實驗的原理圖;
(2)根據原理圖,對照DS-VLAB提供的典型元件庫,構造實驗的電路圖;
(3)基于DS-VLAB提供的虛擬環境,繪制電路,進行設計、測試和驗證。
其中的“繪制電路”即可實現了常規實驗箱的功能,而且具有靈活性和擴展性。DS-VLAB系統主界面包括菜單欄、工具欄、工具箱和工作區四個部分,學生在實驗時,只需要根據電路圖,將元器件從工具箱拖到工作區,以連線方式連接相關元器件的引腳,值得注意的是,用鼠標操作連線時,可感知引腳的熱點區域,且連線具有一定的方向性,通常是從某個輸出連接到某個輸入。完成全部連線以后,就可以進入運行模式,進行后續的實驗設計和驗證。
3 DS-VLAB在實驗教學中的應用
DS-VLAB的實驗內容包含全加器、運算器、存儲器、總線與微命令、累加器、程序計數器、微程序控制器、簡單模型機、微程序設計等九個實驗和一個模型機課程設計[5],涵蓋了計算機組成原理這門課程大多數比較核心的知識點、實驗設計和驗證點,同時也支持實驗的擴展設計。
3.1遞進性實驗設計
針對DS-VLAB的實驗內容進行一定的裁剪,通過以下的分類及組合,可以充分地體現遞進性實驗設計理念。
(1)初級:驗證型實驗
包括全加器、運算器、存儲器實驗。其中全加器實驗要求掌握全加器的邏輯結構,構建1位和2位全加器邏輯電路,并進行結果驗證;運算器實驗要求掌握算術邏輯運算單元的工作原理,以4位算術邏輯運算單元74LS181為對象,驗證其算術和邏輯運算功能;存儲器實驗要求掌握SRAM的工作特性,以2K×8位SRAM芯片6116為對象,驗證其讀寫過程。
(2)中級:設計型實驗
包括總線與微命令、程序計數器實驗。其中總線與微命令實驗要求理解總線、微命令與微操作的概念,在運算器與存儲器之間構建數據通路,設計微命令完成所需的運算功能,建立起初步的整機概念;程序計數器實驗要求在總線與微命令實驗的基礎上,掌握使用微命令通過程序計數器從存儲器中讀取指令和數據的方法。
(3)高級:綜合型實驗
包括簡單模型機、微程序設計實驗。其中簡單模型機實驗要求掌握微指令與機器指令的關系,建立較全面的整機概念;微程序設計實驗要求深入理解微程序控制器的電路組成和工作原理,在簡單模型機的基礎上,設計并調試4條機器指令的微程序,驗證每條指令的功能。
上述三種比較典型的實驗類型和七個典型的實驗內容,在制定實驗課程計劃時,可按照初級、中級、高級三種類型兼顧,根據實驗學時靈活組合,通過遞進性實驗,由基本的元器件構造成計算機組成部件,由計算機組成部件構建成系統,有利于培養學生獨立思考和實踐能力,通過這種循序漸進和潛移默化的過程,讓學生逐漸建立起計算機硬件系統的整體概念。
3.2典型實驗案例分析
現代CPU的兩大核心部件為運算器、控制器,而操作控制器是CPU控制器的重要組成部分。控制器在實現一條指令的功能時,把每條指令分解為一系列時間上先后有序的最基本、最簡單的微操作,即微操作序列。指令操作流程與相應微操作序列的安排,主要取決于數據通路的結構,不同的數據通路有不同的微操作序列。
數據通路是許多寄存器之間傳送信息的通路,用來實現CPU內部的運算器與寄存器,以及寄存器之間的數據交換。在各寄存器之間建立數據通路的任務,正是由操作控制器來完成的。操作控制器的功能就是根據指令操作碼和時序信號,產生各種操作控制信號,以便正確地建立數據通路,從而完成取指令和執行指令的控制。
以中級類型的總線與微命令實驗為例,該實驗屬于設計型實驗,有利于讓學生深入理解總線的作用,通過數據通路分析與時序控制,構造出微操作序列,熟悉并掌握CPU指令的執行過程,通過運算器,控制器(手工模擬)、內存儲器之間的相互作用,初步建立計算機硬件系統的整體概念,有利于開展后續的簡單模型機、微程序設計實驗等綜合型實驗。
如圖1所示[5],其中ALU由2片74LS181構成,寄存器DR1、DR2和AR均為一片74LS273,RAM為一片6116芯片,Δ表示三態門74LS245,時序發生器為虛擬實驗系統提供的虛擬組件,因此學生在準備實驗時,需要熟悉4位算術邏輯運算單元74LS181,8位數據鎖存器74LS273,三態輸出的總線收發器74LS245,2K×8靜態隨機存儲器6116等芯片器件的功能特性、管腳定義和連接方式。
在圖1中,包括ALU、DR1、DR2、RAM在內,幾乎所有的器件都連接在單一的總線上,數據或地址信息的傳送均是通過總線來完成的。本實驗用人工設置數據開關的方法來模擬控制器生成微命令,完成一系列操作和任務。對照單總線數據通路原理圖,繪制出實驗原理圖,通過協調各芯片器件工作狀態來確定微命令,正是學生的核心設計任務。
該實驗電路如圖2所示,上部中間的13個數據開關用來連接控制信號,這個需要學生在深刻理解圖1所示的數據通路原理圖的基礎上,正確地與相應的芯片引腳相連。數據開關的不同狀態組合代表不同的微命令,可執行相應的微操作。在圖2中,由2片74LS181構成的ALU可以實現多種算術邏輯運算,可以進行多種微命令的設計和驗證,比較典型的有:
(1)求A⊕B
A從數據開關輸入,B是存儲器操作數,需要從指定的存儲單元取操作數,B的地址也從數據開關輸入,運算結果通過數據顯示燈顯示。
(2)計算A-B→存儲單元C
A和B都是存儲器操作數,A、B的地址以及地址C都從數據開關輸入。
總線與微命令實驗作為一個典型實驗,在實驗過程中,微命令的設計可以通過可視化數據開關操作,結果的驗證很容易從特定存儲單元讀取或者通過數據顯示燈顯示,通過這種虛擬仿真,學生能夠有很直觀的印象,有效加深對課堂所授內容的理解。
4 結束語
DS-VLAB作為一種虛擬實驗系統,可以彌補固定實驗箱的不足,借助于虛擬仿真手段,非常適合計算機組成原理的實驗教學。我們的教學實踐證明,將DS-VLAB應用于實驗教學,遞進式開展實驗,可以充分體現實驗的靈活性和直觀互動性,激發學生的學習興趣,達到較好的實驗教學效果,有利于學生充分理解計算機各功能部件的工作原理與整機的工作過程。
參考文獻:
[1] 吳繼明,鐘群鋒,曾碧卿.虛擬仿真技術在計算機組成原理實驗教學中的應用[J].計算機教育,2019(3):34-38.
[2] 許海杰,劉升.計算機組成原理實驗平臺改進研究[J].通化師范學院學報,2019,40(4):82-86.
[3] 何苑,張劍妹.Logisim在計算機組成原理實驗教學中的應用[J].忻州師范學院學報,2021,37(5):31-34.
[4] 劉躍華,梁英,何靜.虛擬仿真實驗在《計算機組成原理與匯編語言》課程中的應用[J].電腦知識與技術,2020,16(11):138-140.
[5] 張雯雰.計算機組成原理實驗教程[M].北京:中國水利水電出版社,2016.
[6] 王莉.基于多思虛擬平臺的計算機組成原理實驗仿真[J].山西大同大學學報(自然科學版),2021,37(6):30-32,35.
【通聯編輯:王力】