摘 要:分析我校計算機(jī)組成與體系結(jié)構(gòu)課程教學(xué)的現(xiàn)狀和存在問題,結(jié)合實(shí)際教學(xué)經(jīng)驗,從教學(xué)內(nèi)容設(shè)置、理論教學(xué)方法、實(shí)踐教學(xué)規(guī)劃、課程考核制度、師資隊伍建設(shè)和綜合教學(xué)平臺六方面,對建設(shè)計算機(jī)組成與體系結(jié)構(gòu)核心課程提供創(chuàng)新思路和實(shí)踐經(jīng)驗,為進(jìn)一步提高計算機(jī)組成與體系結(jié)構(gòu)課程的教學(xué)效果提供參考和經(jīng)驗。
關(guān)鍵詞:計算機(jī)組成與體系結(jié)構(gòu);核心課程建設(shè);教學(xué)創(chuàng)新
依據(jù)上海理工大學(xué)實(shí)施教育部“卓越工程師教育培養(yǎng)計劃”的要求,上海理工大學(xué)計算機(jī)科學(xué)與工程系確立了計算機(jī)科學(xué)與技術(shù)、計算機(jī)工程兩個本科專業(yè)定位為培養(yǎng)計算機(jī)工程領(lǐng)域需求的工程性人才。在參考ACM/IEEE-CS CC2005[1]對計算機(jī)工程(CE)學(xué)科課程體系設(shè)置的基礎(chǔ)上,我們將計算機(jī)組成原理和計算機(jī)體系結(jié)構(gòu)的知識組織為一門統(tǒng)一的計算機(jī)組成與體系結(jié)構(gòu)課程,并采用白中英教授主編的《計算機(jī)組織與體系結(jié)構(gòu)》作為理論教學(xué)教材[2]。
計算機(jī)組成與體系結(jié)構(gòu)課程涵蓋兩個方面:計算機(jī)組成的基本原理和計算機(jī)體系結(jié)構(gòu)量化設(shè)計的基本方法。計算機(jī)組成原理是通用計算機(jī)系統(tǒng)結(jié)構(gòu)的一般性邏輯實(shí)現(xiàn)方法;計算機(jī)體系結(jié)構(gòu)揭示計算機(jī)系統(tǒng)的屬性,包括概念性結(jié)構(gòu)和功能特性,確定計算機(jī)系統(tǒng)軟硬件的界面。二者既有區(qū)別,又有內(nèi)在聯(lián)系,因此,適合于整合為一門綜合性專業(yè)基礎(chǔ)課程。但是,由于計算機(jī)組成原理是計算機(jī)相關(guān)專業(yè)全國研究生統(tǒng)一入學(xué)考試的專業(yè)基礎(chǔ)課,因此,我們確定本課程的教學(xué)內(nèi)容側(cè)重于計算機(jī)組成原理的教學(xué)。
根據(jù)教育部高等學(xué)校計算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會制定的《高等學(xué)校計算機(jī)科學(xué)與技術(shù)專業(yè)核心課程教學(xué)實(shí)施方案》中關(guān)于計算機(jī)組成原理課程的實(shí)施方案[3],我們確立了計算機(jī)組成與體系結(jié)構(gòu)的教學(xué)目標(biāo)是圍繞單CPU計算機(jī)硬件系統(tǒng)的基本組成和工作原理,系統(tǒng)講述計算機(jī)硬件系統(tǒng)及功能部件的內(nèi)部結(jié)構(gòu)、功能特征、工作原理、交互方式和基本設(shè)計方法,使學(xué)生理解計算機(jī)硬件系統(tǒng)的組織結(jié)構(gòu)與工作原理,掌握計算機(jī)硬件系統(tǒng)的基本分析與設(shè)計方法,為計算機(jī)工程領(lǐng)域培養(yǎng)具有硬件設(shè)計和實(shí)施能力的工程性人才;主要教學(xué)任務(wù)是培養(yǎng)學(xué)生對計算機(jī)硬件結(jié)構(gòu)的分析、應(yīng)用、設(shè)計和開發(fā)能力,系統(tǒng)地理解計算機(jī)系統(tǒng)各部件的工作原理和運(yùn)行機(jī)制。
1 教學(xué)現(xiàn)狀和存在的問題
多年來,計算機(jī)組成原理被認(rèn)為是一門既難教又難學(xué)的課程。而計算機(jī)組成與體系結(jié)構(gòu)則包括計算機(jī)組成和計算機(jī)體系結(jié)構(gòu),這使得教學(xué)內(nèi)容更多、學(xué)習(xí)難度更大。因此,很多同行一直在通過各種方式提高這門課程的教學(xué)質(zhì)量[4-7]。結(jié)合我校計算機(jī)相關(guān)專業(yè)的具體情況,我們分析發(fā)現(xiàn)造成這一問題的因素有三個。
第一,本課程需要有數(shù)字電路、數(shù)字邏輯知識為基礎(chǔ)。但是,由于大一大二兩學(xué)年我院采用工科通識教育的缺陷,使得計算機(jī)和網(wǎng)絡(luò)工程兩個專業(yè)的本科生在學(xué)習(xí)本課程前沒有學(xué)習(xí)過數(shù)字電路和模擬電路,也不了解數(shù)字邏輯設(shè)計的方法。因此,學(xué)生基礎(chǔ)差,難以跟上教學(xué)進(jìn)度。
第二,本課程涉及的知識面廣、概念多,而且計算機(jī)內(nèi)部芯片高度集成化,學(xué)生缺乏對計算機(jī)各部件的感性認(rèn)識。因此,理解其物理結(jié)構(gòu)和工作原理比較抽象,學(xué)生難以理解。而且,由于該課程講授的計算機(jī)最基本的原理和方法,課程教學(xué)內(nèi)容的直接應(yīng)用目標(biāo)也不可能很明確,學(xué)生難以理解該課程的直接應(yīng)用價值,對該課程的重視度不夠。
第三,在計算機(jī)軟件的學(xué)習(xí)過程中,學(xué)生通過編程技術(shù)可以獲得可見的結(jié)果。而對比計算機(jī)硬件課程的學(xué)習(xí),學(xué)生難以把學(xué)到的硬件知識馬上應(yīng)用起來,不容易獲得類似軟件編程的直觀感受,學(xué)生普遍的認(rèn)識有偏差。這導(dǎo)致學(xué)生誤認(rèn)為本課程學(xué)習(xí)內(nèi)容的實(shí)用性不強(qiáng)或者誤認(rèn)為軟硬件之間的聯(lián)系不大,以后自己只從事軟件編程工作,不需要掌握計算機(jī)硬件設(shè)計方面的知識。
基于以上對計算機(jī)組成與體系結(jié)構(gòu)課程的定位,結(jié)合我校人才培養(yǎng)目標(biāo)和教學(xué)現(xiàn)狀,下面,我們將從教學(xué)內(nèi)容設(shè)置、理論教學(xué)方法、實(shí)踐教學(xué)規(guī)劃、課程考核制度、師資隊伍建設(shè)和綜合教學(xué)平臺建設(shè)六個方面具體提出本課程的建設(shè)方案。
2 核心課程創(chuàng)新建設(shè)的綜合方案
2.1 教學(xué)內(nèi)容設(shè)置
教學(xué)內(nèi)容設(shè)置方面的建設(shè)主要集中在三個方面:第一是補(bǔ)充本課程的基礎(chǔ)知識,包括數(shù)字電路中的TTL門、MOS管技術(shù)等和數(shù)字邏輯課程中的邏輯代數(shù)基礎(chǔ)及組合電路邏輯設(shè)計方法;第二是補(bǔ)充《計算機(jī)組織與體系結(jié)構(gòu)》教材中缺失的內(nèi)容,比如增加計算機(jī)體系結(jié)構(gòu)中關(guān)于指令級并行軟硬件設(shè)計方法、Cache失效性分析、多處理機(jī)同步與通信機(jī)制等。在計算機(jī)組成原理的教學(xué)內(nèi)容上,盡量補(bǔ)充計算機(jī)體系結(jié)構(gòu)量化分析的方法和設(shè)計原理;第三是補(bǔ)充多核處理器技術(shù)的最新設(shè)計方法和工作機(jī)制,這部分內(nèi)容主要提供給對計算機(jī)體系結(jié)構(gòu)感興趣的、學(xué)有余力的學(xué)生自學(xué)之用。
為保證理論教學(xué)和實(shí)驗教學(xué)時間的充裕性,我們將理論教學(xué)和實(shí)驗教學(xué)單獨(dú)開課,實(shí)驗課的進(jìn)度和理論課的進(jìn)度相匹配,其中理論教學(xué)安排64學(xué)時,實(shí)驗教學(xué)16學(xué)時,使得理論教學(xué)和實(shí)驗教學(xué)的學(xué)時比為4:1。此外,對學(xué)有余力和參加競賽的同學(xué)另行再組織和指導(dǎo)創(chuàng)新實(shí)驗,使得理論教學(xué)和實(shí)驗教學(xué)環(huán)環(huán)相扣,逐步深化,并使得培養(yǎng)的學(xué)生具有一定的創(chuàng)新設(shè)計和實(shí)踐能力。理論教學(xué)計劃如表1所示。
這種教學(xué)計劃使得計算機(jī)組成與體系結(jié)構(gòu)課程的教學(xué)內(nèi)容更加豐富,既避免了本課程只講授計算機(jī)組成原理或者只講授計算機(jī)體系結(jié)構(gòu)知識的弊端,又能保證學(xué)生將來參加研究生入學(xué)考試時對計算機(jī)組成原理知識的全面掌握。
2.2 理論教學(xué)方法
在講授基本原理的過程中,我們注意融入計算機(jī)硬件技術(shù)發(fā)展的新技術(shù)并作為學(xué)生課后自學(xué)的內(nèi)容,注重基礎(chǔ)理論與最新技術(shù)的融合。由于計算機(jī)組成與體系結(jié)構(gòu)知識比較抽象,理論學(xué)習(xí)比較枯燥,因此教學(xué)過程中我們要與學(xué)生交流互動,向?qū)W生提出啟發(fā)式和開放式的問題,引導(dǎo)學(xué)生深入思考。講課中注意觸類旁通,采用舉例、類比的方法,將深奧、難以理解的問題用學(xué)生最容易接受的方式和語言表達(dá)。理論課程全部采用課堂教學(xué)方式,以多媒體課件為主,適當(dāng)使用一些板書。充分發(fā)揮多媒體教學(xué)采用動畫技術(shù)或Flash技術(shù),充分展現(xiàn)基礎(chǔ)性方法和原理的動態(tài)執(zhí)行過程。比如:SRAM讀寫周期的過程、Cache的訪問和替換策略、指令流水線的過程等。
然而,多媒體教學(xué)方法對運(yùn)算方法和運(yùn)算過程的教學(xué)效果卻不盡人意。經(jīng)分析,我們發(fā)現(xiàn)問題主要是定點(diǎn)數(shù)、浮點(diǎn)數(shù)進(jìn)行加減、乘除的計算過程沒有采用傳統(tǒng)板書教學(xué)并按步驟書寫,而是采用多媒體教學(xué)且放映速度較快,學(xué)生來不及仔細(xì)體會其中的設(shè)計技巧和驗證計算結(jié)果。
因此,后期涉及到計算相關(guān)的教學(xué),我們都盡量采用傳統(tǒng)的板書教學(xué)方法;而對于簡單的控制流程、運(yùn)行機(jī)制、狀態(tài)更新等內(nèi)容主要采用多媒體教學(xué)方法,這既發(fā)揮了多媒體教學(xué)生動、信息量大的特點(diǎn),又體現(xiàn)了傳統(tǒng)板書教學(xué)的細(xì)致和嚴(yán)謹(jǐn)。
此外,理論教學(xué)過程中建議采用引導(dǎo)式教學(xué)方法,而不能采用填鴨式灌輸教學(xué)。講授第二章運(yùn)算方法和運(yùn)算器前,先要介紹計算的基本功能就是進(jìn)行算術(shù)邏輯運(yùn)算,既然是算術(shù)邏輯運(yùn)算,那就有二進(jìn)制數(shù)參與運(yùn)算,那么就會介紹各種數(shù)的機(jī)器表示形式;然后介紹數(shù)值數(shù)據(jù)的加減法和乘除法,包括原碼、補(bǔ)碼和移碼的計算,然后介紹計算過程的硬件邏輯實(shí)現(xiàn)過程;最后介紹浮點(diǎn)數(shù)的加減乘除運(yùn)算過程和硬件設(shè)計框圖。
2.3 實(shí)踐教學(xué)規(guī)劃
在實(shí)踐教學(xué)方面,我們從實(shí)驗內(nèi)容和實(shí)驗方式開展教學(xué)革新。在實(shí)驗內(nèi)容上,分別針對基礎(chǔ)性原理、綜合性知識和創(chuàng)新實(shí)驗有針對性的開展實(shí)踐教學(xué)。針對基礎(chǔ)性原理設(shè)計了驗證性實(shí)驗,比如采用多功能運(yùn)算部件74LS181設(shè)計16位運(yùn)算器的實(shí)驗電路,驗證運(yùn)算器的功能等;對于綜合知識,我們組織設(shè)計性實(shí)驗,比如給每組學(xué)生分配一張指令表,指令表中包含十余條不同的機(jī)器指令(主要包括設(shè)計H