

[摘 要] 目前,計算機硬件系列核心課程的實驗教學在實驗平臺和實驗內容上都缺乏交互性,這使學生在學習過程中能夠對單門課程的內容有較好的理解,但對整個知識架構缺乏系統性認識,更缺乏將多門課程知識融會貫通的能力。為了改變這一現狀,使計算機專業學生樹立硬件一體化設計的系統觀,鍛煉學生的計算思維能力和創新能力,通過構建一個完整的計算機系統為主線,貫通數字邏輯、計算機組成原理、計算機設計與實踐、計算機體系結構等硬件核心課程,以Digilent Nexys 3板為基礎,在Xilinx ISE開發環境下構建一個一體化教學實驗體系,并對硬件系列核心課程的實驗教學內容、實驗教材和評價體系的改革進行了探討。
[關 鍵 詞] 計算機硬件課程;實踐教學;實驗教學體系
[中圖分類號] G642 [文獻標志碼] A [文章編號] 2096-0603(2016)01-0006-04
一、引言
隨著信息技術的發展,計算機技術日益滲透到社會的方方面面,在辦公、商務、網絡、軍事、科技、教育、財經、娛樂等領域都得到了廣泛的應用,各行業對計算機人才有大量的需求。但我國電子信息產業基礎薄弱,計算機基礎軟硬件產品還依賴于進口。計算機技術的發展離不開優秀人才,然而在我國計算機科學與技術專業學生的培養中,由于學生實踐能力弱、教師工程背景不足、教學偏向學術化等因素,制約了對創新能力和實踐能力的培養。特別是在計算機硬件課程方面,由于實踐教學手段和實驗平臺比計算機軟件課程的設計難度大,而且往往對硬件工程實踐重視不夠,不能與實際工程需要緊密結合。
國內各大院校的計算機專業大都開設了“數字邏輯”“計算機組成原理”“計算機體系結構”等硬件類課程。然而,在當前的教學模式下,各門課程的實驗教學自成一體,不同課程在實驗平臺和實驗內容上缺乏交互性,這使學生在學習過程中能夠對單門課程的內容有較好的理解,但對整個知識架構缺乏系統性認識,更缺乏將多門課程的知識融會貫通的能力。另一方面,實驗教學是培養學生主動去發現問題、研究問題和解決問題的重要手段。但是由于目前硬件系列課程的實驗教學體系缺乏系統性,很難在實驗教學過程中培養學生的計算思維和創新能力,因此,大力建設計算機硬件系列課程的實驗教學,探索出一條適合培養卓越工程人才的道路,是當前高等學校教學改革中一項必要并且重要的任務。
二、國內外知名大學計算機硬件課程的實驗教學現狀
國外知名大學,如MIT,CMU,Stanford等,計算機硬件類的課程在實踐方面的教學和實驗內容占有很大的比重。CMU開設的“Introduce to Computer Architecture”課程中設置了7次實驗,每個實驗持續1~2周,實驗占30%的成績,學生將利用Verilog實驗設計和仿真最終實現一個寄存器傳輸級的MIPS流水線處理器。MIT開設的“Computation Structure”課程設置了8次實驗,包括CMOS、加法器、ALU、圖靈機、匯編語言和CPU,并要求學生對CPU進行各方面的優化,最終根據4個Benchmark評價實現CPU的性能和開銷。同時,課程還設置了設計競賽,通過CPU的優化水平來進行評判,可以給課程成績一定的額外加分。Stanford大學開設的Computer Organization and Systems課程設置了8個實驗,包括C程序的對指針、浮點數、存儲系統中的數據位實現、IA32架構的堆棧和匯編的實現、存儲系統的優化等。
從上述國外幾所高校的課程教學情況可以看出,計算機硬件類課程非常重視實驗內容的設置,并且在類似“數字電路”“計算機組成原理”課程的實驗中并不僅僅局限于簡單給定指令的CPU設計,而是面向實際硬件系統工程的應用實踐,進一步考量性能和開銷的優化、流水線設計等。隨著國內一些知名大學也逐漸意識到計算機硬件課程實踐教學內容不足、與實際工程項目聯系不夠緊密的問題,除哈爾濱工業大學從2005年開設計算機硬件實踐課程“計算機設計與實踐”以外,清華大學、國防科技大學和華中科技大學也陸續開設了計算機硬件實踐教學類課程。清華大學的“計算機組成原理”教學實驗占用16個課內學時、16個實驗學時以及一些課外學時。國防科技大學開設了“計算機組成原理綜合課程設計”課程,包括實物剖析、基礎驗證性實驗、課內綜合性實驗、綜合課程設計和自主創新實踐等多個層次。華中科技大學開設了“計算機組成原理課程設計”的課程,總學時為80。課程要求學生不使用CPU芯片而是用基本芯片并配合使用FPGA自己設計簡單的計算機硬件系統。
雖然通過實現一個簡單指令集的計算機系統可以加強學生實踐能力,但是無法培養學生對計算機硬件系統的設計能力,還需要對每一門硬件課程的實驗內容做出相應的調整,通過對實驗教學進行統一的規劃、改革才能實現。同時,在建立計算機硬件系列核心課程的實驗教學體系基礎上,可以進一步考慮“操作系統”和“編譯原理”等軟件系列課程的相結合,真正實現對學生計算機系統能力的培養。
三、計算機硬件系列核心課程的實驗教學改革探索
(一)哈爾濱工業大學計算機硬件系列核心課程實驗教學現狀分析
目前,哈爾濱工業大學計算機學院的硬件系列核心課程主要包括:數字邏輯、計算機組成原理、計算機設計與實踐、計算機體系結構。其實驗內容設置如下:
1.數字邏輯
在SD2100實驗臺上進行:門電路邏輯功能測試及應用、譯碼器、數據選擇器及組合邏輯電路實驗,在MAX+PLUS II集成開發環境中利用中規模芯片設計時序電路、組合邏輯和時序邏輯電路的仿真。
2.計算機組成原理
在Dais-CMX16實驗臺上進行:存儲器連接、基本輸入輸出8255接口芯片、運算器74181和微程序實現控制器。
3.計算機設計與實踐
在SD2100實驗臺和Xilinx ISE仿真環境進行:一個包含10條指令的簡單RISC的CPU系統。
4.計算機體系結構
在模擬器MIPSsim.exe上進行:MIPS體系結構及流水線中的沖突、指令調度和延遲分支、Cache性能分析和多Cache一致性的實驗。
從以上實驗內容可以看出,這幾門核心硬件課程在實驗內容上具有一定的層次遞進關系,如圖1所示。但實際上,每門課程的實驗內容設置卻以本門課程的教學目標為主,并沒有從計算機系統應用的整體出發,考慮與前序、后續課程建立緊密的聯系,從而使硬件實驗教學內容相對獨立。另一方面,這些實驗都是在不同的實驗平臺完成,學生需要掌握不同實驗臺的使用,難以建立計算機系統整體概念。
■
圖1 計算機硬件系列核心課程實驗教學內容的關系
(二)計算機硬件系列核心課程實驗教學改革的目標
以構建一個完整的計算機系統為主線,貫通計算機體系結構、計算機設計與實踐、計算機組成原理、數字邏輯等四門硬件系列的核心課程,以構建一個統一教學實驗平臺,探索一種新的教學模式,培養計算機專業的學生具體計算機系統設計的能力。同時,為進一步結合操作系統以及編譯原理兩門核心軟件課程,建立計算機軟硬件一體化系統教學平臺打下基礎。
(三)計算機硬件系列核心課程實驗教學改革的多維建設
1.統一硬件實驗教學平臺的建設
通過對國內外大學計算機硬件系列課程的調研可以看出,以FPGA開發為基礎的硬件實驗教學已經成為主流,這也和當前的計算機硬件類工程項目開發的主要模式是一致的。為此,在面向硬件系列核心課程的統一實驗教學平臺上,初步選定以Xilinx公司的ISE為軟件實驗環境和Digilent公司的Nexys 3 FPGA開發板為硬件實驗平臺。Nexys 3開發板的Spartan-6 FPGA數字系統開發平臺,在設計上考慮了尺寸和成本的限制,是一個能夠讓每一個學生可以攜帶,在任何地方、任何時間都能進行硬件設計和調試的自主實驗平臺,解決了各門課程的實驗學時不足、指導教師人數不夠的問題。與此同時,為了解決Nexys 3開發板硬件調試接口偏少、顯示不足等問題,可以進一步開發具有豐富調試接口的統一硬件實驗平臺,滿足學生便捷的硬件調試和開發更復雜計算機系統應用等方面的需求。
2.硬件實驗教學內容體系的建設
從計算機硬件的實際應用角度出發,以培養學生對計算機系統的理解和實踐動手能力為目標,對硬件系列課程的實驗教學內容展開層次化、遞進式的分析。為了實現硬件系列各門課程能夠有效地結合起來,在原有的實驗基礎上增加或者修改一些實驗。對多門課程進行統一的同時,以設計性實驗為主,在統一的實驗平臺上對已有的實驗內容進行改革。
(1)數字邏輯
在實驗教學內容上除了使學生對傳統的硬件實驗有感性認識,還需要加大對于VHDL語言的教學,使學生掌握基于ISE的硬件電路編程的基本技能和方法。同時,作為硬件系列初始的核心課程,還需要讓學生掌握Nexys 3的基本實驗環境。因此,除了基本組合邏輯電路實驗和時序邏輯電路實驗外,為了下一步進行復雜的數字邏輯硬件電路設計,可在Nexys 3上進一步完成數字時鐘電路、基本ALU、寄存器組等。
(2)計算機組成原理
在實驗教學過程中使學生對計算機內部的運作有一定感性認識,對計算機的軟、硬件工作原理都有較清晰的概念,并培養學生具有對各子系統初步設計及互聯組合的能力。因此,可在Nexys 3上完成基本存儲器電路、運算器電路、簡單程序中斷方式接口電路、一條指令的單周期CPU電路等。
(3)計算機設計與實踐
以實驗教學為主,從實際的計算機系統出發,培養學生的系統分析與設計能力、計算思維能力和創新能力。因此,在Xilinx ISE上分別完成計算機基本部件串行接口、浮點數運算器、Cache等仿真以及一個簡單指令集的單周期CPU。在Nexys 3上完成該CPU與基本部件的應用連接。除此之外,進一步實現多周期流水線和多級Cache的設計,實現一個基本的計算機系統。
(4)計算機體系結構
通過實驗教學使學生掌握在計算機設計的各個環節中影響性能的因素,以及提高性能的各種理論和方法,并通過一定的分析技術對設計中的整體和局部性能進行評價,提供科學依據。因此,在Nexys 3上已實現的基本計算機系統基礎上,進一步實現不同Benchmark下的系統性能評價以及對計算機系統的各種優化等。
以上計算機硬件系列核心課程的實驗教學都在同一實驗平臺上實現,并形成一個完整的體系,如圖2所示。實驗教學通過相互之間調用、改進來完成,使學生在不同的硬件課程學習過程中始終對計算機系統的整體有較為深刻的理解。在這個體系中,“計算機設計與實踐”課程完成了一個基本計算機系統,除了可以為后續課程“計算機體系結構”打下基礎外,還可以進一步考慮與“操作系統”“編譯原理”等軟件核心課程的實驗教學相結合,真正實現計算機軟硬件實驗教學的一體化。
■
(四)實驗教材和考核機制的建設
通過改進計算機硬件系列核心課程的實驗教學,使各門課程之間的實驗設置相互關聯。因此,在實驗教材的建設上,不能將各門課分割開來,而要從實驗教學整體出發,對每一門課程的實驗項目詳細闡述與前序、后續課程實驗的關系,盡量做到VHDL程序的復用。同時,還需要針對整個實驗教學體系,在實驗教材中說明一些共性問題的解決方法和實驗案例。對于一些比較復雜的情況可以通過攝制相應的錄像片段,進一步完善教材的建設。
另外,科學的考核機制是學生完成實驗的重要保障。由于已經將各門硬件核心課程實驗內容統一起來,那么在實驗結果考核上就要考慮在前序課中的實驗是否得到較好的應用。同時,與傳統的硬件實驗教學不同,改進后的實驗教學以Nexys 3實驗板為主,便攜性較好,學生可以不用在實驗室完成實驗,是開放式的實驗教學模式。因此,在實驗教學過程中,指導教師要注意把握學生的完成情況,注重學生運用基礎知識及探索思考的能力,并落實到自主實驗的方案建立、中期檢查和最終結果的各個教學環節中,以便指導教師能夠通過監督和檢查對學生進行鼓勵、引導,以提高學生的創新能力。
四、結語
在計算機學科的教學過程中,實驗教學在培養學生驗證理論知識、提高分析與解決問題的能力、培養創新能力等方面是不可或缺的重要環節,在整個高校教學改革中有著舉足輕重的地位。本文針對目前存在的計算機硬件系列核心課程的實驗教學內容分散、不成體系等問題,探索基于VHDL語言和FPGA集成開發環境的統一實驗平臺,從一個基本計算機系統的應用出發,把分散在各門課程中的相關知識鏈接起來,探索對各門硬件核心課程的實驗教學內容、實驗教材和評價體系等進行改革,實現學生計算機系統能力和計算思維能力的培養。
參考文獻:
[1]吳衛江,趙建輝,劉博.也談計算機硬件課程群建設[J].計算機教育,2012(1):24-27.
[2]黃勤,唐丹,李楠,等.融計算思維于“計算機硬件基礎”課程的改革[J].電氣電子教學學報,2015,37(1):8-11.
[3]陳輝,李敬兆,詹林.計算機專業硬件課程教學改革探索[J].計算機教育,2014(5):39-42.
[4]盛建倫,鞏玉皇,劉淑霞,等.計算機專業硬件基礎課程實驗教學體系的研究[J].實驗室研究與探索,2013,
32(10):387-391.