姜晶菲 肖 儂 王志英 陸洪毅
摘要:“計(jì)算機(jī)體系結(jié)構(gòu)”課程是計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)專業(yè)的一門重要的專業(yè)基礎(chǔ)課、必修課,是全國精品課程。本文詳細(xì)介紹了“計(jì)算機(jī)體系結(jié)構(gòu)”的課程建設(shè)概況、教學(xué)內(nèi)容特點(diǎn)、教學(xué)體系、實(shí)驗(yàn)設(shè)計(jì),并探討了課程教學(xué)內(nèi)容改革的方向和做法。本課程建設(shè)始終堅(jiān)持緊跟國際一流、注重實(shí)踐性教學(xué)、建立完整的培養(yǎng)體系等思路,取得了很好的建設(shè)效果。
關(guān)鍵詞:體系結(jié)構(gòu);實(shí)驗(yàn)設(shè)計(jì);內(nèi)容協(xié)調(diào);教學(xué)內(nèi)容更新
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
“計(jì)算機(jī)體系結(jié)構(gòu)”課程是計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)專業(yè)的一門重要的專業(yè)基礎(chǔ)課、必修課,是我校重點(diǎn)建設(shè)的骨干課程,為2005年全國、全軍精品課程。使能技術(shù)的進(jìn)步極大推動(dòng)計(jì)算機(jī)體系結(jié)構(gòu)的創(chuàng)新,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)是我單位開展科學(xué)研究的重點(diǎn)方向,也受到我單位工程任務(wù)的需求推動(dòng)和未來業(yè)務(wù)部門對(duì)綜合人才的需求推動(dòng)。多年來,該課程結(jié)合我單位科研優(yōu)勢(shì),緊跟先進(jìn)技術(shù)發(fā)展,始終保持課程建設(shè)整體先進(jìn)水平。
圖1顯示了本學(xué)科“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”教學(xué)體系中的骨干課程,“計(jì)算機(jī)體系結(jié)構(gòu)”為其中的重點(diǎn)和綜合課程,該課程在知識(shí)培養(yǎng)的角度,從全局和系統(tǒng)的角度介紹計(jì)算機(jī)系統(tǒng)設(shè)計(jì)所必須了解與掌握的專業(yè)知識(shí),培養(yǎng)學(xué)生的系統(tǒng)設(shè)計(jì)、系統(tǒng)分析、系統(tǒng)集成和系統(tǒng)評(píng)估的能力;在人才
培養(yǎng)的角度,以培養(yǎng)能夠設(shè)計(jì)計(jì)算機(jī)系統(tǒng)的專業(yè)人才、能系統(tǒng)應(yīng)用計(jì)算機(jī)系統(tǒng)的專業(yè)人才、能全面評(píng)價(jià)計(jì)算機(jī)系統(tǒng)
的專業(yè)人才和能從體系結(jié)構(gòu)的角度管理計(jì)算機(jī)系統(tǒng)的專業(yè)人才為指導(dǎo)目標(biāo)。
本文根據(jù)本課程建設(shè)內(nèi)容及問題展開探討,以該課程本科教學(xué)為核心,詳細(xì)介紹課程建設(shè)情況及改革思考,以求交流同行經(jīng)驗(yàn),促進(jìn)課程建設(shè)更快發(fā)展。
2課程內(nèi)容和建設(shè)特點(diǎn)
“計(jì)算機(jī)體系結(jié)構(gòu)”本科教學(xué)時(shí)長(zhǎng)為56學(xué)時(shí),內(nèi)容包括計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)概念及發(fā)展、計(jì)算機(jī)指令集結(jié)構(gòu)設(shè)計(jì)、流水線技術(shù)及指令級(jí)并行高級(jí)技術(shù)、存儲(chǔ)層次、輸入輸出系統(tǒng)設(shè)計(jì)、向量處理機(jī)及多處理機(jī)系統(tǒng)、課內(nèi)實(shí)驗(yàn)共八部分內(nèi)容,其中重點(diǎn)講授內(nèi)容為指令級(jí)并行ILP技術(shù)和存儲(chǔ)層次。前者是計(jì)算機(jī)體系結(jié)構(gòu)中的經(jīng)典問題,流水、并行等設(shè)計(jì)思想在結(jié)構(gòu)設(shè)計(jì)中隨處可見;后者為體系結(jié)構(gòu)設(shè)計(jì)中的瓶頸問題,存在很多軟硬件優(yōu)化折中方法,也是系統(tǒng)成敗的關(guān)鍵。
本課程內(nèi)容以軟硬件接口——指令集結(jié)構(gòu)為開端,強(qiáng)調(diào)通過這門課理清軟硬件關(guān)系和相互作用;以微處理器體系結(jié)構(gòu)和相關(guān)經(jīng)典技術(shù)為主線,強(qiáng)調(diào)硬件設(shè)計(jì)能力和系統(tǒng)軟件分析應(yīng)用能力的培養(yǎng);始終貫徹量化方法,強(qiáng)調(diào)系統(tǒng)評(píng)價(jià)能力的培養(yǎng);逐步增強(qiáng)并行處理內(nèi)容,緊跟技術(shù)發(fā)展趨勢(shì),并強(qiáng)調(diào)并行處理技術(shù)在各類并行結(jié)構(gòu)中的體現(xiàn)(如多核、數(shù)據(jù)并行處理陣列、可重構(gòu)陣列等)。
課程教學(xué)內(nèi)容的確定經(jīng)過多方面論證。本課程與“計(jì)算機(jī)原理”課程內(nèi)容銜接,共同覆蓋了ACM/IEEE-CS中“體系結(jié)構(gòu)和組織”相關(guān)標(biāo)準(zhǔn),以及考研大綱所有內(nèi)容。課程內(nèi)容更偏重強(qiáng)調(diào)培養(yǎng)學(xué)生“設(shè)計(jì)計(jì)算機(jī)”、“評(píng)價(jià)計(jì)算機(jī)”的素養(yǎng),與國際一流大學(xué)UC Berkeley、Stanford、WISC、MIT等以及國內(nèi)一流大學(xué)相關(guān)專業(yè)接軌,參照國內(nèi)外權(quán)威教學(xué)內(nèi)容,教學(xué)內(nèi)容每年都得到及時(shí)更新,科學(xué)地處理經(jīng)典與現(xiàn)代的關(guān)系,保持了教學(xué)內(nèi)容的先進(jìn)性、系統(tǒng)性。
3本碩博培養(yǎng)體系
“計(jì)算機(jī)體系結(jié)構(gòu)”教學(xué)在本學(xué)科具有本碩博層次完整的人才培養(yǎng)體系,本專業(yè)在本科、碩士、博士三個(gè)階段均開設(shè)“計(jì)算機(jī)體系結(jié)構(gòu)”作為必修課,三個(gè)階段在教學(xué)內(nèi)容、手段和方法上具有緊密的聯(lián)系。
本科階段主要講述單核處理器流水線關(guān)鍵技術(shù),要求學(xué)生全面掌握流水線、存儲(chǔ)和I/O等計(jì)算機(jī)體系結(jié)構(gòu)核心內(nèi)容,強(qiáng)調(diào)全局平衡的設(shè)計(jì)思想和量化分析的方法,主要培養(yǎng)對(duì)計(jì)算機(jī)體系結(jié)構(gòu)的理解和分析能力,具備簡(jiǎn)單流水線設(shè)計(jì)能力。碩士階段主要講述各類指令級(jí)并行先進(jìn)技術(shù)和并行處理結(jié)構(gòu)關(guān)鍵技術(shù),要求深入流水線設(shè)計(jì)實(shí)現(xiàn)技術(shù)和多處理系統(tǒng)高級(jí)技術(shù),強(qiáng)調(diào)技術(shù)的綜合應(yīng)用、性能和設(shè)計(jì)復(fù)雜性折中,以及量化分析方法。這一階段主要強(qiáng)調(diào)設(shè)計(jì)思想和具體實(shí)現(xiàn)技術(shù)的結(jié)合,培養(yǎng)復(fù)雜系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)能力和綜合分析能力。博士階段主要探討體系結(jié)構(gòu)前沿新技術(shù),在教學(xué)上要求研究算法的軟硬件實(shí)現(xiàn)和性能平衡,強(qiáng)調(diào)具體問題求解中的體系結(jié)構(gòu)綜合設(shè)計(jì)問題及性能度量,強(qiáng)調(diào)系統(tǒng)規(guī)劃思想,培養(yǎng)對(duì)全系統(tǒng)的設(shè)計(jì)能力和評(píng)價(jià)能力。
在實(shí)驗(yàn)安排上,本碩博堅(jiān)持基于同一硬件設(shè)計(jì)體系和平臺(tái)展開,如本科階段對(duì)流水線進(jìn)行初步設(shè)計(jì),碩博士階段強(qiáng)調(diào)指令級(jí)調(diào)度復(fù)雜算法的實(shí)驗(yàn)和復(fù)雜流水線設(shè)計(jì)實(shí)現(xiàn)等。在教研方法上,本科以講授為主,討論為輔,多以成熟經(jīng)驗(yàn)為例,學(xué)生成組實(shí)驗(yàn)和完成大作業(yè),強(qiáng)調(diào)集體啟發(fā)和開放思維;碩士以講授、討論各半,多以教師在研工程為講授實(shí)例,學(xué)生獨(dú)立完成大作業(yè),成組實(shí)驗(yàn),強(qiáng)調(diào)小團(tuán)隊(duì)協(xié)同和集中攻關(guān);博士以研討為主,講授為輔,細(xì)化研究方向,獨(dú)立實(shí)驗(yàn),強(qiáng)調(diào)個(gè)體思考和深化研究。
4實(shí)驗(yàn)設(shè)計(jì)
“計(jì)算機(jī)體系結(jié)構(gòu)”課程抽象理論較多,因此一直強(qiáng)調(diào)實(shí)踐教學(xué),課程實(shí)驗(yàn)是學(xué)生加深對(duì)課堂知識(shí)理解,鍛煉綜合運(yùn)用能力的主要途徑。經(jīng)過多年摸索,本課程形成了三階分層次實(shí)驗(yàn)體系,詳述如下。
一階實(shí)驗(yàn)內(nèi)容為基于DLX模擬器設(shè)計(jì)矩陣乘法算法,并在WinDLX模擬器上對(duì)觀察算法流水執(zhí)行狀態(tài),評(píng)估算法性能,針對(duì)三大相關(guān)對(duì)算法進(jìn)行優(yōu)化。該實(shí)驗(yàn)由每個(gè)學(xué)生在4~6個(gè)實(shí)驗(yàn)學(xué)時(shí)獨(dú)立完成,旨在全面鍛煉學(xué)生流水線分析和應(yīng)用的能力,加強(qiáng)對(duì)流水線關(guān)鍵技術(shù)的直觀理解。
二階實(shí)驗(yàn)內(nèi)容為流水線和存儲(chǔ)系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)。該實(shí)驗(yàn)采用Verilog語言設(shè)計(jì)具有簡(jiǎn)單Cache、存控接口等的多級(jí)流水線結(jié)構(gòu),支持基本指令集的運(yùn)行,得出性能和代價(jià)分析。囿于課時(shí)的限制,實(shí)驗(yàn)利用2個(gè)實(shí)驗(yàn)學(xué)時(shí)進(jìn)行要求、環(huán)境和設(shè)計(jì)啟發(fā)等的講解,由學(xué)生分小組主要在課下完成具體設(shè)計(jì)。每組學(xué)生的基本要求是設(shè)計(jì)具有多段流水的指控結(jié)構(gòu),或具有兩級(jí)層次的存儲(chǔ)子系統(tǒng)結(jié)構(gòu),得出正確模擬結(jié)果;進(jìn)一步的要求是完成可綜合的帶有Cache子系統(tǒng)的流水線結(jié)構(gòu)設(shè)計(jì),解決相關(guān),進(jìn)行全面性能分析。該實(shí)驗(yàn)旨在全面鍛煉了學(xué)生綜合項(xiàng)目硬件設(shè)計(jì)能力和創(chuàng)新協(xié)作能力。
三階實(shí)驗(yàn)針對(duì)有興趣和設(shè)計(jì)能力的學(xué)生成立創(chuàng)新小組來開展,完成基于自研高性能嵌入式并行開發(fā)平臺(tái)的底層控制和應(yīng)用開發(fā),包括典型CPU功能及其控制機(jī)理分析、基于非易失存儲(chǔ)器的系統(tǒng)啟動(dòng)流程設(shè)計(jì)、存儲(chǔ)子系統(tǒng)時(shí)序調(diào)試和性能評(píng)估、典型I/O接口的驅(qū)動(dòng)設(shè)計(jì)等,該實(shí)驗(yàn)旨在在系統(tǒng)層面上進(jìn)一步鍛煉學(xué)生的軟硬件綜合分析和設(shè)計(jì)能力。
上述各階實(shí)驗(yàn)?zāi)茼樌归_得益于課程組多年的教學(xué)積累和實(shí)驗(yàn)條件的不斷完善,在實(shí)驗(yàn)設(shè)計(jì)的過程中,我們堅(jiān)持結(jié)合科研工作經(jīng)驗(yàn)設(shè)計(jì)實(shí)驗(yàn)問題,堅(jiān)持模擬驗(yàn)證型實(shí)驗(yàn)和設(shè)計(jì)型實(shí)驗(yàn)有機(jī)結(jié)合,以適應(yīng)各個(gè)層次學(xué)生培養(yǎng)目標(biāo),并使課程大作業(yè)和實(shí)驗(yàn)題目有機(jī)結(jié)合,做到知識(shí)內(nèi)容從始至終貫通,在實(shí)驗(yàn)考核的過程中,堅(jiān)持以多種多樣的方式評(píng)價(jià)實(shí)驗(yàn)效果,如現(xiàn)場(chǎng)運(yùn)行檢查、實(shí)驗(yàn)報(bào)告互評(píng)等。
從實(shí)施效果來看,學(xué)生參與實(shí)驗(yàn)的積極性很高,學(xué)生的創(chuàng)造力和綜合思維能力得到了極大的啟發(fā),學(xué)生主動(dòng)學(xué)習(xí)和研究的熱情高漲,對(duì)本課程達(dá)到培養(yǎng)研究和應(yīng)用綜合性人才的目標(biāo)起到了很好的推進(jìn)作用。
5教學(xué)改革探討
5.1與“計(jì)算機(jī)原理”的內(nèi)容劃分及協(xié)調(diào)
不斷改革是“計(jì)算機(jī)體系結(jié)構(gòu)”緊跟技術(shù)發(fā)展趨勢(shì),適應(yīng)教學(xué)要求的關(guān)鍵。國內(nèi)一些相關(guān)專業(yè)中,并未在本科階段開設(shè)體系結(jié)構(gòu)課,而是在“計(jì)算機(jī)原理”中涵蓋部分體系結(jié)構(gòu)內(nèi)容,本專業(yè)“計(jì)算機(jī)原理”和“計(jì)算機(jī)體系結(jié)構(gòu)”共同覆蓋CCS計(jì)算機(jī)組織與系統(tǒng)結(jié)構(gòu)要求內(nèi)容,并進(jìn)行足夠的深入。如何合理劃分兩門課內(nèi)容是課程教學(xué)組織過程中要關(guān)注的主要問題之一。
表1詳細(xì)顯示了本專業(yè)計(jì)算機(jī)原理(簡(jiǎn)稱CP)和計(jì)算機(jī)體系結(jié)構(gòu)(簡(jiǎn)稱CA)在教學(xué)內(nèi)容上的劃分和目的上的不同。
從表1中看出,兩門課程講授的方面和角度有一定相似,如I/O系統(tǒng)、CPU控制器、存儲(chǔ)部件等。為了分層次、足夠深入和明確地在這兩門課講授清楚關(guān)鍵內(nèi)容,我們對(duì)上述內(nèi)容劃分的思路是:首先,在CP中主要強(qiáng)調(diào)基本運(yùn)行原理,而在CA強(qiáng)調(diào)性能優(yōu)化方法。其次,CP在細(xì)化部件講授的基礎(chǔ)上講清最基本的全局通路;CA屏蔽部件細(xì)節(jié),重點(diǎn)討論系統(tǒng)全局結(jié)構(gòu)和優(yōu)化方法,呼應(yīng)CP所講授的內(nèi)容,理清關(guān)系。這樣可保證兩門課程的一致性和全局概念的的統(tǒng)一避免出現(xiàn)銜接斷層。再次,CA強(qiáng)調(diào)貫通原理、體系結(jié)構(gòu)和系統(tǒng)軟件方面的銜接,講清高級(jí)語言、編譯、操作系統(tǒng)和硬件結(jié)構(gòu)的關(guān)系,及性能分析中各方面的影響,避免對(duì)軟件層面的忽視。
5.2教學(xué)內(nèi)容改革
計(jì)算機(jī)科學(xué)與技術(shù)是一種知識(shí)更新速度快,技術(shù)發(fā)展非常蓬勃的學(xué)科,技術(shù)的不斷進(jìn)步要求課程教學(xué)內(nèi)容的不斷更新,如何在教學(xué)內(nèi)容中體現(xiàn)先進(jìn)技術(shù),并在有限的課時(shí)內(nèi)協(xié)調(diào)好經(jīng)典知識(shí)和先進(jìn)技術(shù)的講授關(guān)系,是教學(xué)改革要關(guān)注的問題。
根據(jù)新技術(shù)發(fā)展,近年來我們逐步考慮從以下幾個(gè)方面對(duì)經(jīng)典體系結(jié)構(gòu)內(nèi)容進(jìn)行更新:
(1) 多核技術(shù):深化并行處理技術(shù)的理解;
(2) 虛擬機(jī):為存儲(chǔ)層次內(nèi)容中“虛存及保護(hù)”的深化;
(3) 復(fù)雜存儲(chǔ)系統(tǒng):包括多級(jí)存儲(chǔ)層次及新型存儲(chǔ)結(jié)構(gòu),為存儲(chǔ)層次的深化;
(4) 先進(jìn)互連技術(shù):為先進(jìn)I/O、并行處理的關(guān)鍵支撐技術(shù)之一。
上述每部分內(nèi)容都是計(jì)算機(jī)體系結(jié)構(gòu)技術(shù)研究的重要方向,內(nèi)容都很多,怎樣簡(jiǎn)化主線,使這些復(fù)雜技術(shù)與經(jīng)典體系結(jié)構(gòu)知識(shí)點(diǎn)相融合,是教學(xué)內(nèi)容改革的主要任務(wù),我們的做法是:
(1) 講授多核技術(shù)從其硬件結(jié)構(gòu)模型、編程模型的挑戰(zhàn)、片上實(shí)現(xiàn)的多處理結(jié)構(gòu)而導(dǎo)致的性價(jià)折中等方面入手,重點(diǎn)分析多核結(jié)構(gòu)與傳統(tǒng)并行處理結(jié)構(gòu)的異同,以加強(qiáng)對(duì)并行處理本質(zhì)的理解。
(2) 講授虛擬機(jī)側(cè)重于闡述虛擬機(jī)概念及其存儲(chǔ)保護(hù)的作用。
(3) 講授復(fù)雜存儲(chǔ)系統(tǒng)側(cè)重于闡述在經(jīng)典存儲(chǔ)層次差異變小情況下,網(wǎng)絡(luò)化存儲(chǔ)、由新型存儲(chǔ)介質(zhì)構(gòu)成的混合存儲(chǔ)結(jié)構(gòu)對(duì)性能的影響。
(4) 講授先進(jìn)互連技術(shù)則關(guān)注互連通信問題及新型總線對(duì)互連結(jié)構(gòu)發(fā)展的影響等。
教學(xué)內(nèi)容中對(duì)新技術(shù)的補(bǔ)充有時(shí)是把“雙刃劍”,教學(xué)內(nèi)容既要跟上技術(shù)的發(fā)展,使知識(shí)不致落伍,又要保證教給學(xué)生的是立足于經(jīng)典知識(shí)的思維方法,而不是熟練某些技術(shù)細(xì)節(jié)。因此,在內(nèi)容改革中要立足新技術(shù)與經(jīng)典知識(shí)的融合,及思維方法的提煉。
6結(jié)語
“計(jì)算機(jī)體系結(jié)構(gòu)”經(jīng)過多年的建設(shè),取得了良好的建設(shè)成果,形成了由專家教授、青年骨干教師組成的強(qiáng)大的師資隊(duì)伍,建立了完善的網(wǎng)上教學(xué)系統(tǒng),依托科研優(yōu)勢(shì)不斷豐富教學(xué)內(nèi)容。在學(xué)員評(píng)價(jià)和后續(xù)跟蹤調(diào)查中,有學(xué)生評(píng)價(jià)本課程:“站在系統(tǒng)設(shè)計(jì)師的角度從更宏觀的方面認(rèn)識(shí)了計(jì)算機(jī),并加強(qiáng)了對(duì)具體設(shè)計(jì)問題的理解、判斷和把握”、“從科研實(shí)例中獲取了豐富的對(duì)抽象理論和技術(shù)的實(shí)踐佐證,感覺受到了科班訓(xùn)練”;在學(xué)生參與的相關(guān)創(chuàng)新競(jìng)賽中,本課程的知識(shí)基礎(chǔ)起到重要作用,在大型科研和工程項(xiàng)目中,相關(guān)調(diào)查反映表明學(xué)生體系結(jié)構(gòu)基礎(chǔ)較為扎實(shí),分析問題、解決問題和動(dòng)手實(shí)踐的能力比較高,進(jìn)入工程和科學(xué)研究的速度快。
計(jì)算機(jī)技術(shù)的發(fā)展推動(dòng)著我們需不斷進(jìn)行課程建設(shè)改革,我們希望以往建設(shè)方式和做法能繼續(xù)給未來的改革提供指導(dǎo),也能給其他院校的相關(guān)課程提供交流借鑒的內(nèi)容。
參考文獻(xiàn):
[1]John L. Hennessy, David A. Patterson. Computer Architecture:A Quantitative Approach[M]. 4th ed. San Mateo, CA: Morgan Kaufmann Publishers,2007.
[2] 張晨曦,王志英,張春元,等. 計(jì)算機(jī)體系結(jié)構(gòu)[M]. 2版. 北京:高等教育出版社,2005.
[3] 王寶恒,肖曉強(qiáng),張春元,等. 計(jì)算機(jī)原理與設(shè)計(jì)[M]. 北京:高等教育出版社,2005.