文/廣東理工學(xué)院 韓長(zhǎng)河
“計(jì)算機(jī)組成原理”是普通高等院校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生必修的核心骨干課程之一,在先修課(數(shù)字邏輯)和后續(xù)課(計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、微型計(jì)算機(jī)接口技術(shù))之間起著重要的承上啟下作用。一方面,通過(guò)“計(jì)算機(jī)組成原理”(以下簡(jiǎn)稱組成原理)課程的學(xué)習(xí),把“數(shù)字邏輯”課程中的基本數(shù)字邏輯單元組合成具有一定獨(dú)立功能的計(jì)算機(jī)部件;另一方面,從微處理器數(shù)據(jù)通路設(shè)計(jì)角度引入指令集及軟硬件功能分界面的概念,對(duì)學(xué)生理解計(jì)算機(jī)系統(tǒng)的軟件和硬件設(shè)計(jì)思想產(chǎn)生深刻的影響,從而為后續(xù)的“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”分析系統(tǒng)性能優(yōu)化提供所需硬件支持,并為系統(tǒng)復(fù)雜度、性能等內(nèi)容提供知識(shí)準(zhǔn)備。
當(dāng)前的計(jì)算機(jī)內(nèi)部結(jié)構(gòu)日趨復(fù)雜、龐大和集成化,學(xué)生普遍感到組成原理難懂、概念抽象、感性認(rèn)識(shí)差。在教學(xué)中,僅僅使用傳統(tǒng)的教學(xué)方法和手段很難實(shí)現(xiàn)教學(xué)目標(biāo),如何改革組成原理教學(xué)過(guò)程、吸引學(xué)生興趣、改善教學(xué)效果和效率,并緊密結(jié)合計(jì)算機(jī)技術(shù)的發(fā)展趨勢(shì)成為任課教師亟待解決的問(wèn)題。經(jīng)過(guò)多年的教學(xué)改革實(shí)踐,我們探索出一些激發(fā)學(xué)習(xí)興趣、提高理論知識(shí)的掌握與理解程度、增強(qiáng)實(shí)踐動(dòng)手能力的教學(xué)改革措施。
本文剖析了當(dāng)前組成原理課程教學(xué)中面臨的教與學(xué)、多樣化教材和統(tǒng)一考試、重實(shí)用和重基礎(chǔ)幾個(gè)方面的挑戰(zhàn),闡述了在教學(xué)內(nèi)容、方法、手段、實(shí)驗(yàn)教材編寫等方面進(jìn)行教學(xué)改革的思路和方法。
1.難教與難學(xué)的困境
計(jì)算機(jī)微體系結(jié)構(gòu)的不斷發(fā)展使得新概念、新技術(shù)層出不窮,為了確保授課內(nèi)容貼近本領(lǐng)域技術(shù)發(fā)展的前沿,任課教師需要不斷地跟蹤學(xué)習(xí)國(guó)內(nèi)外相關(guān)技術(shù)文獻(xiàn),以掌握微處理器設(shè)計(jì)的核心技術(shù)并滲透于教學(xué)內(nèi)容中,大大增加了備課的難度。從學(xué)生的角度來(lái)說(shuō),由于組成原理中類似離散數(shù)學(xué)的證明、推導(dǎo)較少,也缺乏類似數(shù)據(jù)結(jié)構(gòu)中的算法,學(xué)生覺(jué)得組成原理課“理論性、規(guī)律性不強(qiáng)”“知識(shí)點(diǎn)零散”“復(fù)習(xí)時(shí)無(wú)從下手”等,而且,在學(xué)習(xí)計(jì)算機(jī)各組成部分的硬件電路及其工作原理時(shí),有時(shí)要用到數(shù)字電路、數(shù)字邏輯等先修課程的相關(guān)知識(shí),學(xué)生對(duì)這些知識(shí)掌握得不夠深入、基礎(chǔ)薄弱,綜合運(yùn)用時(shí)就會(huì)感到吃力,因而興趣不高。這種雙方面的困難造成了組成原理課程既難教又難學(xué)的困境,往往教師課外花費(fèi)大量的時(shí)間備課,課堂教學(xué)時(shí)卻很難真正引起學(xué)生的興趣。
2.多樣化教材與全國(guó)統(tǒng)考的矛盾
目前,國(guó)內(nèi)主流的“計(jì)算機(jī)組成原理”教材很多,側(cè)重點(diǎn)各有不同。自2009年計(jì)算機(jī)專業(yè)研究生入學(xué)考試改為全國(guó)統(tǒng)一考試以來(lái),“計(jì)算機(jī)組成原理”成為在專業(yè)基礎(chǔ)綜合卷中所占比重較大的課程。經(jīng)過(guò)認(rèn)真分析考試大綱,我們發(fā)現(xiàn)其中的知識(shí)點(diǎn)涵蓋了多本相關(guān)教材,并不局限于某一本教材。在目前考研人數(shù)居高不下的形勢(shì)下,如何精心選擇一本適合的教材并兼顧其他,使學(xué)生廣采眾家之長(zhǎng),在就業(yè)和考研競(jìng)爭(zhēng)中占有優(yōu)勢(shì),是任課教師在教學(xué)中面臨的又一個(gè)難題。
3.“重實(shí)用”與“重基礎(chǔ)”的矛盾
上課時(shí)經(jīng)常遇到學(xué)生提問(wèn):學(xué)習(xí)本課程對(duì)以后工作有什么用處?對(duì)此,需要教育學(xué)生重視夯實(shí)專業(yè)基礎(chǔ),不要為流行一時(shí)的應(yīng)用技術(shù)迷惑,只有真正理解和掌握了計(jì)算科學(xué)的實(shí)質(zhì)才能在今后的研究和工作中選準(zhǔn)方向。當(dāng)前國(guó)內(nèi)計(jì)算機(jī)硬件人才培養(yǎng)弱化,軟件人才需求旺盛且待遇較高的現(xiàn)實(shí)情況,也造成了學(xué)生“重軟件、輕硬件”的認(rèn)識(shí)。在課堂教學(xué)中,要注意糾正學(xué)生的這種偏見(jiàn),強(qiáng)化軟件性能取決于軟件設(shè)計(jì)者對(duì)系統(tǒng)中硬件的理解程度,操作系統(tǒng)的設(shè)計(jì)者也需要有較強(qiáng)的計(jì)算機(jī)組成與設(shè)計(jì)的背景知識(shí)等意識(shí)。
經(jīng)過(guò)多年來(lái)對(duì)組成原理課程進(jìn)行的教改實(shí)踐,為達(dá)到培養(yǎng)學(xué)生具有扎實(shí)的理論基礎(chǔ)和良好的動(dòng)手能力的教學(xué)目的,本文從以下幾個(gè)方面對(duì)該課程的教學(xué)進(jìn)行了一些有益的探索。
1.合理組織教學(xué)內(nèi)容
在教學(xué)內(nèi)容的安排上,將“計(jì)算機(jī)組成原理”課程的重點(diǎn)放在指令系統(tǒng)、運(yùn)算器、控制器的設(shè)計(jì)上,對(duì)于重點(diǎn)內(nèi)容講深、講透,其他部分則通過(guò)學(xué)生自學(xué)或討論課講授。對(duì)于核心教學(xué)內(nèi)容,按照基本原理、簡(jiǎn)明示例、真實(shí)計(jì)算機(jī)系統(tǒng)舉例3個(gè)層次逐層遞進(jìn)安排。
(1)基本原理是基礎(chǔ)
基本原理是學(xué)習(xí)和理解計(jì)算機(jī)組成與運(yùn)行機(jī)制的核心知識(shí),具有穩(wěn)定性和通用性,是學(xué)生一定要掌握的內(nèi)容。例如,對(duì)于“馮·諾依曼計(jì)算機(jī)的基本組成”這一基本原理的講解,設(shè)計(jì)了如下教學(xué)步驟:首先說(shuō)明計(jì)算機(jī)系統(tǒng)是對(duì)人腦功能的模擬;然后分析人腦具有的感知、存儲(chǔ)、分析、輸出和協(xié)調(diào)能力,從而引出馮·諾依曼計(jì)算機(jī)與上述功能對(duì)應(yīng)的5個(gè)主要功能部件:輸入設(shè)備、存儲(chǔ)器、運(yùn)算器、輸出設(shè)備和控制器;接下來(lái),在后續(xù)章節(jié)的教學(xué)中,不僅分析各功能部件的組成方式,還注重介紹各部件之間的聯(lián)系和相互影響,使學(xué)生能夠牢牢抓住本課程的基本原理,不至于淹沒(méi)在繁復(fù)的細(xì)節(jié)中。通過(guò)精心設(shè)計(jì)教學(xué)步驟,將計(jì)算機(jī)的組成與人腦自身的功能形成類比,學(xué)生覺(jué)得概念和原理都鮮活了起來(lái),理解更加深入和持久。再如,在介紹尋址方式時(shí),強(qiáng)調(diào)所謂“尋址就是根據(jù)指令中的地址碼信息找到操作的對(duì)象的過(guò)程”這一基本原理,從可能的存儲(chǔ)位置出發(fā)分析各種尋址過(guò)程,突出尋址方式與數(shù)據(jù)通路設(shè)置的相互作用關(guān)系,從而引出計(jì)算機(jī)內(nèi)部?jī)煞N主要信息流之一——“數(shù)據(jù)流”的概念。
(2)模型計(jì)算機(jī)作為簡(jiǎn)明示例
模型計(jì)算機(jī)系統(tǒng)處于基本原理和真實(shí)計(jì)算機(jī)系統(tǒng)兩個(gè)層次之間,具有基本的計(jì)算機(jī)系統(tǒng)功能而刪減了性能、成本等,優(yōu)化了技術(shù)細(xì)節(jié),學(xué)生運(yùn)用所學(xué)習(xí)的基本原理知識(shí)就可以完成模型機(jī)的設(shè)計(jì)和分析。通過(guò)設(shè)計(jì)實(shí)現(xiàn)一臺(tái)簡(jiǎn)單的模型計(jì)算機(jī)系統(tǒng),增加學(xué)生對(duì)所學(xué)知識(shí)的理解深度和應(yīng)用能力。例如,在介紹尋址方式的概念后,通過(guò)擬定模型計(jì)算機(jī)指令系統(tǒng)、設(shè)計(jì)模型計(jì)算機(jī)數(shù)據(jù)通路的實(shí)踐,學(xué)生對(duì)指令格式與尋址方式、尋址方式與數(shù)據(jù)通路設(shè)計(jì)之間作用關(guān)系的理解更加深刻,在印證理論知識(shí)的同時(shí)加深了對(duì)基本原理的理解。
(3)以真實(shí)計(jì)算機(jī)系統(tǒng)作為實(shí)例
以真實(shí)的計(jì)算機(jī)系統(tǒng)舉例,不但可以運(yùn)用課堂所學(xué)的基本原理,還可以貼近計(jì)算機(jī)硬件設(shè)計(jì)的前沿技術(shù)。在教學(xué)中,我們分別以精簡(jiǎn)指令集(risc)和復(fù)雜指令集(cisc)兩種處理器架構(gòu)的代表mips和pentium為例,說(shuō)明不同的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)理念產(chǎn)生了不同的寄存器設(shè)置、內(nèi)部數(shù)據(jù)通路設(shè)計(jì)、時(shí)序控制方式及中斷等外設(shè)控制方式。例如,在尋址方式部分,通過(guò)x86系列計(jì)算機(jī)和mips計(jì)算機(jī)的機(jī)器指令集的具體示例,深刻揭示cisc架構(gòu)和risc架構(gòu)計(jì)算機(jī)的區(qū)別,為后續(xù)的系統(tǒng)結(jié)構(gòu)課程學(xué)習(xí)打下良好基礎(chǔ)。一方面提高了學(xué)生的學(xué)習(xí)興趣,另一方面彌補(bǔ)了教材與實(shí)際系統(tǒng)的縫隙,既注重基礎(chǔ)又體現(xiàn)了時(shí)代特性。
2.靈活運(yùn)用多種教學(xué)方法
根據(jù)組成原理課程特點(diǎn),我們采用了以下教學(xué)方法,取得了較好的教學(xué)效果。
(1)課堂教學(xué)多采用問(wèn)題驅(qū)動(dòng)
在講授新的單元內(nèi)容之前,先對(duì)上一個(gè)單元進(jìn)行簡(jiǎn)單扼要的總結(jié),然后利用“接下來(lái)的內(nèi)容將要解決的是什么問(wèn)題”或者“還有什么更先進(jìn)的方法”等問(wèn)題引起學(xué)生興趣,導(dǎo)出新的教學(xué)單元。例如,在講授補(bǔ)碼加減法時(shí),教師通過(guò)分析原碼加減法操作過(guò)程中需要比較操作數(shù)絕對(duì)值大小,使學(xué)生認(rèn)識(shí)到原碼表示法不適合于加減運(yùn)算,從而引入補(bǔ)碼表示法和補(bǔ)碼加減運(yùn)算的內(nèi)容;同理,在介紹乘除法器設(shè)計(jì)時(shí),也通過(guò)設(shè)問(wèn)方式,讓學(xué)生自主選擇適合的機(jī)器數(shù)表示形式及運(yùn)算方法。通過(guò)提問(wèn),促使學(xué)生主動(dòng)思考問(wèn)題,進(jìn)而比較自己的解決方法和已有方法的不同,發(fā)現(xiàn)好的思維方法,促進(jìn)學(xué)生學(xué)習(xí)的主動(dòng)性。
(2)突出理論知識(shí)的實(shí)際應(yīng)用
在教學(xué)過(guò)程中,講授計(jì)算機(jī)基本組成和工作原理的同時(shí),注意使所學(xué)的理論知識(shí)用于指導(dǎo)實(shí)踐操作,激發(fā)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。例如,在講授控制器內(nèi)容時(shí),教師在講授完控制器的基本組成和工作原理后,可以通過(guò)一個(gè)只能執(zhí)行幾條指令的最簡(jiǎn)單模型機(jī)的示例來(lái)說(shuō)明控制器設(shè)計(jì)的5個(gè)基本步驟:擬定指令系統(tǒng)、確定數(shù)據(jù)通路、安排時(shí)序、編寫微操作時(shí)間表和微命令序列、控制邏輯實(shí)現(xiàn)。然后,讓學(xué)生獨(dú)立完成對(duì)該模型機(jī)的功能擴(kuò)展,通過(guò)實(shí)踐比較不同方式實(shí)現(xiàn)可擴(kuò)展性的難易程度。
(3)合理設(shè)置課后習(xí)題
為方便學(xué)生課后復(fù)習(xí),我們遵循驗(yàn)證所學(xué)、啟發(fā)思考的選題思路,選取有代表性的習(xí)題編輯成《計(jì)算機(jī)組成原理知識(shí)要點(diǎn)及習(xí)題解析》。習(xí)題主要包含兩部分:一是針對(duì)理論課教學(xué)中一些比較抽象的、容易混淆的基本概念和基本原理而設(shè)計(jì)的習(xí)題;二是針對(duì)基本理論的運(yùn)用而設(shè)計(jì)的習(xí)題。教師通過(guò)了解第一類習(xí)題的完成情況,可以及時(shí)發(fā)現(xiàn)教學(xué)中的問(wèn)題,對(duì)于學(xué)生普遍掌握不好的內(nèi)容采取適當(dāng)?shù)姆椒ㄟM(jìn)行補(bǔ)充,以達(dá)到單元教學(xué)的目的;對(duì)第二類習(xí)題,教師組織學(xué)生討論,進(jìn)行集體學(xué)習(xí),在各種解決方案的提出、論證、分析以及評(píng)估過(guò)程中,通過(guò)解決已有問(wèn)題并提出新的問(wèn)題的學(xué)習(xí)活動(dòng),使學(xué)生的獨(dú)立思考能力得到很大的鍛煉和提高。
3.充分利用多種教學(xué)手段
組成原理課程中介紹的很多工作過(guò)程都發(fā)生在芯片內(nèi)部,內(nèi)容很抽象。本文利用計(jì)算機(jī)動(dòng)畫演示各部件連接關(guān)系、數(shù)據(jù)流、控制流以及工作時(shí)序等內(nèi)容,不僅能把高度抽象的知識(shí)直觀地顯示出來(lái),而且借助于聲音、圖像的多重作用幫助學(xué)生加深理解。例如,通過(guò)動(dòng)畫演示指令執(zhí)行的全過(guò)程,包括取指、分析譯碼及在微命令控制下各部件執(zhí)行指令流程等內(nèi)容,使學(xué)生迅速地了解cpu的整個(gè)工作過(guò)程并且課下還可以反復(fù)觀看,提高了知識(shí)傳授效率。此外,還建設(shè)了組成原理課程網(wǎng)站,把講課的視頻、相關(guān)資料和自測(cè)系統(tǒng)放到教學(xué)網(wǎng)站上,方便學(xué)生課后學(xué)習(xí)和進(jìn)行自我評(píng)價(jià)。另外,提供一些相關(guān)的硬件知識(shí)網(wǎng)站和論壇的鏈接,鼓勵(lì)學(xué)生通過(guò)網(wǎng)絡(luò)自主學(xué)習(xí),擴(kuò)大知識(shí)面。
4.加強(qiáng)實(shí)踐教學(xué)環(huán)節(jié)
“計(jì)算機(jī)組成原理”屬于工程性、技術(shù)性和實(shí)踐性都很強(qiáng)的課程,因此在開(kāi)展理論教學(xué)的同時(shí),也要非常重視實(shí)踐教學(xué)環(huán)節(jié)。
實(shí)驗(yàn)教學(xué)內(nèi)容可分為3個(gè)層次:基礎(chǔ)驗(yàn)證型實(shí)驗(yàn)、設(shè)計(jì)應(yīng)用型實(shí)驗(yàn)和綜合設(shè)計(jì)型實(shí)驗(yàn)。3類實(shí)驗(yàn)難度依次遞增,分別在組成原理實(shí)驗(yàn)箱和仿真軟件上進(jìn)行。
(1)基礎(chǔ)驗(yàn)證型實(shí)驗(yàn)
該類實(shí)驗(yàn)利用計(jì)算機(jī)組成原理教學(xué)實(shí)驗(yàn)箱完成,包括運(yùn)算器實(shí)驗(yàn)、存儲(chǔ)器實(shí)驗(yàn)、總線傳輸實(shí)驗(yàn)和微程序控制器實(shí)驗(yàn),實(shí)驗(yàn)?zāi)康氖亲寣W(xué)生掌握實(shí)驗(yàn)系統(tǒng)單元模塊的內(nèi)部結(jié)構(gòu)及相關(guān)集成電路芯片的基本邏輯,理解單元模塊的工作原理及該模塊在整機(jī)系統(tǒng)中的作用。通過(guò)基礎(chǔ)驗(yàn)證型實(shí)驗(yàn),學(xué)生加深了對(duì)理論課教學(xué)內(nèi)容的理解。
(2)設(shè)計(jì)應(yīng)用型實(shí)驗(yàn)
該類實(shí)驗(yàn)要求學(xué)生利用電子仿真軟件進(jìn)行功能部件的邏輯設(shè)計(jì),在計(jì)算機(jī)上功能仿真通過(guò)后,再下載到可編程邏輯器件中進(jìn)行物理測(cè)試。例如,在運(yùn)算器設(shè)計(jì)實(shí)驗(yàn)中,學(xué)生設(shè)計(jì)并實(shí)現(xiàn)一個(gè)16位運(yùn)算器,實(shí)現(xiàn)基本的算術(shù)和邏輯運(yùn)算,學(xué)生對(duì)于這類實(shí)驗(yàn)課的積極性很高,提出了一些獨(dú)特的設(shè)計(jì)方案。
(3)綜合設(shè)計(jì)型實(shí)驗(yàn)
在前面已完成的各功能部件邏輯設(shè)計(jì)的基礎(chǔ)上,要求學(xué)生設(shè)計(jì)一個(gè)16位risc架構(gòu)的模型計(jì)算機(jī),并在仿真軟件上實(shí)現(xiàn)。該類實(shí)驗(yàn)幫助學(xué)生掌握微程序控制計(jì)算機(jī)的設(shè)計(jì)方法,加深了解微程序的特點(diǎn),理解指令流和數(shù)據(jù)流的流動(dòng)過(guò)程,建立起整機(jī)概念。微程序設(shè)計(jì)技術(shù)是計(jì)算機(jī)組成原理理論教學(xué)中的一個(gè)難點(diǎn),核心內(nèi)容是理解在微程序的控制下處理器如何完成基本數(shù)據(jù)的通路操作。內(nèi)容涉及時(shí)序安排、微指令編碼方式、微程序設(shè)計(jì)等許多概念,學(xué)生感覺(jué)難以理解。綜合設(shè)計(jì)實(shí)驗(yàn)使學(xué)生從微觀角度分析微程序執(zhí)行的整個(gè)過(guò)程,并通過(guò)親手解剖一個(gè)小小的“麻雀”來(lái)了解微程序控制單元的設(shè)計(jì)方法。
“計(jì)算機(jī)組成原理”課程通過(guò)從底層剖析電子數(shù)字計(jì)算機(jī)的基本組成和工作原理,使學(xué)生掌握計(jì)算機(jī)硬件系統(tǒng)的基本設(shè)計(jì)技術(shù)并培養(yǎng)系統(tǒng)觀點(diǎn),從而訓(xùn)練學(xué)生的計(jì)算思維和解決數(shù)字系統(tǒng)實(shí)際問(wèn)題的能力。通過(guò)近年來(lái)不斷探索“計(jì)算機(jī)組成原理”課程的教學(xué)改革并積極實(shí)踐,提高了課程的教學(xué)水平和教學(xué)質(zhì)量,促進(jìn)了課程的建設(shè)與發(fā)展,對(duì)培養(yǎng)學(xué)生的硬件設(shè)計(jì)能力和系統(tǒng)思維能力起到了積極的作用。在以后的工作中,還需注意結(jié)合社會(huì)需要,將計(jì)算機(jī)硬件技術(shù)的新成果引入到教學(xué)內(nèi)容中,不斷提高教學(xué)水平。