秦國鋒,丁志軍,王力生,衛(wèi)志華,張冬冬,
(1.同濟大學 電子與信息工程學院 計算機科學與技術(shù)系,上海 200092;2.同濟大學 計算機與信息技術(shù)國家級實驗教學示范中心,上海 200092)
當前,國內(nèi)各個高?;径奸_設(shè)了計算機專業(yè)或者與其緊密相關(guān)的專業(yè),但普遍存在已開設(shè)的實踐課程沒緊密結(jié)合實際,對學生缺乏相互貫通、整體綜合的系統(tǒng)性培養(yǎng)。近年來,教育部適時推出產(chǎn)學協(xié)同育人項目和新工科建設(shè)項目,極大提升了我國計算機相關(guān)專業(yè)的學科建設(shè)和學生創(chuàng)新能力的培養(yǎng)。
同濟大學計算機專業(yè)就如何提升學生實踐能力方面進行深入探索,從骨干系列課程融通、理論教學與實驗實踐結(jié)合、能力建設(shè)平臺保障、全面考核與評估等多個環(huán)節(jié)進行重點建設(shè)。
數(shù)字邏輯、計算機組成原理、計算機系統(tǒng)結(jié)構(gòu)[1]、編譯原理、計算機操作系統(tǒng)這五門課程是計算機及相關(guān)專業(yè)的專業(yè)基礎(chǔ)課和必修課,是計算機能力建設(shè)的核心支撐課程。這五門課程理論知識相互關(guān)聯(lián)、彼此銜接,在理論教學方面需要彼此界定知識點,做到知識點全覆蓋且不重復(fù)。
理論教學的配套實驗是能力建設(shè)的關(guān)鍵支撐,實現(xiàn)五門課程配套實驗融通,在以Xilinx FPGA 器件的開發(fā)板Nexys 4 DDR Artix-7 為硬件實驗平臺,以Logisim、Mars、Modelsim、Vivado、VMware 與Ubuntu 等配套開發(fā)軟件[2],實現(xiàn)實驗課程在同一平臺融通(圖1)。
圖1 骨干系列課程能力建設(shè)融通平臺
從圖1 可以看出,通過理論與實驗教學結(jié)合,以及主干課程的能力建設(shè)貫通,使學生的知識、能力與創(chuàng)新思維達到新的高度,并通過學生與教師的專題輔導(dǎo)與討論及評價改進制度,形成完整的教學反饋機制,不斷提升教學效果。
課程的理論教學與實驗實踐融合在實施過程中首先選擇兩屆計算機專業(yè)學生先開試點班,形成較成熟的教學經(jīng)驗和實踐教學案例后,再在計算機專業(yè)全年級學生鋪開,不斷優(yōu)化完善和迭代,形成較完善的教學經(jīng)驗和模式,使教學方法與質(zhì)量不斷提升。理論教學與實驗實踐貫通模式如圖2 所示。
(1)通過數(shù)字邏輯課程的理論知識和從基本門電路與數(shù)據(jù)擴展描述到綜合數(shù)字系統(tǒng)共10 個實驗實踐,培養(yǎng)學生應(yīng)用組合邏輯與時序邏輯的基本原理設(shè)計基本的加法器、RAM、寄存器、ALU 等部件單元,并作為計算機組成原理課程實驗實踐項目的前期知識和基本輸入。
(2)在計算機組成原理實驗的31 條和54 條MIPS指令單周期CPU 設(shè)計過程中[3-4],作為基本部件單元或模塊進行調(diào)用,使數(shù)字邏輯和計算機組成原理的理論與實驗實踐貫通,使學生了解CPU 的基本組成和工作原理,培養(yǎng)其一般工程建模的能力[5]。
(3)計算機組成原理實驗實踐獲得的單周期CPU設(shè)計和驗證方法作為計算機系統(tǒng)結(jié)構(gòu)實驗實踐項目的前期知識和基本輸入,并在簡單8 條MIPS 指令五級靜態(tài)流水線和54 條MIPS五級靜態(tài)流水線與五級動態(tài)流水線CPU 設(shè)計的過程中,作為基本模塊設(shè)計和驗證方法深化靜態(tài)與動態(tài)流水線CPU 的框架設(shè)計和優(yōu)化,以提高CPU 的效率和性能,達到提升學生解決復(fù)雜工程問題能力的目的。
數(shù)字邏輯課程在開展組合邏輯和時序邏輯等理論知識教學時,同步配套數(shù)據(jù)選擇器與分配器、譯碼器、存儲器與寄存器、算術(shù)與邏輯運算器等10 項實驗項目。教師根據(jù)各實驗項目的工作內(nèi)容和難度,合理安排設(shè)定各實驗項目的時間長度,真正落實理論教學和實驗項目融合。通過實驗培養(yǎng)學生對 Logisim、Modelsim、Vivado 工具軟件的使用,提升以Nexys 4 DDR Artix-7 為硬件實驗平臺的組合邏輯和時序邏輯電路的設(shè)計能力,加深理論知識的理解,并通過綜合實驗實現(xiàn)一個基本的數(shù)字系統(tǒng),培養(yǎng)學生進行硬件設(shè)計的基本能力[6-7]。
計算機組成原理在理論教學同時配套MIPS 匯編實驗、32 位乘法器與除法器、31 條與54 條指令單周期CPU 設(shè)計等實驗,通過實驗加強學生對Mars、Modelsim、Vivado 工具軟件的使用。學生通過對一臺計算機的部分或全部功能部件及實驗機整機的學習與設(shè)計,理解和掌握一臺計算機整機系統(tǒng)中軟件硬件的組成及相互之間的配合,加深對課堂教學內(nèi)容的理解和掌握。培養(yǎng)學生全面理解計算機系統(tǒng)各大部件的基本原理及工作過程,從而在實踐過程中培養(yǎng)學生理論聯(lián)系實際與解決問題的動手創(chuàng)新能力。
圖2 理論教學與實驗實踐貫通模式
計算機系統(tǒng)結(jié)構(gòu)理論與實驗融通是建立在同濟大學計算機專業(yè)已有的硬件綜合實踐培養(yǎng)方案的基礎(chǔ)上,進行再擴展、再拔高、再實踐。本專業(yè)的本科生已經(jīng)在數(shù)字邏輯、計算機組成原理這兩門課程中完成了在FPGA 開發(fā)板上對基本硬件電路、CPU 各個基礎(chǔ)模塊、單周期CPU 的實現(xiàn),然而現(xiàn)實應(yīng)用中的CPU大多是流水線CPU,因為流水線CPU 技術(shù)能夠極大地提高CPU 的處理效率[8-10]。因此,本課程實驗是在已經(jīng)完成的單周期和多周期CPU 的基礎(chǔ)上,按照課程培養(yǎng)目標進行CPU 的優(yōu)化實驗,設(shè)計流水線CPU,依次實現(xiàn)多功能靜態(tài)流水線CPU 和多功能動態(tài)流水線CPU,并實現(xiàn)完備的三級存儲體系,使學生具備自己開發(fā)、設(shè)計、實現(xiàn)計算機系統(tǒng)的能力。計算機系統(tǒng)結(jié)構(gòu)的課程實驗項目的具體任務(wù)包括多個CPU 設(shè)計的基本實驗和一個三級存儲體系設(shè)計的綜合性實驗,均以FPGA 開發(fā)板、Vivado 和Modelsim 軟件作為實驗開發(fā)平臺[11-12]。
(1)基本實驗一引導(dǎo)學生設(shè)計自己的54 條 MIPS指令的單周期CPU,鞏固學生已學習的CPU 的組成部件及基本工作原理的相關(guān)知識,并以此作為計算機組成原理向計算機系統(tǒng)結(jié)構(gòu)實驗項目的銜接與過渡。
(2)基本實驗二引導(dǎo)學生設(shè)計自己的一個8 條MIPS 指令的五級靜態(tài)流水線CPU,初步建立流水線的基本概念與流水線的設(shè)計方法。
(3)基本實驗三和基本實驗四訓練學生設(shè)計和實現(xiàn)自己的54 條MIPS 指令靜/動態(tài)流水線CPU,使他們深入理解靜/動態(tài)流水線的工作機理和沖突解決機制。
(4)綜合性實驗三級存儲體系設(shè)計是,設(shè)計與優(yōu)化Cache 高速緩沖存儲、SDRAM 或DDR 與SD 存儲卡的三級存儲方案,并對不同的路數(shù)與塊大小的命中與失效情況進行定量化分析,以確定較優(yōu)的Cache 部署方案。
通過這四項基本實驗,構(gòu)建出自己的中央處理器,結(jié)合FPGA 開發(fā)板的外圍接口,形成綜合實驗的物理環(huán)境。綜合實驗是利用基本實驗三與基本實驗四的成果和FPGA 開發(fā)板的外圍接口,研制開發(fā)一個基于FPGA 開發(fā)板的完整的計算機系統(tǒng),為操作系統(tǒng)的構(gòu)建與移植提供充分的硬件與軟件環(huán)境。通過多個基本實驗和一個綜合實驗,使學生加深對理論知識的理解和掌握,完成對計算機系統(tǒng)設(shè)計與優(yōu)化所需要的基本動手能力的訓練。
所有學生完成四個基本實驗項目,才滿足基本的能力要求;綜合實驗項目充分激發(fā)學生的學習興趣,提升優(yōu)秀學生的設(shè)計創(chuàng)新能力。在計算機系統(tǒng)結(jié)構(gòu)的基本實驗三、四和綜合實驗基礎(chǔ)上將逐步打通操作系統(tǒng)實驗,利用VMware 與Ubuntu 等配套開發(fā)軟件實現(xiàn)嵌入式操作系統(tǒng)的開發(fā)和UI 的移植,從而實現(xiàn)五門主干課程理論和實驗教學在Nexys 4 DDR Artix-7硬件實驗平臺上的貫通。
教育信息化是教學能力提升的助推器,是實施教學革新的措施和手段,學生完成的實驗項目成果的遞交、程序文件的驗證、源碼的單一性評估、實驗項目總結(jié)報告的查重、實驗成績的評估是一項任務(wù)繁重、數(shù)據(jù)量龐大的艱巨工作,必須以信息化的管理方法來支撐教學能力建設(shè)。為此,同濟大學計算機系統(tǒng)結(jié)構(gòu)教研室和同濟大學計算機國家實驗示范中心歷經(jīng)多年開發(fā)實驗管理平臺v1.0(http://mips246.#edu.cn),已完成數(shù)字邏輯、計算機組成原理、計算機系統(tǒng)結(jié)構(gòu)等課程實驗項目學生成果的遞交,以及數(shù)字邏輯、計算機組成原理課程實驗的程序文件的驗證,同時為本校和兄弟院校計算機專業(yè)師生提供7×24 小時全天候資源服務(wù)。
在已有實驗管理平臺v1.0 的基礎(chǔ)上,同濟大學計算機系統(tǒng)結(jié)構(gòu)教研室和同濟大學計算機國家實驗示范中心正研究人工智能和知識圖譜,進行大學計算機系統(tǒng)能力建設(shè)平臺v2.0 開發(fā),以實現(xiàn)程序文件的驗證、源碼的單一性評估、實驗項目總結(jié)報告的查重、實驗成績的評估功能,開發(fā)成功后將繼續(xù)為兄弟院校提供資源服務(wù)。
由于不同課程的理論課和實驗課設(shè)置不一樣,對單獨安排實驗課的課程,理論課和實驗課分開考核和評估,并在理論課的考試題中設(shè)置一道實驗考題;對沒有單獨安排實驗課的課程,則對理論和實驗進行綜合考核和評估。
(1)數(shù)字邏輯、計算機組成原理對理論和實驗都設(shè)置課時,對數(shù)字邏輯實驗考核評估采用平時成績(20%)+平時實驗成績(40%)+綜合實驗成績(40%),對計算機組成原理實驗考核評估采用考勤(20%)+實驗結(jié)果(80%)。考核評價在強調(diào)學生出勤參與實驗的同時,更加強調(diào)實驗項目和任務(wù)的按時完整,重點關(guān)注學生實踐能力的提高和創(chuàng)新素質(zhì)的培養(yǎng)[13]。
(2)計算機系統(tǒng)結(jié)構(gòu)理論課配套設(shè)置計算機系統(tǒng)結(jié)構(gòu)實驗,但沒單獨設(shè)置實驗課時,對計算機系統(tǒng)結(jié)構(gòu)考核采用綜合評估的方式。每個學生必須完成兩個基本實驗,且完成一個綜合實驗,方能提出免考申優(yōu)答辯,獲得資格的參加申優(yōu)答辯。沒能獲得申優(yōu)答辯資格的學生,參加大組答辯,必須參加期終考試。申優(yōu)答辯沒有獲得優(yōu)秀的同學,成績?yōu)榱迹蛇x擇參加期終考試。每個基本實驗占總評25 分,共占50 分;綜合實驗占40~45 分。對計算機系統(tǒng)結(jié)構(gòu)考核評估采用如表1 所示的分值。
表1 計算機系統(tǒng)結(jié)構(gòu)考核評估分值
表2 計算機系統(tǒng)結(jié)構(gòu)實驗評價指標要求
表1 表中的評價指標要求見表2,數(shù)字邏輯實驗、計算機組成原理實驗的評價指標要求采用類似的方式設(shè)置。
同濟大學計算機系統(tǒng)結(jié)構(gòu)教研室將依托教育部產(chǎn)學協(xié)同育人項目、同濟大學實驗教學改革項目,在能力建設(shè)平臺貫通方面繼續(xù)深入探索。我們計劃以計算機系統(tǒng)結(jié)構(gòu)實驗五級靜態(tài)流水線、五級動態(tài)流水線以及三級存儲體系為基礎(chǔ)打通操作系統(tǒng)實驗,實現(xiàn)嵌入式操作系統(tǒng)和UI 的移植,使學生的專業(yè)創(chuàng)新能力得到跨越式提升——從運用計算機到設(shè)計實現(xiàn)自己的計算機。我們將充分應(yīng)用和挖掘系統(tǒng)能力支撐平臺的樣本與數(shù)據(jù),開展學生學業(yè)負擔與績效、學業(yè)延續(xù)性分析,進行量化研究,為教學和學生培養(yǎng)提出有針對性的指導(dǎo)策略。同時,我們將繼續(xù)開放能力建設(shè)平臺資源服務(wù),促進資源共享,提升整體教學能力。