文章編號:1672-5913(2008)08-0125-03
摘要:本文針對目前高等學校計算機硬件實驗教學存在的問題,提出適合本科生及研究生聯合培養的創新實驗教學體系,設計了支持基礎驗證型、綜合設計型和創新研究性實驗一體化的計算機硬件實驗平臺。
關鍵詞:教學改革;創新型人才;計算機硬件實驗
中圖分類號:G642
文獻標識碼:B
1計算機硬件實驗普遍存在的問題分析
目前,國內大多數高等院校的實驗組織模式和實驗手段主要存在以下問題:
●“一人動手大家看”的“放羊式”
●實驗的內容、步驟嚴格按照教材(實驗指導書)進行
●實驗內容陳舊、與工程實際脫節
●本科生和研究生的實驗環境分別建設
計算機學科的課程內容具有很強的交叉性和相關性。針對每門具體課程單獨設置實驗及單獨提供實驗環境,一方面很難使學生對其前導課程所完成的基礎能力做要求,同時也很難兼顧到其后續課程,各自獨立,相互間缺少有效的貫通;另一方面實驗環境重復建設,實驗資源得不到充分利用。下面以“數字邏輯”、“計算機組成原理”和“計算機系統結構”三門硬件主干課程為例說明計算機硬件實驗的現狀。
(1) “數字邏輯”是計算機專業必修的專業基礎課,目的在于掌握計算機數字電路設計和調試方法,為后續硬件課程奠定基礎。而相應的“數字邏輯實驗裝置”一般僅能用于TTL與GAL器件的實驗;有部分學校購置的實驗裝置還不能進行GAL器件的實驗。實驗一般使用小規模74系列TTL器件,通過面包板實現輸入/輸出連線,其可靠性低、元器件易損,復雜實驗受到限制,很難支持設計型實驗;許多目前流行的硬件設計方法,如采用EDA(電子設計自動化)工具的基于CPLD(復雜可編程邏輯器件)的邏輯設計等,更是因為硬件設計環境不夠而無法進行。
(2) “計算機組成原理”作為計算機專業的核心課程,目前很多大學采用類似清華大學計算機廠早期研制的實驗裝置,采用面包板和撥位開關等輸入/輸出接線,調試手段缺乏,支持的實驗內容少,對CPU設計之類的實驗沒法很好地開展。即使一些新的實驗裝置,重點仍然是支持驗證型實驗,設計型實驗的開展仍具有局限性。
(3) “計算機體系結構”作為計算機專業的高端專業課,由于缺乏實驗條件,很多學校還沒有開設實驗,少數開設實驗的學校也只能采用系統結構模擬軟件進行模擬實驗。大多數該類模擬軟件運行在UNIX平臺上,參數設置復雜、接口界面不友好,使用起來費時費力。學生只是通過課堂學習來掌握計算機體系結構的內容,缺乏對計算機體系結構的感性認識,更談不上培養學生的設計與創新性能力。
由于以上三門課程目前都只針對自己的課程內容單獨設置實驗并單獨提供實驗環境,這些相關性非常強的課程各自獨立,相互間缺少有效的貫通,不僅導致了實驗環境的重復建設,實驗資源得不到充分利用,而且也不利于學生對計算機硬件體系有一個系統的了解,更無法對本科生的課程設計、畢業設計等大型和綜合型訓練提供必要的支撐環境。
為了解決目前計算機硬件實驗教學中存在的問題,需要建立能滿足計算機專業實驗教學需求的,集實踐性、先進性、開放性、創新性為一體的先進硬件實驗教學體系,結合EDA、軟件模擬和虛擬現實等先進的實驗手段建立集基本驗證、綜合設計和創新研究為一體硬件實驗平臺,促進理論教學與實踐教學緊密結合,以適應學科發展和IT企業對高層次計算機專業人才的更高需求。
2 適應多層次人才培養需要的計算機硬件實驗體系的建立
為了構建適合本科生、研究生多層次需要的一體化的實驗教學體系,我們對國內外著名大學的課程及實驗教學大綱等做了深入的研究,主要做了以下幾個方面的研究工作:
(1) 研究計算機專業硬件課程及其實驗課程當前的設置和今后的發展趨勢;
(2) 剖析計算機專業硬件相關課程之間的銜接關系;
(3) 分析教學實驗和科研實驗的本質,發現本科階段以及研究生階段主要硬件課程教學實驗的規律。
基于以上研究工作,我們設計的計算機硬件實驗體系主要包含以下層次。
2.1系統化的計算機硬件實驗內容層次
計算機學科是目前更新換代最快的學科之一,實驗在設計時必須和實際工程結合緊密。實驗內容和手段的設計必須是以培養具有很好實踐能力和一定創新能力的本科畢業生為目標。因此,我們將每門課程實驗的內容分為以下三個層次:
基礎驗證型:主要用于驗證課程當中所講的內容,加深對課堂知識的理解,并培養學生的基本專業技能和實際操作能力。
綜合設計型:這類實驗一方面可以加強學生對相關課程的理解,更主要的是培養了學生綜合分析能力和獨立解決問題的能力。
創新研究性:這類實驗要求學生自行設計目標并進行實驗;實驗允許失敗,但是必須對失敗原因和改進設想做深入的分析和探討。這類實驗是學生早期參加科學研究的一種重要形式,主要培養學生的創新意識、創造性思維及創造性個性,使學生創新性的想象力、判斷力、思維能力和實踐能力得到提高。
這三個實驗從內容上由淺入深、由易到難,從對學生的要求上是由低到高的。其中前兩類實驗主要針對本科生設計,第三類實驗主要針對少數有余力的低年級本科生、多數畢業設計階段的本科生和所有研究生設計。
在多層次實驗教學中,教師的主要作用在于啟發學生認識實驗教學的目的和意義,組織開展實驗教學活動,引導學生研究問題,指導學生的實驗過程和認真完成各項實驗任務。在實驗教學中,教師要教育學生樹立嚴謹的科學態度,鼓勵學生勇于求異的創新意識,注意培養學生獨立解決問題的能力。
2.2計算機硬件課程層次的建立
以西安交通大學計算機學科為例,本科生和研究生的硬件相關課程體系中主干課程由“數字邏輯與數字系統”、“計算機組成原理”、“計算機體系結構”、“高性能計算機體系結構”和“計算機系統的量化研究方法”組成,其中前三門課程為本科生課程,后兩門課程為研究生課程。與主干課程相關的本科生必修課程還包括“匯編語言程序設計”、“微機原理和接口技術”、“操作系統原理”、“計算機網絡原理”、“嵌入式系統”;研究生課程包括“計算機網絡理論及應用”、“VHDL和FPGA設計”、“分布式系統”等。這些課程,特別是主干課程,不僅有較強的順序性,而且課程內容的相關性很強。圖1給出了計算機硬件主干課程的實驗層次。其中,虛線方框部分為偏軟件類型的實驗。

圖1 計算機硬件主干課程實驗層次
從圖1可以看出,計算機專業本科階段硬件主干實驗課程主要為數字邏輯專題實驗、計算機組成專題實驗、微機接口專題實驗;并且這三個實驗中,每個實驗的開展必須以前一個課程為基礎;課程實驗從內容到形式都有很密切聯系。為了讓學生學習完這些課程后對計算機硬件結構有一個系統和感性的認識,我們在設計這三個實驗時,首先設立了一個總的培養目標,每個課程組根據這個目標,結合本課程的內容和培養目標分階段完成相關支撐的實驗內容,并且這些實驗可以采用一致的實驗手段和平臺。具體措施主要包括以下兩方面內容:
(1) 對于每門具體的計算機硬件課程均設置8學時的課內實驗,實驗類型為獨立的基礎驗證性。
(2) 硬件課程都有配套的專題實驗,專題實驗均為綜合設計型。主干課程的實驗為必修專題實驗,其他小部分課程實驗為選修專題實驗。以工程項目設計實驗為目標形成多個系列,同一系列實驗間具有時間先后關系、支撐與被支撐關系。例如圖1中的“數字邏輯”、“計算機組成原理”和“計算機系統結構”三門硬件課程就構成了一個主干的硬件實驗系列。這三門課程的實驗必須在內容上具有前后相關性,并采用基本一致的實驗方法和平臺。
2.3多樣化的計算機硬件實驗平臺層次
在硬件開發平臺的設計上兼顧不同層次人才的培養需要,綜合本碩博各個階段的不同需求,構建多層次的實驗環境,提高實驗效率,促進學生的創新思維,進行創新式構建實驗。還要考慮對畢業設計的實驗環境以及本科生創新性研究活動實驗體系的支持,結合軟件設計的方法和手段(即硬件設計軟件化)構建靈活多樣的硬件實驗平臺。此外,實驗平臺設計要具有層次性,并且考慮課程間內容交叉和互補。
從國外的發展趨勢來看,計算機硬件課程的實驗由傳統的孤立的實驗裝置承擔,發展到了由EDA和CPLD/FPGA仿真器聯合承擔的階段。
傳統的實驗裝置支持相對簡單的連線類的實驗,這類實驗只能使用中小規模的集成電路器件。設計大規模的實驗幾乎是不可能的,因為大規模的實驗用中小規模的芯片來實現費時、費力,且受面包板等空間和實驗裝置能提供的電源限制。
使用HDL語言,如AHDL、VHDL和Verilog等,通過EDA工具軟件設計各種規模的數字電子系統是目前工程師的設計潮流。通過EDA和CPLD/FPGA仿真器能完成計算機硬件課程的各類實驗。圖2是我們設計實現的一款低成本綜合實驗裝置,該裝置使用了Xilinx公司Spartan-3系列FPGA芯片(40萬門),通過擴充板可以滿足大部分的實驗要求。

圖2 一款綜合實驗裝置的PCB的元器件布局示意圖
2.4多層次的實驗考核體制
實驗的考核主要有以下幾種形式。
(1) 實驗過程的跟蹤考核:改變傳統的根據實驗結果和報告打分的體制,對實驗過程中的主要環節進行記錄、評價,并作為最終成績考核的依據。
(2) 實驗報告撰寫:實驗結束后,要求學生撰寫實驗報告,以總結個人實驗結果,明晰實驗思路,實現知識的融合、升華和再學習。通過實驗報告的撰寫可以培養學生對科技活動的總結能力,科技論文的寫作能力,使學生的科研素養得到初步鍛煉。
(3) 實驗答辯機制:對于綜合設計型,特別是創新研究型實驗,前兩種考核機制存在明顯的不足,因此需要引入新的機制來評價學生所做工作及取得的成績。可通過學生講解、演示,教師提問和回答,課程設計報告撰寫三個步驟來進行考核。
參考文獻
[1] 蔣景華. 麻省理工學院培養創新人才特色的做法的分析研究[J]. 實驗技術與管理,2006,23(6):1-4.
[2] 朱穎. FPGA實驗開發系統的設計和實現[D]. 西安交通大學計算機科學與技術系,2005.
[3] 趙妍. FPGA開發系統的設計實現和實例開發[D]. 西安交通大學計算機科學與技術系,2007.
[4] 賈國芳. 高校計算機基礎課程體系建設與教學改革探析[J]. 科技教育創新,2007(7):220-221.
[5] 秦四年. 創新課程教學模式及其操作程序[J]. 北京教育,2001,(1):14-15.
[6] 榮昶,趙向陽,蔡惠萍. 實驗教學與創新能力培養探析[J]. 實驗室研究與探索,2004,23(1):12-14.
[7] 吳林根. 基于創新人才培養的實踐教學改革[J]. 實驗室研究與探索,2004,23(10):11-14.