呂強++葛桂萍+++李云+++羅家奇
摘 要: 本文針對在《計算機組成原理》課程教學實踐中存在的問題,圍繞教學體系、教學內容、教學方法、硬件實踐教學等分析了《計算機組成原理》課程建設的目標,從整合教學內容、優化課程體系、加強理論學習和硬件實踐的融合貫通,強化實踐教學和工程化硬件實踐教學等方面對《計算機組成原理》課程教學的改革做了深入的分析和探討,并對今后的理論和實踐教學進一步改革進行了思考。
關鍵詞: 《計算機組成原理》 硬件實踐教學 課程體系 教學方法 工程化實踐教學
在我國大多數高校的計算機課程教學中,《計算機組成原理》作為一門重要的理論和硬件基礎課程,其中的實踐環節(硬件實踐實驗)占較大的比重。目前,不少高校的計算機專業在《計算機組成原理》的理論教學和實踐實驗中普遍存在“重軟輕硬”現象[1],使得學生對計算機組成的理論和硬件的結合理解流于表面,特別是在理論和硬件實踐教學中,教學內容和硬件實驗設備嚴重落后于當前工業界的最新技術發展,使得培養出的學生嚴重不符合社會企業的需求,即無論是在理論理解方面,還是在硬件實踐方面,都不足以承擔計算機硬件方面的設計與開發工作。因此,如何適應工業界對畢業生理論和實踐能力不斷增強的需求,改革《計算機組成原理》及相關課程體系,提高計算機理論和硬件教學水平,提高學生對理論的理解和實踐動手能力已成為當前高校計算機專業教學面臨的重要課題。
1.當前《計算機組成原理》課程教學存在的主要問題
當前,我校在計算機類、電子類、物聯網類、軟件工程類專業均開設了《計算機組成原理》課程,理論教學內容、目標基本一致,但硬件實踐教學存在問題,主要表現在以下三個方面:
(1)偏重理論教學,忽視或輕視硬件實踐教學,硬件實踐課時被迫刪減。
在《計算機組成原理》課程中,理論是基礎,但是要深入理解計算機基本原理及體系結構等理論必須結合硬件實踐[1]。但是硬件實踐實驗教學由于培養目標、培養方案、教學大綱及硬件實踐教學設備等,很多高校普遍在計算機專業的教學中輕視硬件實踐教學的建設,理論教學占很大比重,總學時確定后,硬件實踐教學課時只能被迫刪減,以至于無法保證硬件實踐教學的質量,導致學生學習硬件知識和動手實踐的積極性不高,最終的結果就是理論和實踐相分離,理論知識沒有深入的理解,實踐能力沒有得到很好的培養。
(2)理論和實踐教學內容陳舊,課程計劃沒有與時俱進。
當前,大多數國內高校的計算機類專業,硬件系列課程均包含如下課程:《數字邏輯電路》、《計算機組成原理》(《計算機組成與結構》)、《微機原理及接口技術》、《計算機體系結構》等。這些課程開設選用的教材大多內容相近,部分理論仍停留在5年甚至10年以前,知識陳舊,與當前工業界的實際應用脫節,和現代快速發展的計算機硬件研究和開發技術形成明顯的差距。比如有的硬件課程教學中以74181等淘汰的部件芯片為教學模型,即使學會也只能在課堂上用到,對將來的工作沒有什么作用,直接導致對學生缺少吸引力,教學效果不甚理想。另外,這一系列硬件相關課程之間重復的知識點較多,在課程系列安排計劃上缺乏統一性和合理性。
(3)硬件實踐教學環節不夠重視,缺少工程化設計和開發能力及創新能力的培養。
現代計算機硬件設計和研發均已采用軟件和硬件設計相結合的方式,并大量使用優秀的工具軟件進行開發和仿真,以及使用硬件開發板進行驗證和優化。在實際教學中,由于硬件實踐教學比理論和軟件仿真實驗教學要復雜得多,因此很多教師在教學過程中仍沿用過時的軟件仿真和硬件實驗方法,并且學生在學習過程中除了進實驗室外,在日常學習中無法進行硬件實驗或為硬件實驗做足夠的準備。另外,目前大多數高校計算機專業的硬件實驗設備仍停留在“插線板”時代,只能讓學生手動連接銅線進行簡單的驗證性和基礎性實驗,如要進行相關創新能力培養的實驗,其復雜度過高,絕大多數學生無法完成。
2.《計算機組成原理》課程建設和改革的具體措施
(1)引進計算機硬件的現代設計和研發技術,培養學生的工程化研發能力。
《計算機組成原理》課程一大部分教學內容圍繞CPU的各個部件展開,但現有的教學內容嚴重落后于現代工業芯片研發技術。為跟上時代的步伐,我們引進當下大多數企業采用芯片研發流程和設計語言和工具。具體而言,針對CPU的各個部件教學,我們引進Logisim[2]和Verilog[3]教學,以仿真的方式向學生展示如何設計選擇器、加法器、寄存器、存儲器、控制器等部件,以及這些部件間如何組合及連接。在此基礎上,我們進一步加入單周期MIPS[4]CPU工程化設計方法的教學,介紹如何組合選擇器、加法器、寄存器、存儲器、控制器等部件以構成簡單但功能完善即能完成基本加減、移位、分支、跳轉等功能的單周期CPU。
為進一步提高學生的工程化硬件實踐能力,還引進Xilinx公司的FPGA開發板,加入如何使用FPGA開發板的實驗教學內容,并指導學生把已完成的MIPSCPU設計下載到FPGA上,以真實的硬件實驗驗證自己的設計,并對現有的設計做相應的優化。
(2)加強理論和硬件實踐教學的結合,提高學生對理論的理解和對硬件實踐的能力。
在《計算機組成原理》課程教學中,理論和硬件知識是相輔相成的,但目前計算機教學中普遍偏重理論講解,硬件實踐僅僅是驗證性實驗,其對理論的深入理解并無多大幫助。特別是理論知識對學生來說是一個個單獨的知識點,彼此之間不能夠貫通起來加深對計算機整體硬件系統的理解[5]。比如,學生學習了選擇器、寄存器、加法器、存儲器等理論知識,但不知道如何使用Verilog等硬件編程語言在FPGA等開發板上實現這些部件。另外,學生在學習CPU控制部件理論后,無法用現有的老舊芯片如74181等把CPU各個部件組合起來,只能依賴現成的已把CPU各個部件組合連接好的硬件開發板,不了解如何用Verilog等硬件編程語言直接把CPU的各個部件組合以構成完整可運行的CPU。因此,在《計算機組成原理》教學中應注意理論和硬件實踐開發間的結合,使學生掌握更完整的理論知識和硬件實踐能力,通過硬件實踐提高其對理論的理解,通過理論學習指導硬件實踐實驗,提高其計算機系統理論和硬件協同能力。
(3)調整計算機硬件系列課程的教學內容,優化課程體系和課程間的銜接。
為適應新加入的Logisim、Verilog、XilinxFPGA開發板等教學內容,我們適當調整計算機硬件系列課程之間的教學內容。比如對《數字電子技術基礎》課程,經過學院硬件教學團隊的協商溝通,適當加入Logisim,Verilog等硬件編程語言的教學內容,并在部分實驗中加入Logisim和Verilog語言實現部分電路。在《匯編語言程序設計》課程教學中,針對MIPSCPU設計,加入MIPS匯編語言的學習。在實驗安排中,加入適當的MIPS匯編練習。總而言之,為了適應新的教學內容和方法,加強硬件系列課程體系結構建設,完善教學計劃,對硬件系列課程如《數字電子技術基礎》、《計算機組成原理》、《微機原理及應用》和《匯編語言程序設計》等課程進行融合、優化,既避免知識點的重復教學,又加強課程間教學內容的銜接,保證計算機硬件教學的連續性和完整性[6]。
(4)探索硬件系列課程教學方法,提高教師團隊的整體教學水平。
為加強計算機硬件系列課程教師團隊的協調溝通和建設,使相互關聯課程的授課教師有更多的合作和協作,定期開展硬件系列課程的教研活動,從整體上協商計算機硬件系列課程的教學,逐步形成一支由具有較高教學科研水平的教授領銜,并搭配有一定數量的副教授和講師的計算機硬件系列課程教學團隊[5],從而保證計算機硬件系列課程建設的連續性。
為了充分發揮青年教師的主觀能動性,我們積極改革傳統的教學方法,借助揚州大學的網絡教學平臺,積極探索研究性教學,利用“任務驅動”的教學方法,將實際教學內容分成一個個具體的任務,并引導學生在網絡教學平臺上參與討論和解決任務,使得學生在討論和交流中解決問題,并逐步引導學生深入理解和掌握教學內容。該教學方法可以大大提高大部分學生的主動性、積極性及團體合作能力。此外,在網絡教學中注重和學生的在線交流和互動,通過論壇交流和答疑、在線任務測試等多種手段,促進學生的彼此交流和學習,提高課堂教學效率。
(5)豐富教學資源建設,引進企業培訓和提高教師實踐教學能力。
在引進新的教學內容的同時,依托揚州大學網絡教學平臺,對《計算機組成原理》課程的教學資源如Logsim、Verilog參考資料、教學課件、教學視頻、硬件實踐實驗指導資料、習題等全部加入網絡教學平臺,構建豐富的網絡教學資源[6-7],使得學生的學習不受時間和空間的限制,在課堂教學以外的時間根據自己的實際情況合理安排課程學習。
另外,圍繞課程建設和教學內容的改革,我們積極聯系相關硬件研發企業,邀請其到學校直接對學生進行指導。例如Verilog硬件編程語言學習和使用經驗分享、XilinxFPGA開發板的使用講解和現場指導,并且根據企業實際研發需求,向學生進行針對性的授課和指導。
3.結語
《計算機組成原理》課程具有很強的理論性、實踐性和實用性,其中CPU相關的知識涉及本科和研究生各個層次,如何讓該課程不再僅僅停留在理論知識的學習是該課程建設和改革必須解決的問題。通過引進符合工業界當前流行技術的教學內容和方法,積極引導學生通過自學和合作,接觸當前最新的硬件編程語言、硬件設計軟件和FPGA開發技術,并嘗試調動學生學習的主動性,培養實踐動手能力,讓學生更好地協作、溝通,從而提高學生對理論知識的理解和硬件實踐的能力。另外,近幾年我院通過對計算機專業硬件系列課程進行優化和改革,解決硬件系列課程之間缺乏溝通、相互獨立、知識點重復或者缺乏銜接等一系列問題[4],加強硬件系列課程間的聯系,保證計算機硬件系列課程間的連續性和完整性。
參考文獻:
[1]陳輝,李敬兆,等.計算機專業硬件課程教學改革探索[J].計算機教育,2014(5),39-42.
[2]Logisim.https://en.wikipedia.org/wiki/Logisim.
[3]夏宇聞.Verilog數字系統設計教程.北京航空航天大學出版社,2008.
[4]斯威特曼.MIPS體系結構透視.機械工業出版社,2007.
[5]劉昌華,管庶安,等.基于CC2005的計算學科硬件類課程教學改革探索[J].計算機教育.計算機教育,2009(10).
[6]黃偉,馮徑.《計算機硬件技術基礎》課程教學改革探索[J].現代計算機,2011(5):36-37.
[7]葛桂萍,李云,等.《微機原理及應用》精品課程建設的探索與研究[J].科技創新導報,2014(30):151-152.
基金項目:
國家自然科學基金青年基金(編號:61502412),項目負責人,01/2016-12/2018。
江蘇省自然科學基金青年基金(編號:BK20150459),項目負責人,07/2015-06/2018。
江蘇省高校自然科學基金面上項目(編號:15KJB520036),項目負責人,07/2015-06/2017。
揚州大學高層次人才科研啟動基金(編號:5013/137010725),項目負責人,10/2014-10/2017。