文章編號:1672-5913(2008)20-0082-02
摘 要:本文主要探討了計算機專業(yè)主干課程“計算機組成原理”的課程實現(xiàn)問題,分析比較了University of California at Berkeley、Carnegie Mellon University、清華大學(xué)和我校等幾所大學(xué)“計算機組成原理”課程的教學(xué)情況,探討了作為“計算機組成原理”的重要實踐環(huán)節(jié)的“計算機設(shè)計與實踐”課程的綜合性、創(chuàng)新性實踐教學(xué)模式,有助于提高“計算機組成原理”課程的教學(xué)質(zhì)量。
關(guān)鍵詞:計算機組成原理;計算機設(shè)計與實踐;實踐教學(xué);綜合能力
中圖分類號:G642 文獻標識碼:B
1 引言
“計算機組成原理”是硬件系列課程中的核心課程,是計算機專業(yè)重要的專業(yè)基礎(chǔ)課,它對其它課程有承上啟下的作用,它的先修課程為“匯編語言”、“數(shù)字邏輯”,它又與“計算機系統(tǒng)結(jié)構(gòu)”、“操作系統(tǒng)”、“計算機接口技術(shù)”等課程密切相關(guān)。主要教學(xué)任務(wù)是培養(yǎng)學(xué)生對計算機硬件結(jié)構(gòu)的分析、應(yīng)用、設(shè)計和開發(fā)能力。“計算機設(shè)計與實踐”課程作為“計算機組成原理”課程的后續(xù)課程和實踐環(huán)節(jié),將計算機組成原理課程的教學(xué)內(nèi)容深化到應(yīng)用實踐,教學(xué)過程中不僅僅傳授有關(guān)硬件設(shè)計的課本知識,更重要的是重視理論知識與實踐過程的結(jié)合,實踐教學(xué)內(nèi)容不僅要將組成原理知識應(yīng)用到實踐中,還需將知識綜合靈活運用,重視學(xué)生綜合能力和創(chuàng)新能力的訓(xùn)練和培養(yǎng)[1]。
本文主要探討“計算機組成原理”的課程實現(xiàn)問題,對University of California at Berkeley、Carnegie Mellon University、清華大學(xué)和我校等幾所國內(nèi)外知名大學(xué)所開設(shè)的“計算機組成原理”課程進行多方面的比較、分析研究,以期為“計算機組成原理”這門重要課程的課程設(shè)置和教學(xué)實踐提供借鑒,提高課程的教學(xué)質(zhì)量,與國際化接軌。
2 國內(nèi)外教學(xué)情況
2.1 UC Berkeley
UC Berkeley大學(xué)的課程名稱為“Machine Structures[2]”,選用教材為Patterson和Hennessy的“Computer Organization and Design: The Hardware Software Interface, Third Edition”。參考教材為Kernighan和Ritchie的“The C Programming Language, Second Edition”。
課程從機器結(jié)構(gòu)高層設(shè)計的抽象描述到基本邏輯部
件的CPU設(shè)計,用C語言和MIPS匯編語言來介紹機器的抽象描述。課程內(nèi)容主要有數(shù)的表示、C語言簡介、存儲管理、MIPS、浮點表示、輸入輸出、中斷、磁盤存儲、網(wǎng)絡(luò)、緩存系統(tǒng)、虛擬存儲器、邏輯設(shè)計、CPU結(jié)構(gòu),包括CPU數(shù)據(jù)通路、CPU控制等和流水線技術(shù)。
對應(yīng)教學(xué)內(nèi)容,都有相關(guān)的實驗教學(xué),培養(yǎng)學(xué)生編寫和調(diào)試C和匯編語言的編程能力和用硬件描述語言模擬硬件的能力。相應(yīng)的作業(yè)和設(shè)計題目強化學(xué)生對機器結(jié)構(gòu)和實現(xiàn)的理解,簡單的設(shè)計包括用C語言寫的機器語言解釋器,緩存模擬器和一個CPU模擬器。
UC Berkeley大學(xué)的課程主要講授C和匯編語言編程,高級語言如何轉(zhuǎn)換為機器語言,計算機的體系結(jié)構(gòu),中斷,緩存,地址映射,CPU設(shè)計等,課程內(nèi)容較廣。
2.2 Carnegie Mellon University
Carnegie Mellon University大學(xué)的課程名稱為“Computer Architecture[3]”,選用教材也是Patterson和Hennessy的“Computer Organization and Design: The Hardware Software Interface”,參考教材為Donald Thomas的“The Verilog Hardware Description Language, Fifth Edition”。
課程講授如何選擇和連接硬件元件來創(chuàng)建一個滿足功能、性能和成本需求的計算機,介紹了現(xiàn)代計算機的基本的硬件結(jié)構(gòu),如何用Verilog語言設(shè)計處理器的控制單元和數(shù)據(jù)通路,如何使機器指令同時執(zhí)行,以及怎樣設(shè)計快速存儲系統(tǒng)。
教學(xué)形式包括課堂講授、作業(yè)、實驗和報告。
為了培養(yǎng)學(xué)生的計算機系統(tǒng)設(shè)計和實現(xiàn)能力,實驗要求學(xué)生用Verilog實現(xiàn)一個具有緩存和分支功能的超標量流水線處理器,處理器實現(xiàn)MIPS指令集的一個子集。
成績評定方式為作業(yè)占10%(共有10次作業(yè)),實驗占30%(共有5次實驗),兩次期中考試(各占15%),期末考試占30%。
2.3 清華大學(xué)
清華大學(xué)的課程名稱為“計算機組成原理[4]”,選用教材為王誠的《計算機組成與設(shè)計》。
課程主要介紹簡單、完整、單處理器計算機的基本組成原理和內(nèi)部運行機制,主要講授數(shù)據(jù)表示、運算和運算器部件,指令、指令系統(tǒng)和控制器部件,多級結(jié)構(gòu)的存儲器系統(tǒng),輸入/輸出設(shè)備與輸入/輸出系統(tǒng)等。課堂教學(xué)48學(xué)時,實驗32學(xué)時,其中16個課內(nèi)學(xué)時和16個課外學(xué)時。實驗分為兩部分,第一部分為原理驗證性實驗,第二部分為工程設(shè)計項目,采用教學(xué)計算機TEC-2000實驗平臺。驗證性實驗題目為“TEC-2000-16位機教學(xué)計算機的簡單用法與運算器實驗(2學(xué)時)”和“TEC-2000-16位教學(xué)計算機的控制器實驗(2學(xué)時)”,工程設(shè)計項目題為“設(shè)計與實現(xiàn)TEC-2000 8位教學(xué)計算機系統(tǒng)(28學(xué)時)”,要求學(xué)生在實驗中,以16位教學(xué)計算機及其軟件模擬系統(tǒng)為基礎(chǔ),獨立設(shè)計和實現(xiàn)一臺8位的計算機。
考核方式包括作業(yè)、驗證實驗,大實驗、學(xué)習(xí)報告和期末考試。
3 我?!坝嬎銠C組成原理”教學(xué)情況
我校的課程“計算機組成原理”,選用教材為唐朔飛的《計算機組成原理》。
課程旨在使學(xué)生掌握計算機硬件各子系統(tǒng)的組成原理及實現(xiàn)技術(shù),建立計算機系統(tǒng)的整體概念,主要講授系統(tǒng)總線、存儲器、輸入輸出系統(tǒng)、數(shù)的表示、計算機的運算方法和運算器、指令系統(tǒng)、CPU的結(jié)構(gòu)和功能、控制單元和控制單元的設(shè)計。課堂教學(xué)52學(xué)時,實驗16學(xué)時。為更好突出對學(xué)生能力的培養(yǎng),做到教師與學(xué)生按1:15的比例,體現(xiàn)了個性化教學(xué)的思想。共有6個實驗題目,包括存儲器實驗(設(shè)計型,3學(xué)時)、基本輸入輸出實驗(綜合型,3學(xué)時)、中斷實驗(驗證型,2學(xué)時)、運算器實驗(綜合型,2學(xué)時)、控制器實驗(設(shè)計型,3學(xué)時)和綜合設(shè)計(綜合設(shè)計型,3學(xué)時)。實驗成績根據(jù)預(yù)習(xí)、表現(xiàn)、報告等方面綜合打分。
成績評定由三部分組成,.期末考試占總成績的80%,平時作業(yè)占總成績的10%,實驗?zāi)芰φ伎偝煽兊?0%。
為了進一步提高學(xué)生的動手能力和獨立創(chuàng)新地解決實際問題的能力,除了實驗課外,還增設(shè)了實踐性很強的“計算機設(shè)計與實踐”課,作為計算機組成原理的必要補充。該課程是一門以應(yīng)用為視角,進一步提高學(xué)生硬件方面的實際動手能力和設(shè)計能力的課程。課程采用理論和實踐相結(jié)合的方法進行教學(xué),以實踐為主(18學(xué)時授課/60學(xué)時實驗),要求學(xué)生掌握有關(guān)硬件設(shè)計工具的功能和用法,初步掌握計算機部件和CPU的設(shè)計方法和調(diào)試方法,極有利于提高學(xué)生的動手能力和創(chuàng)新能力。
計算機設(shè)計與實踐課程對于提高學(xué)生的綜合素質(zhì)、培養(yǎng)學(xué)生的創(chuàng)新精神與科學(xué)實踐能力具有特殊的作用,著重培養(yǎng)學(xué)生的以下能力。
●系統(tǒng)級的認識能力。建立整機概念,掌握自頂向下的問題分析能力,既能理解系統(tǒng)各層次的細節(jié),又能站在系統(tǒng)總體的角度從宏觀上認識系統(tǒng),然后將系統(tǒng)很好的分解為功能模塊。這種理解必須超越各組成部分的實現(xiàn)細節(jié),而認識到計算機的軟件系統(tǒng)和硬件系統(tǒng)的結(jié)構(gòu)以及它們建立和分析的過程,這一過程是應(yīng)該以深入理解計算機組成原理為基礎(chǔ)的。
●培養(yǎng)學(xué)生理論聯(lián)系實際的能力。計算機實踐教學(xué)是計算機課程的重要環(huán)節(jié),學(xué)好計算機僅靠理論知識是不夠的,課堂講授是使學(xué)生掌握計算機的基本知識和基本技能,而計算機實踐教學(xué)的目的是要通過實際操作將所學(xué)到的知識付諸實際,是課堂教學(xué)的延伸和補充[5]。計算機設(shè)計與實踐就是從理論、抽象、設(shè)計三個方面將計算機系統(tǒng)內(nèi)部處理器、存儲器、控制器、運算器、外設(shè)等各個部分聯(lián)系起來,達到互相支撐、互相促進的目的。
●培養(yǎng)學(xué)生完成工程項目能力。計算機設(shè)計與實踐課程不僅僅是對理論的驗證,重要的是技術(shù)訓(xùn)練和能力培養(yǎng),包括動手能力、分析問題和解決問題的能力、書寫能力和表達能力、團隊協(xié)作能力等的培養(yǎng),也就是要注重學(xué)生的工程能力,培養(yǎng)學(xué)生完成項目實踐的能力。
在計算機設(shè)計與實踐課程中,對學(xué)生來說,要求學(xué)生完成的設(shè)計內(nèi)容是一個相對較大的設(shè)計項目,這樣的項目涉及到不同課程中所學(xué)原理的應(yīng)用,從而可以使學(xué)生把各階段所學(xué)的內(nèi)容都聯(lián)系起來,達到綜合應(yīng)用的目的。
4 教學(xué)分析
從上述幾所學(xué)校的課程教學(xué)情況可以看出,目前“計算機組成原理”課程的教學(xué)基本上都是采用“課堂教學(xué)+課程項目實驗”的模式,課堂教學(xué)講授基本概念和理論知識,項目實驗主要是為了加深對基本概念和理論知識的理解及培養(yǎng)動手能力。教學(xué)的主要內(nèi)容包括數(shù)據(jù)信息的表示,運算器,指令流程,微程序控制,組合邏輯控制,存貯系統(tǒng),I/O,基本外設(shè)等。國外大學(xué)側(cè)重于系統(tǒng)結(jié)構(gòu),側(cè)重于軟硬件接口,而國內(nèi)大學(xué)側(cè)重于組成,側(cè)重于邏輯實現(xiàn)。比較而言,國外的教材在新技術(shù)的介紹、教材的更新?lián)Q代方面較有優(yōu)勢。
從實驗內(nèi)容的設(shè)計上,基本都涵蓋了驗證型、設(shè)計型和綜合型實驗內(nèi)容,最終都以實現(xiàn)一個處理器作為綜合設(shè)計型實驗內(nèi)容。我校在“計算機組成原理”課程之后更開設(shè)了一門實踐性為主的“計算機設(shè)計與實踐”課程,來加強實踐教學(xué)。
從考核方式看,考核形式都比較多樣,包括作業(yè)、實驗、報告和考試等。在考核方式上,我校的計算機組成原理課程略顯單一,主要以期末考試成績?yōu)橹鳌?/p>
通過以上各學(xué)校課程教學(xué)情況的分析,可以看出,我校的計算機組成原理課程在教學(xué)模式、教學(xué)內(nèi)容和實驗內(nèi)容上都基本與國外一流大學(xué)接近。
在教學(xué)內(nèi)容上,我們應(yīng)適當引進介紹當前計算機發(fā)展的新技術(shù),或指定一兩本課外參考書,使學(xué)生除了掌握計算機的基本原理和理論外,還能了解當前計算機的新進展、新技術(shù)。
在考核方式上適當增加實驗的比重,增加大作業(yè)、報告等考核形式,使考核形式更多樣化。
參考文獻
[1] 向琳,左德承,羅丹彥,張展,唐朔飛.“計算機設(shè)計與實踐”課程創(chuàng)新性實踐教學(xué)探索[J].計算機教育,2007,(3).
[2] 龔聲蓉,楊季文,朱巧明.強化實踐能力,培養(yǎng)計算機科學(xué)與技術(shù)專業(yè)工程型人才[J].計算機教育,2006,(2).