吳燕 高卓 王啟源 史家俊



摘要:文章圍繞目前計算機組成原理實踐教學中存在的具體問題,以學生為中心,針對不同專業方向對組成原理實踐教學內容深度的不同需求,提出了面向專業需求的計算機組成原理仿真實驗教學改革的思路,采用分層的仿真實驗教學方案,在加深學生對于理論知識的理解和掌握的同時,滿足學生對于硬件設備的操作需求,為后續CPU設計課程的開展打下良好的基礎。實踐證明該方案在夯實學生的基礎知識的同時,增強了動手能力和邏輯設計的能力,有效提高學生自主學習興趣,達到課程教學效果。
關鍵詞:專業需求;計算機組成原理;實踐教學;分層仿真實驗;教學改革
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2024)14-0153-03 開放科學(資源服務)標識碼(OSID) :
0 引言
計算機組成原理是高校計算機相關專業的一門重要專業基礎課程,也是計算機硬件課程體系中的核心環節,是學好計算機硬件的關鍵課程。通過課程的學習,使學生理解計算機各個組成部件的工作原理及設計方法, 并建立CPU級和硬件系統級的整機概念,同時掌握一些計算機中廣泛采用的先進結構及總線、外圍設備等基本知識[1-2]。計算機組成原理課程涉及計算機硬件底層知識,理論性較強且抽象,只有通過足夠的實驗操作才能理解掌握課程的基礎理論和應用技術,初步具備計算機技術的應用開發能力[3]。學生的動手實踐是學好計算機組成原理,提高學生設計創新能力必不可少的重要環節[4-5]。
北京信息科技大學計算機學院的計算機組成原理課程的實驗使用定制的32位計算機組成原理硬件實驗系統,實驗具有以下特點:
1) 學生現場根據指令流程控制相關信號完成實驗項目,對于實際操作能力要求較高。
2) 各個實驗項目關聯性強,前期的實驗掌握程度直接影響后期的實驗效果。
計算機組成原理硬件實驗系統對學生動手能力的鍛煉有非常好的效果,但在實驗實施過程中也出現了以下問題:
1) 實驗完全依賴硬件實驗箱,在目前經費和實驗室
空間有限的前提下,實驗箱臺套數難以滿足日益增長的學生規模和自主學習的需求。
2) 實驗環境以現場為主,無法支持學生進行實驗前預習、演示和驗證等工作。
3) 實驗時間和空間有限,學生在有限的時間內只能進行理論知識的驗證性實驗,無法進行自主的設計,對于培養創新能力不足。
4) 由于硬件實驗箱的特殊性,一旦某一個部件出現故障,整臺實驗箱就需要返廠維修,不利于實驗室的正常運行。
1 計算機組成原理實驗課程教學改革思路
1.1 混合實驗教學模式研究
針對硬件實驗系統在使用中出現的問題,我們對計算機組成原理實驗教學模式進行了研究,提出了線上線下實驗教學結合的混合實驗模式:線上仿真實驗場景,為學生提供開放學習的平臺和自主彈性的實驗時間,讓學生能更好地理解理論知識;線下使用硬件實驗平臺,為學生提供直接動手操作的硬件實驗設備,增強學生的動手能力。將仿真實驗和硬件實驗系統配合使用可以極大地提高實驗教學效果,進一步培養學生計算機應用能力和創新能力[6-12]。
在混合實驗教學模式的研究中,我們使用虛擬仿真軟件開展組成原理的線上實驗,從相關電路、原理的仿真實驗入手,要求學生分析電路組成、工作原理、工作過程及控制方法,通過實驗進一步了解計算機組成原理的核心概念、知識結構和典型方法,熟悉計算機體系結構等基本原理。仿真實驗可以滿足計算機組成原理實驗教學的要求。
1.2 多層仿真實驗研究方案
在仿真實驗具體實施過程中也出現了一些問題:虛擬仿真軟件沒有考慮各專業對實踐教學內容的具體要求,沒有考慮與硬件實驗系統無縫切換的問題。目前我院有計算機科學技術、軟件工程、網絡工程、大數據共4個專業開設了計算機組成原理實驗課,但只有計算機科學與技術專業開設了后續的CPU設計課程實踐課。對于軟件工程、網絡工程和大數據專業的同學,他們通過仿真實驗就能滿足課程的要求;而對于計算機科學與技術專業的同學,除了通過仿真實驗理解和掌握實驗原理和電路外,由于他們后續開設的CPU設計實踐課程要求使用硬件設備進行芯片的燒錄和指令系統的調試,因此還需要熟練使用32位計算機組成原理硬件實驗系統,而仿真實驗沒有涉及具體硬件實驗系統的內容,所以在線下實踐課程開始之前還需要大量的時間安排學生熟悉硬件實驗設備,因此對具體硬件實驗設備的仿真成為計科專業計算機組成原理仿真實驗急需解決的問題。
針對不同專業對于計算機組成原理實驗深度要求的不同,我們進一步提出了面向專業需求的多層計算機組成原理仿真課程實驗研究方案:選擇Proteus和Unity作為虛擬仿真系統的開發環境,應用Proteus進行電路一層的仿真,應用Unity+C#實現硬件設備、指令流程一層的仿真,結合現有的實驗項目進行仿真模擬實驗。
2 面向專業需求的計算機組成原理仿真實驗的研究
2.1 基于Proteus 的計算機組成原理仿真實驗
Proteus軟件是英國Lab Center Electronics公司出版的用于電路設計和模擬的軟件,它提供了完整的電子設計流程、仿真和測試工具,并且可以與其他CAD 工具、MCU 仿真器、PCB 布局軟件等協同工作[13-14]。Proteus中提供了大量的虛擬儀器儀表和超過27 000 種元器件的器件庫,用戶可以方便地創建新元件,靈活地設計修改電路[15]。
2.1.1 Proteus 仿真實驗
下面以簡單運算器實驗為例。運算器原理圖如圖1所示。參與運算的操作數從總線分別存儲到鎖存器DR1和DR2中,然后根據ALU的操作碼進行相應的運算,運算結果輸出到總線上。
在Proteus仿真實驗中,簡單八位運算器由兩個74LS181級聯構成,撥碼開關作為輸入單元通過三態門74LS244輸入參與運算的數據,寄存器74LS194構成鎖存器DR1和DR2,存儲總線送來的數據,輸出給運算器,執行運算的類型由ALU 控制端S3、S2、S1、S0、M和Cn控制,可以實現32種不同的運算。運算結果通過三態門74LS244輸出到輸出單元數碼管上,具體電路如圖2所示。
通過設置操作碼S3S2S1S0=1001,M=0,CN=0,運算器進行算術運算F=A加B運算,圖中A(DR1) =1AH,B(DR2) =05H,運算結果為F=1FH,在輸出單元數碼管上顯示,實現運算器的功能。
在實現簡單運算器仿真的基礎上,可以通過加入74LS299芯片構建通用寄存器組、74LS161構成程序計數器和地址寄存器、2114芯片構成存儲器,通過寄存器、存儲器和運算單元相結合,實現多數據運算;在數據通路仿真的基礎上,可以進一步實現微程序控制器、計算機硬布線、流水線CPU設計等,通過總線對各個模塊進行連接整合,設計出完整的計算機模型。
2.1.2 Proteus 組成原理仿真系統的優點
1) Proteus計算機組成原理仿真實驗可以讓學生自行設計電路并進行調試,幫助學生更好地理解電路原理,從而提高他們的學習能力。
2) 由Proteus實現的仿真系統可以擺脫硬件實驗平臺的束縛,為傳統硬件實驗教學中實驗設備數量有限、實驗空間不足以及實驗時間受限制等各種問題提供了有效的解決辦法,為學生提供開放學習的平臺和自主彈性的實驗時間,讓學生有更多的接觸硬件的機會,有利于更好地理解理論知識,促進學生的感性認識,在培養學生計算機應用能力和創新能力等方面起了積極的作用。
3) 仿真實驗系統可以為教師提供便捷的線上硬件實驗環境,有助于實驗教師開發、設計和測試新的實驗內容。
2.2 基于Unity 的計算機組成原理仿真實驗
Unity是一款強大的跨平臺游戲開發引擎,同時也可用于制作應用程序,它提供了用戶界面(UI) 設計工具,用于創建交互式應用程序界面,包括按鈕、菜單、表單等;Unity的物理引擎可用于模擬物理交互,適用于模擬應用程序和教育應用程序【16】。我們使用Unity+C#語言,對32位組成原理硬件實驗系統的控制信號和指令流程進行仿真模擬,為學生提供與硬件環境非常類似的實驗平臺。
2.2.1 Unity 仿真實驗
還是以簡單運算器實驗為例:在Unity仿真實驗中,學生根據數據通路原理,按照硬件實驗設備的控制信號和操作流程,從SW端輸入數據開始,控制三態門G2信號SW-BUS將數據1輸入到總線上,用控制信號LDDR1將數據1輸入到鎖存器DR1中,然后采用同樣的流程將數據2輸入鎖存器DR2;通過設置操作碼S3S2S1S0=1001,M=0,CN=0,運算器進行算術運算F=A 加B 運算。具體原理如圖3所示。圖中A(DR1) =1AH,B(DR2) =05H,運算結果為F=1FH,在總線上顯示。
在實驗過程中,隨著控制信號和數據通路的變化,窗口右邊會自動生成微指令流程,如圖4所示。這個流程中出現的控制信號與硬件實驗平臺的控制信號是一致的,也是后續微指令系統和CPU設計的基礎;學生可以通過分析相關部件和操作的流程加深對實驗內容的理解,也可以通過分析指令流程來進行排錯和改錯,增強學生對相關控制信號和微指令的理解和掌握。
2.2.2 Unity 仿真實驗的優點
Unity仿真實驗通過對32位計算機組成原理實驗系統的控制信號板和數據通路板中的各類微控制命令和運算器、寄存器等部件操作流程進行真實模擬,使學生通過仿真實驗系統就能熟悉各類硬件相關的微控制命令,理解數據通路的內容,掌握硬件實驗設備的具體操作,為后續更好地學習微指令、進行CPU 設計打好基礎。
3 結論
面向專業需求的計算機組成原理仿真實驗設計研究是適應學科特色、“以學生為中心”的實踐教學的體現。通過硬件實驗系統與不同虛擬仿真平臺的結合,一方面打破了時間空間和硬件實驗設備數量的限制,為學生自主學習能力的培養創造條件,學生可以根據自己對相關知識的理解和掌握程度隨時進行相應的練習,加深對各個器件和數據通路的了解和掌握,還能根據自身的能力自行設計硬件操作和數據通路流程,并驗證其可行性,在培養學生的基本學習能力和解決問題的能力外,更關注學生的創造性思維、分析和綜合設計的能力等,提高學生的學習興趣和積極性;另一方面通過使用仿真實驗系統使學生掌握對具體硬件設備的控制和操作,實現線上線下實驗的無縫切換,顯著提高實驗教學的效果。后續,我們將進一步探索和完善,研究應用更多的部件實驗和綜合設計的仿真系統,服務于學科發展和專業建設。
參考文獻:
[1] 張海英《. 計算機組成原理》硬件實驗線上線下混合教學模式探討[J].電腦知識與技術,2020,16(23):103-104.
[2] 王穎鋒,楊程博,趙靜玉,等《. 計算機組成原理》實驗教學研究與探討[J].電子質量,2023(7):119-121.
[3] 吳旭.計算機組成原理課程的實驗教學改革探討[J].福建電腦,2020,36(2):116-117.
[4] 李曉波,張國晨,譚瑛,等.基于分層級系統能力培養的計算機組成原理課程教學探索[J].計算機教育,2023(2):187-191.
[5] 林玲,許東耀.計算機硬件課程改革方法分析:以計算機組成原理課程為例[J].數字技術與應用,2023,41(2):85-87.
[6] 王莉.基于多思虛擬平臺的計算機組成原理實驗仿真[J].山西大同大學學報(自然科學版),2021,37(6):30-32,35.
[7] 曹明才,詹孟于.應用型高校專業核心課程混合式教學改革探索:以成都大學《中級財務會計》教學實踐為例[J].高教學刊,2020(20):140-143.
[8] 藺智挺.基于虛擬仿真實驗的模擬集成電路實驗教學[J].實驗技術與管理,2016,33(1):122-126.
[9] 王衛國.虛擬仿真實驗教學中心建設思考與建議[J].實驗室研究與探索,2013,32(12):5-8.
[10] 陳小勇,張麗.基于虛擬機技術的實驗平臺研究[J].實驗技術與管理,2017,34(2):124-126.
[11] 萬桂怡,崔建軍,張振果.高校虛擬實驗平臺的設計及實踐[J].實驗室研究與探索,2011,30(3):386-389.
[12] 熊宏齊.虛擬仿真實驗教學助推理論教學與實驗教學的融合改革與創新[J].實驗技術與管理,2020,37(5):1-4,16.
[13] 周鴻,王宗武,劉志娟.8086 PROTEUS仿真中若干問題釋疑[J].實驗教學與儀器,2021,38(10):41-44.
[14] 龐寶麟,封岸松,李帥.Proteus仿真軟件在單片機教學實踐中的應用[J].科技與創新,2023(1):176-177,181.
[15] 賴曉錚.基于Proteus的計算機系統實驗教程:邏輯、組成原理、體系結構、微機接口[M].北京:機械工業出版社,2017.
[16]黃裕玲. Unity3D簡介[EB/OL]. (2020-4-9). https://zhuanlan.zhihu.com/p/128084962.
【通聯編輯:王 力】
基金項目:北京信息科技大學教學改革項目(項目編號2023JGYB22)