摘 要: 《計算機組成與系統結構》是計算機大類本科專業教學中一門非常重要的專業基礎課程。它涵蓋了計算機內部邏輯結構,系統工作原理,以及軟硬件的劃分和界面。在當前物聯網技術深入發展、嵌入式系統應用更加廣泛的背景下,深入理解計算機的軟硬件系統,并與工程實際相結合,為將來的嵌入式計算系統的軟硬件開發奠定基礎顯得更加重要。本文分析了江南大學《計算機組成與系統結構》課程的實踐環節教學的現狀,探討了與企業建立聯合實驗室培養學生動手實踐能力的應對方案。
關鍵詞: 江南大學 《計算機組成與系統結構》 實踐教學 實踐現狀 應對方案
一、引言
當前,隨著物聯網技術和產業的持續發展,嵌入式技術已成為信息產業中發展最快、應用最廣的計算機技術之一,被廣泛應用于網絡通信、消費電子、醫療電子、工業控制和交通系統等領域。資料顯示,在2009年中國軟件業收入的9513億元中,嵌入式占了將近20%,而且每年都以近40%的速度增長。嵌入式系統是以應用為中心的軟硬件混成專用計算機系統,需要設計人員統籌考慮軟硬件設計,以最大限度地適應應用系統對功能、成本、體積、功耗、可靠性等方面的要求。傳統的軟件、硬件分別進行的設計方法難以滿足嵌入式系統的設計需求,而需要設計人員進行軟硬件的綜合考慮和協同設計。
然而和上述趨勢對應的是,目前計算機類本科專業軟件方面的教學和實踐都實施得較好。學生除了課堂學習外,還可以利用學校和自己的計算機充分進行軟件編程的實踐和訓練。而且軟件類課程C語言、數據庫、網絡等相對直觀和容易理解,容易入門。但對于硬件類的課程尤其是計算機組成與系統結構,學生普遍反映內容較為抽象,如果沒有適合的實踐環節將課堂概念和實際工程聯系起來,學習效果將難以得到保障。因此,探索適合計算機組成與系統結構的實踐教學工具、教學方法和配套機制,加強學生理論學習和實踐環節的聯系,建立形象直觀、便于理解的學習途徑至關重要。本文重點討論江南大學計算機組成與系統結構的實踐教學實施現狀,在此基礎上提出改進方向,為增強計算機組成與系統結構的教學效果作有益探討。
二、《計算機組成與系統結構》實踐教學現狀分析
當前國內計算機類本科專業硬件主干課程設置有兩種模式:一種是數字邏輯與數字系統(技術基礎課)→計算機組成原理(專業基礎課)→計算機體系結構(專業課)。大多數重點院校采用這種模式。另一種是數字邏輯與數字系統(技術基礎課)→計算機組成與體系結構(專業基礎課)。江南大學及國內其他許多本科高等學校采用第二種課程設置模式。
《計算機組成與系統結構》課程綜合了《計算機組成原理》和《計算機體系結構》兩門課程的要求,要求學生掌握計算機系統各個部件的組成原理,最終從系統、整機的角度理解計算機的結構與組成,是計算機類本科專業的專業基礎課程,以及計算機硬件與結構方向非常重要的一門課程。這門課程的建設與教學質量直接關系到人才培養中計算機硬件與結構方向教育的成效。尤其是在當前嵌入式系統日益流行,軟硬件一體化設計需求不斷擴大的背景下,計算機組成與系統結構課程能否達到預期效果顯得更為重要。
目前在教學實施過程中,學生普遍反映該門課程內容較為抽象,難以和一個具體的可見的系統相聯系理解整個的運行過程,學習效果欠佳,依然停留在為應付考試的習題練習為主的方式上,通過課程的學習無法鍛煉搭建完整電路系統的能力。這些問題急需通過實踐環節有針對性地解決。
傳統的計算機組成原理采用的實驗設備是在開放的電路板上用插線的方式搭建邏輯,學生通過將對應的引腳互聯起來構成特定的數據通路。這種方法無需編寫程序,可以直觀地顯示計算機內部結構和運行情況,但對學生的影響僅僅停留在實驗室階段,不能和企業的實際開發相結合,沒有更多的實用價值。
隨著硬件可重構技術的發展,越來越多的計算機組成原理實驗課采用了基于FPGA的實驗裝置。基于FPGA的優點在于學生可以通過自己的邏輯設計得到專用芯片,并通過實驗板上的I/O觀察芯片的運行情況,更接近實際CPU的運行狀態。目前,根據不同學校學生能力的強弱,基于FPGA的組成原理實驗采用了兩種不同的輸入方式。
一種是基于原理圖的設計方式。學生通過連接原理圖的方式,構成自己想要的邏輯電路。將該電路下載到FPGA芯片后構成特定的芯片,通過實驗板上的I/O觀察芯片內部的運行情況。這種方式的優點是直觀、易于理解。缺點是隨著系統變得更加復雜,原理圖輸入的方式耗費時間太長,連線也容易出錯,不太可能用于搭建復雜的系統。
另一種是基于硬件描述語言VHDL/Verilog的設計方式。優點是可以利用現有的資源搭建較為復雜的系統,甚至多級流水線的CPU,可以極大地提高學生的硬件設計能力。缺點是對學生的要求比較高,需要有硬件描述語言的基礎。
三、《計算機組成與系統結構》實踐教學工具的選擇
通過上述分析,可以看出基于硬件描述語言和FPGA的組成原理實驗方式由于可與將來的企業實際開發相結合,具有較強的實際意義。學生可以通過VHDL搭建復雜和完整的硬件系統,對于理解計算機組成原理和計算機的運行情況有非常現實的意義。關鍵問題是,應該如何選擇適當的基于FPGA的開發環境和教學方法,以適應不同水平的學生的具體需求。
由于現在基于硬件描述語言已有許多公開源代碼的資源可以加以利用,因此在進行計算機組成與系統結構教學和實踐中,可以圍繞某一種有代表性的CPU進行學習和實驗。如國內外有一些學校選擇以MIPS處理器作為教學和實驗的對象。學生可以根據自己的掌握程度借鑒或自己設計某個模塊,最終形成完整的CPU。同時還可以在此基礎上通過匯編程序進行系統結構的實驗。通過這樣的方式,學生可以將課堂講解的內容完全與實際的CPU系統關聯起來,從而為將來的硬件系統設計奠定良好的基礎。而且由于所選用的開發語言和環境都和企業實際使用的一樣,可以縮短將來的工作中的學習時間。
四、《計算機組成與系統結構》實踐教學機制探討
選定了適當的實踐語言和工具之后,還要有適合的配套管理和運作機制才能保證實踐教學的效果。現在傳統的實驗室都是學校購買設備后由實驗室人員管理和維護,并配合任課老師在上課時間為學生提供實踐教學服務。由于實驗設備數和上課時間有限,學生并不能完全完成和理解實驗內容。因此,我認為可以采取多種方法改善這一狀況。
1.Xilinx/Altera等FPGA提供商建立聯合實驗室,隨時可獲得提供商提供的一些最新資料和技術服務,同時確保實驗室可以在課外對學生開放,可以借鑒以往機房的管理方式,讓感興趣的學生付費使用設備。
2.為學生配備或鼓勵學生購買低價FPGA設備,將實驗室帶回宿舍,隨時可以進行FPGA系統的開發和調試。
3.企業建立培訓協議,抽出整段時間送學生到專門的FPGA企業進行集中強化訓練,積累實際項目經驗。
將上述幾種方法相結合,可以使計算機系統設計課程的學習效果達到現在軟件開發的學習效果,為嵌入式系統軟硬件的開發培養合格的人才。
五、結語
本文分析了江南大學《計算機組成與系統結構》課程的實踐環節教學的現狀和存在的一些具體困難,并從幾個方面提出了應對方案。當然,這些方法依賴于計算機組成與系統結構考核方式的相應改變。只有在教學內容、實踐形式和方法、體制和具體實施等多方面協調一致,整體推動,才能取得預期的結果。
參考文獻:
[1]任春明,劉軍.計算機組成原理實驗教學的思考與改進.實驗技術與管理,2006,10.
[2]李彩虹,屈志毅,劉剛,馬俊.“計算機組成原理”實驗課教學模式探討與實踐.高等理科教育,2006,2.
[3]陳媛,黃賢英.基于EDA技術的計算機組成原理實驗教學探索.重慶工學院學報(自然科學版),2007,2.
[4]方愷晴,石琳,林亞平.EDA技術在計算機組成原理實驗中的應用.實驗技術與管理,2001,3.
[5]孫冰,齊曉梅.VHDL在計算機組成原理實驗中的應用研究.價值工程,2011,27.
[6]付小晶,武俊鵬,程旭輝.關于提高“計算機組成原理實驗”課程教學質量的探討.計算機教育,2009,