張 磊,鄭 榕,田軍峰
(北京科技大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,北京 100083)
《計(jì)算機(jī)組成原理》是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生的核心課程之一,是必修的專業(yè)基礎(chǔ)課,本課程在計(jì)算機(jī)學(xué)科中處于承上啟下的地位[1],涉及的內(nèi)容在整個(gè)計(jì)算機(jī)學(xué)科和計(jì)算機(jī)系統(tǒng)中處于非常重要的位置。該課程的主要教學(xué)目標(biāo)是讓學(xué)生掌握計(jì)算機(jī)中各部件的工作原理,建立整機(jī)概念,通過實(shí)踐環(huán)節(jié),設(shè)計(jì)、實(shí)驗(yàn)、調(diào)試出一臺(tái)簡(jiǎn)單的模型機(jī)(CPU)[2]。如何把握課程的主線和重點(diǎn),改革教學(xué)實(shí)驗(yàn)內(nèi)容和模式,為學(xué)生今后的專業(yè)學(xué)習(xí)打下堅(jiān)實(shí)基礎(chǔ),使學(xué)生具備一定的硬件設(shè)計(jì)和開發(fā)能力,與高素質(zhì)人才培養(yǎng)相適應(yīng)[3],是該課程教學(xué)改革必須解決的問題。經(jīng)過5年的實(shí)踐,摸索出一套新型的《計(jì)算機(jī)組成原理》實(shí)驗(yàn)教學(xué)方法,即:緊密結(jié)合理論教學(xué),增加隨堂實(shí)踐,配套獨(dú)立實(shí)驗(yàn),并加入課程設(shè)計(jì)環(huán)節(jié)。該方法已應(yīng)用于實(shí)踐,取得良好的教學(xué)效果。
以往這門課程由于課時(shí)緊張,一些重要的知識(shí)點(diǎn)的講授只能匆匆?guī)н^,或有所選擇地作為自學(xué)內(nèi)容,這樣安排的結(jié)果是學(xué)生在學(xué)習(xí)的時(shí)候囫圇吞棗,從而導(dǎo)致基礎(chǔ)不扎實(shí),影響了后面知識(shí)的學(xué)習(xí)。改革前這門課程共需54學(xué)時(shí),其中理論講授占44學(xué)時(shí)、實(shí)驗(yàn)課程占8學(xué)時(shí);改革后,總學(xué)時(shí)增加為64學(xué)時(shí),其中理論講授占48學(xué)時(shí)、實(shí)驗(yàn)課程增加至16學(xué)時(shí),同時(shí)增加小學(xué)期的計(jì)算機(jī)組成課程設(shè)計(jì)16學(xué)時(shí)。學(xué)生實(shí)踐的學(xué)時(shí)較以前增加了3倍。通過學(xué)時(shí)的增加與調(diào)整,不僅增加了理論教學(xué)的授課時(shí)間,便于教師更加細(xì)致地講解重要知識(shí)點(diǎn),而且還考慮理論與實(shí)踐應(yīng)用相結(jié)合的重要性,進(jìn)而調(diào)整了理論教學(xué)與實(shí)驗(yàn)教學(xué)的學(xué)時(shí)比例,增加了學(xué)生動(dòng)手實(shí)踐的機(jī)會(huì)。
改革前,這門課程的理論與實(shí)驗(yàn)課存在嚴(yán)重的脫節(jié)問題,安排的實(shí)驗(yàn)內(nèi)容多為驗(yàn)證性實(shí)驗(yàn),僅僅是利用實(shí)驗(yàn)箱完成簡(jiǎn)單的硬件搭電路就可以過關(guān),限制了學(xué)生主觀能動(dòng)性的發(fā)揮。學(xué)生在完成實(shí)驗(yàn)時(shí)也大多是按照實(shí)驗(yàn)講義的步驟機(jī)械式地完成實(shí)驗(yàn),照貓畫虎、懶于思考。實(shí)驗(yàn)完成后的學(xué)習(xí)收獲有限,缺乏對(duì)理論知識(shí)的再加工學(xué)習(xí)。改革后引入了EDA(電子設(shè)計(jì)自動(dòng)化)技術(shù),采用先進(jìn)的虛擬設(shè)計(jì)及仿真軟件工具QuartusII,并自主研發(fā)了FPGA擴(kuò)展板平臺(tái),結(jié)合過去的CM3P實(shí)驗(yàn)箱,幫助學(xué)生對(duì)理論知識(shí)進(jìn)行實(shí)踐驗(yàn)證,便于學(xué)生加深對(duì)理論知識(shí)的理解。此外,為了指導(dǎo)學(xué)生的實(shí)踐操作,還根據(jù)理論知識(shí)的講授重點(diǎn),開發(fā)了相應(yīng)的實(shí)驗(yàn)項(xiàng)目,重新編寫了配套實(shí)驗(yàn)指導(dǎo)書和實(shí)驗(yàn)箱介紹PPT。對(duì)于實(shí)驗(yàn)中一些有代表性的操作配備了相應(yīng)的講解視頻,方便學(xué)生課下自學(xué),減少了學(xué)生因工具操作不熟而耗費(fèi)的時(shí)間與精力,使學(xué)生的學(xué)習(xí)重心集中在理論知識(shí)的實(shí)踐運(yùn)用。
1.3.1 隨堂實(shí)踐
由于《計(jì)算機(jī)組成原理》是以學(xué)生動(dòng)手實(shí)踐為主的課程,要盡量多地給學(xué)生提供動(dòng)手的機(jī)會(huì)??紤]到以往對(duì)于理論知識(shí)點(diǎn)加深認(rèn)識(shí)的方式是給學(xué)生留課后練習(xí)題,學(xué)生通過抄寫書上的原理要點(diǎn)或手繪設(shè)計(jì)圖的方式完成作業(yè)。對(duì)于所設(shè)計(jì)原理圖是否正確、是否合理無法驗(yàn)證,因此完成作業(yè)的興趣不大,從而導(dǎo)致大面積的抄襲現(xiàn)象,對(duì)教師批改后的作業(yè)不再進(jìn)一步思考或改正,因而對(duì)學(xué)生鞏固所學(xué)作用不大。于是引入了QuartusII和現(xiàn)場(chǎng)可編程門陣列(FPGA)擴(kuò)展實(shí)驗(yàn)平臺(tái)作為學(xué)習(xí)的輔助工具,教師完成理論教學(xué)后,要求學(xué)生通過電路原理圖或者VHDL語(yǔ)言編程的形式對(duì)課后練習(xí)題進(jìn)行設(shè)計(jì),并自行驗(yàn)證設(shè)計(jì)結(jié)果的正確性。在設(shè)計(jì)過程中,學(xué)生需要反復(fù)學(xué)習(xí)理解理論知識(shí)要點(diǎn),否則無法順利完成設(shè)計(jì)任務(wù)。通過這種方式提升學(xué)生的學(xué)習(xí)興趣,鼓勵(lì)學(xué)生自主思考,完成設(shè)計(jì)任務(wù),并對(duì)優(yōu)秀的設(shè)計(jì)作業(yè)進(jìn)行點(diǎn)評(píng),激發(fā)學(xué)生的設(shè)計(jì)激情。為了實(shí)現(xiàn)這一目的,需要選擇難易適度的題目作為隨堂實(shí)踐的練習(xí)任務(wù),過難容易降低學(xué)生的設(shè)計(jì)熱情,過易則無法激發(fā)學(xué)生的思考激情[4]。例如,老師課上講完數(shù)據(jù)校驗(yàn)碼后,學(xué)生立馬把電路在FPGA上實(shí)現(xiàn),對(duì)于有效位、校驗(yàn)位的理解更加深刻。隨堂實(shí)踐既能在內(nèi)容上對(duì)獨(dú)立實(shí)驗(yàn)進(jìn)行補(bǔ)充,同時(shí)也能使學(xué)生平時(shí)加以練習(xí)熟練掌握EDA工具,有利于獨(dú)立實(shí)驗(yàn)中開展復(fù)雜設(shè)計(jì)實(shí)驗(yàn)。
1.3.2 獨(dú)立實(shí)驗(yàn)
由于理論課是以X86處理器為模型機(jī)貫穿整個(gè)教學(xué)過程,講解順序如圖1所示。
圖1 理論課講解順序
因此,在獨(dú)立實(shí)驗(yàn)的內(nèi)容設(shè)置上,也基本遵循以上順序,選擇核心部件,編制相應(yīng)的實(shí)驗(yàn)內(nèi)容。但以往的獨(dú)立實(shí)驗(yàn),在實(shí)驗(yàn)內(nèi)容的設(shè)置上基本為驗(yàn)證性實(shí)驗(yàn),學(xué)生基本上是按照實(shí)驗(yàn)步驟對(duì)理論知識(shí)的直觀驗(yàn)證,缺乏舉一反三的能力。改革過程中借助QuartusII和FPGA擴(kuò)展實(shí)驗(yàn)平臺(tái),開發(fā)了設(shè)計(jì)性的實(shí)驗(yàn)內(nèi)容,要求學(xué)生在驗(yàn)證性實(shí)驗(yàn)完成的基礎(chǔ)上,觸類旁通,完成設(shè)計(jì)要求,并將自己的設(shè)計(jì)在FPGA擴(kuò)展實(shí)驗(yàn)平臺(tái)上進(jìn)行下載驗(yàn)證。獨(dú)立實(shí)驗(yàn)內(nèi)容安排見表1。其中,前6個(gè)實(shí)驗(yàn)為部件實(shí)驗(yàn),后3個(gè)實(shí)驗(yàn)為整機(jī)實(shí)驗(yàn)。總實(shí)驗(yàn)為16學(xué)時(shí),但是學(xué)生需要花在實(shí)驗(yàn)上的時(shí)間遠(yuǎn)遠(yuǎn)不止16學(xué)時(shí)。因?yàn)橥瓿稍O(shè)計(jì)任務(wù)的基礎(chǔ)是對(duì)理論知識(shí)的理解和掌握,所以學(xué)生需要在課下根據(jù)設(shè)計(jì)要求反復(fù)閱讀理論要點(diǎn),在設(shè)計(jì)過程中還需要對(duì)出現(xiàn)的故障問題逐一分析回溯。整個(gè)實(shí)驗(yàn)內(nèi)容做完后,學(xué)生對(duì)功能部件及整機(jī)的概念和實(shí)現(xiàn)會(huì)有比較深刻的了解,并對(duì)自己在學(xué)習(xí)過程中對(duì)知識(shí)的掌握程度有一定的認(rèn)識(shí)。
1.3.3 課程設(shè)計(jì)
以往獨(dú)立實(shí)驗(yàn)完成后,這門課程就結(jié)束了,學(xué)生缺少對(duì)于計(jì)算機(jī)整機(jī)系統(tǒng)的設(shè)計(jì)實(shí)踐,對(duì)所學(xué)知識(shí)要點(diǎn)間的關(guān)聯(lián)關(guān)系缺乏認(rèn)識(shí),對(duì)知識(shí)點(diǎn)的記憶時(shí)間短,很快就不記得這門課程所學(xué)的內(nèi)容了。因此,在改革中,考慮對(duì)知識(shí)點(diǎn)的整合,對(duì)理論知識(shí)落實(shí)到實(shí)踐應(yīng)用的必要性,引入課程設(shè)計(jì)這一環(huán)節(jié)有著極其重要的意義。改革后,將這門課的課程設(shè)計(jì)安排在緊隨課程開設(shè)學(xué)期的暑假小學(xué)期中,既給學(xué)生一定的時(shí)間將所學(xué)知識(shí)理解吸收,又不至于因間隔時(shí)間太長(zhǎng)而遺忘現(xiàn)象嚴(yán)重。在課設(shè)中,要求學(xué)生設(shè)計(jì)仿真實(shí)現(xiàn)一臺(tái)模型機(jī),允許學(xué)生根據(jù)學(xué)習(xí)過的理論知識(shí)及理解的深度自由發(fā)揮,鼓勵(lì)學(xué)生采用RISC指令系統(tǒng)設(shè)計(jì)模型機(jī),學(xué)有余力的同學(xué)還可以采用流水線設(shè)計(jì)。學(xué)生從指令系統(tǒng)設(shè)計(jì)、數(shù)據(jù)通路設(shè)計(jì)、指令流程設(shè)計(jì)到控制部分的實(shí)現(xiàn)完全由自己獨(dú)立完成[5],在設(shè)計(jì)過程中對(duì)理論知識(shí)反芻。通過仿真驗(yàn)證,真正理解計(jì)算機(jī)單機(jī)系統(tǒng)的概念及構(gòu)成。為此,學(xué)生需要投入大量的精力和時(shí)間用于設(shè)計(jì)一套可行的模型機(jī)系統(tǒng),往往小學(xué)期一個(gè)月的時(shí)間對(duì)于學(xué)生而言都感覺緊張,有些學(xué)生甚至連暑假都利用上,最終完成了模型機(jī)設(shè)計(jì)調(diào)試運(yùn)行。
實(shí)驗(yàn)教學(xué)的重要目標(biāo)是培養(yǎng)學(xué)生實(shí)踐和創(chuàng)新能力。根據(jù)該課程實(shí)驗(yàn)的特點(diǎn),實(shí)驗(yàn)室實(shí)行半開放制度,即在實(shí)驗(yàn)時(shí)間外的規(guī)定時(shí)間向?qū)W生全部開放,供學(xué)生做實(shí)驗(yàn)、熟悉實(shí)驗(yàn)箱、調(diào)試程序等。實(shí)驗(yàn)室承擔(dān)的是隨堂實(shí)踐、獨(dú)立實(shí)驗(yàn)和小學(xué)期的課程設(shè)計(jì)任務(wù)。
隨堂實(shí)踐一般是在FPGA擴(kuò)展板上完成,采用驗(yàn)收制度,只要學(xué)生完成即為該項(xiàng)考核通過;獨(dú)立實(shí)驗(yàn)采用CM3P實(shí)驗(yàn)箱和FPGA擴(kuò)展板結(jié)合,百分制的考核模式。
表1 獨(dú)立實(shí)驗(yàn)內(nèi)容
小學(xué)期組成課設(shè)置為獨(dú)立的課程設(shè)計(jì),采用百分制,占1學(xué)分。
獨(dú)立實(shí)驗(yàn)分為課前預(yù)習(xí)報(bào)告、實(shí)驗(yàn)講述、實(shí)驗(yàn)總結(jié)報(bào)告。每次設(shè)計(jì)性實(shí)驗(yàn)總結(jié)報(bào)告都要求是一篇完整的總結(jié)性文章,包括實(shí)驗(yàn)原理圖、仿真波形圖、實(shí)驗(yàn)中遇到的問題,如何解決,有何新發(fā)現(xiàn)、新思考等。最終按照百分制的評(píng)判標(biāo)準(zhǔn)如下:
每次實(shí)驗(yàn)所占成績(jī)比例見表2,獨(dú)立實(shí)驗(yàn)最終成績(jī)?yōu)?
表2 各實(shí)驗(yàn)分?jǐn)?shù)所占比例
表2 各實(shí)驗(yàn)分?jǐn)?shù)所占比例
實(shí)驗(yàn)序號(hào) 實(shí)驗(yàn)1 實(shí)驗(yàn)2 實(shí)驗(yàn)3 實(shí)驗(yàn)4 實(shí)驗(yàn)5 實(shí)驗(yàn)6 實(shí)驗(yàn)7 實(shí)驗(yàn)8 實(shí)驗(yàn)9比例Pi 5 15 5 15 15 10 15 15 5
期末成績(jī)?yōu)?
課程設(shè)計(jì)評(píng)分標(biāo)準(zhǔn)見表3,要求必須實(shí)現(xiàn)的內(nèi)容占70分,其中根據(jù)各項(xiàng)的難易度配以相應(yīng)的分?jǐn)?shù),自由發(fā)揮的部分占30分。
該方案實(shí)施2年,學(xué)生理論課成績(jī)大幅度提高,而且普遍反映計(jì)算機(jī)對(duì)于他們不再那么神秘了,而是“徹頭徹尾地讀懂了它”,“對(duì)于后續(xù)課程的學(xué)習(xí)幫助很大”等。隨堂實(shí)踐的加入使學(xué)生課上的積極性大大提高了,學(xué)生由被動(dòng)接收變?yōu)橹鲃?dòng)思考。對(duì)于獨(dú)立實(shí)驗(yàn)更是信心百倍地參與其中,始終以一名模型機(jī)設(shè)計(jì)師的標(biāo)準(zhǔn)要求自己。學(xué)生在小學(xué)期的時(shí)候能夠獨(dú)立設(shè)計(jì)出模型機(jī)的比例達(dá)80,另外20的學(xué)生對(duì)模型機(jī)設(shè)計(jì)流程有了深刻的理解,但是在規(guī)定的時(shí)間內(nèi)尚未完成設(shè)計(jì)。我們對(duì)這些學(xué)生做了相應(yīng)的延時(shí),讓他們盡量完成設(shè)計(jì)要求。學(xué)生提交的系統(tǒng)采用硬布線控制器設(shè)計(jì)的占30,其余學(xué)生采用微程序控制器。35的學(xué)生設(shè)計(jì)指令系統(tǒng)采用精簡(jiǎn)指令集(RISC),其中15加入流水線以提高性能。最后的小學(xué)期的實(shí)踐報(bào)告總結(jié)中,學(xué)生說這門課是他們投入最多的一門課,很充實(shí),學(xué)到了很多知識(shí),同時(shí)也提高了他們分析問題,解決問題的能力??傊?,學(xué)生感覺這門課收獲很大,設(shè)計(jì)模型機(jī)是他們進(jìn)大學(xué)后做過的“最痛苦”“最耗時(shí)”“最快樂”“最難忘”的實(shí)驗(yàn)。
表3 課程設(shè)計(jì)評(píng)分標(biāo)準(zhǔn)
經(jīng)過多年的教學(xué)改革,摸索出一套完整的計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)具體實(shí)施方案,緊密結(jié)合理論教學(xué),增加隨堂實(shí)踐,配套獨(dú)立實(shí)驗(yàn),并加入課程設(shè)計(jì)環(huán)節(jié)。這一改革已經(jīng)應(yīng)用到實(shí)際教學(xué)中,收到良好的效果。該方法具有普適性和易操作性,使這門課程由原來的枯燥無趣變?yōu)槿缃竦幕顫娚鷦?dòng),實(shí)驗(yàn)教學(xué)改革是一個(gè)不斷深入和發(fā)展的過程[7],理論與實(shí)驗(yàn)是相輔相成的,絕對(duì)不能相互獨(dú)立起來。因此,需要相關(guān)老師進(jìn)行有效的交流合作,從學(xué)生的接受能力和實(shí)驗(yàn)效果出發(fā),互相補(bǔ)充才能達(dá)到良好的教學(xué)目的。
[1]方愷晴,石琳,林亞平.EDA技術(shù)在計(jì)算機(jī)組成原理實(shí)驗(yàn)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2001,18(3):45-47.
[2]方愷晴,張洪杰.計(jì)算機(jī)組成原理實(shí)驗(yàn)課程教學(xué)新方法的探討[J].計(jì)算機(jī)教育,2007(2):52-59.
[3]王興菊.深化實(shí)驗(yàn)教學(xué)改革,培養(yǎng)綜合素質(zhì)人才[J].實(shí)驗(yàn)技術(shù)與管理,2002,19(4):79-81.
[4]姜暉.加強(qiáng)實(shí)踐環(huán)節(jié)培養(yǎng)創(chuàng)新人才[J].實(shí)驗(yàn)室研究與探索,2006,25(11):1329-1331.
[5]方愷晴.基于EDA技術(shù)的教學(xué)型CPU的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2005,22(9):41-43.
[6]秦磊華,王小蘭,張園.計(jì)算機(jī)組成原理設(shè)計(jì)性實(shí)踐教學(xué)模式研究[J].電氣電子教學(xué)學(xué)報(bào),2009,31(2):68-70.
[7]張亮.應(yīng)用EDA技術(shù)改革“計(jì)算機(jī)組成原理”課程設(shè)計(jì)[J].計(jì)算機(jī)教育,2009(19):40-42.