常瑞 何紅旗 黃浩煒 丁文博
摘要:從系統(tǒng)觀角度出發(fā),根據(jù)近年來(lái)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和計(jì)算機(jī)操作系統(tǒng)以及相關(guān)課程的教學(xué)經(jīng)歷與思考,對(duì)比國(guó)內(nèi)外名校計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程的教學(xué)內(nèi)容劃分與學(xué)時(shí)安排,從加強(qiáng)系統(tǒng)能力、構(gòu)建知識(shí)體系、教學(xué)內(nèi)容設(shè)計(jì)等方面提出一些思路,強(qiáng)調(diào)該課程教學(xué)中系統(tǒng)能力的培養(yǎng)。
關(guān)鍵詞:系統(tǒng)結(jié)構(gòu);系統(tǒng)能力;教學(xué)內(nèi)容
0、引言
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程是高等院校計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的一門(mén)重要專(zhuān)業(yè)核心課,在已具備基本的計(jì)算機(jī)軟、硬件知識(shí)基礎(chǔ)上,從軟、硬的總體設(shè)計(jì)角度出發(fā),研究如何改善計(jì)算機(jī)系統(tǒng)組織結(jié)構(gòu)以提高系統(tǒng)性能特別是應(yīng)用程序性能的方法,組織性?xún)r(jià)比高的計(jì)算機(jī)系統(tǒng),著重討論軟、硬件功能的分配以及如何最佳、最合理地實(shí)現(xiàn)分配給硬件的功能。該課程對(duì)于學(xué)生全面理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)、建立計(jì)算機(jī)整機(jī)的概念、了解軟硬件之間的關(guān)系、培養(yǎng)計(jì)算機(jī)系統(tǒng)分析設(shè)計(jì)及開(kāi)發(fā)能力都起到非常重要的作用。
1、加強(qiáng)系統(tǒng)能力培養(yǎng)
2013-2017年教育部高等學(xué)校計(jì)算機(jī)專(zhuān)業(yè)教學(xué)指導(dǎo)委員會(huì)制定的教學(xué)指導(dǎo)計(jì)劃中指出,計(jì)算機(jī)專(zhuān)業(yè)應(yīng)該培養(yǎng)的四大基本能力包括計(jì)算思維能力、算法設(shè)計(jì)與分析能力、程序設(shè)計(jì)與實(shí)現(xiàn)能力和系統(tǒng)能力。計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程應(yīng)從全局和系統(tǒng)的角度介紹進(jìn)行計(jì)算機(jī)系統(tǒng)設(shè)計(jì)所必須了解與掌握的專(zhuān)業(yè)知識(shí),培養(yǎng)學(xué)生的系統(tǒng)認(rèn)知、系統(tǒng)設(shè)計(jì)、系統(tǒng)開(kāi)發(fā)和系統(tǒng)應(yīng)用能力,這4方面就構(gòu)成了系統(tǒng)能力。四大基本能力及能力點(diǎn)分配見(jiàn)表1,每種基本能力都有相應(yīng)能力點(diǎn)的分配,其中系統(tǒng)能力占到75%。
當(dāng)前計(jì)算機(jī)專(zhuān)業(yè)學(xué)生最重要的是必須加強(qiáng)系統(tǒng)能力培養(yǎng)。相比其他專(zhuān)業(yè)學(xué)生的計(jì)算機(jī)基礎(chǔ)和應(yīng)用能力,計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的核心特點(diǎn)和需求是更強(qiáng)調(diào)計(jì)算機(jī)系統(tǒng)能力。其他工科專(zhuān)業(yè)(如通信工程、電子工程、自動(dòng)化專(zhuān)業(yè)等)也都開(kāi)設(shè)了一些與計(jì)算機(jī)相關(guān)的課程,如C++程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理、匯編語(yǔ)言等。如果把這些課程比作列車(chē)車(chē)廂,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)就是連接這些車(chē)廂的掛鉤和軌道。沒(méi)有掛鉤,車(chē)廂之間就孤立無(wú)聯(lián)系;沒(méi)有軌道,列車(chē)無(wú)以依托便無(wú)法馳騁。計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生區(qū)別于其他專(zhuān)業(yè)學(xué)生最重要的能力就是能否將這些課程所學(xué)內(nèi)容系統(tǒng)地聯(lián)系起來(lái),能否從總體結(jié)構(gòu)、系統(tǒng)分析這一角度研究計(jì)算機(jī)系統(tǒng)。
2、從系統(tǒng)層面構(gòu)建知識(shí)體系
ACM和IEEE/CS聯(lián)合工作組于2012年11月提交了具有指導(dǎo)意義的計(jì)算機(jī)科學(xué)課程教學(xué)參考計(jì)劃Computing Science Curricula 2013,其中明確指出計(jì)算機(jī)組織與體系結(jié)構(gòu)應(yīng)當(dāng)建立在深入理解計(jì)算機(jī)系統(tǒng)硬件環(huán)境與更高級(jí)的軟件層基礎(chǔ)上,要求學(xué)生理解計(jì)算機(jī)系統(tǒng)基本組成、特征、性能及其之間的關(guān)系,特別是現(xiàn)在和未來(lái)利用并行性所帶來(lái)的計(jì)算機(jī)系統(tǒng)性能的改進(jìn)。
通常計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程面向高年級(jí)本科生開(kāi)設(shè),其原因是該課程涉及與計(jì)算機(jī)軟、硬件相關(guān)的方方面面知識(shí),因此孤立學(xué)習(xí)這門(mén)課程不可取,必須從系統(tǒng)層面建立知識(shí)體系。課程體系既是一個(gè)整體,又應(yīng)當(dāng)連貫而有繼承性,能夠滿(mǎn)足本科以及更高層次的教學(xué)需求。
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程與相關(guān)課程共同構(gòu)成的教學(xué)體系如圖l所示。該體系所包含的知識(shí)應(yīng)當(dāng)涵蓋于計(jì)算機(jī)專(zhuān)業(yè)學(xué)生應(yīng)具備的知識(shí)體系中,其中虛線以下部分是針對(duì)本科2-4年級(jí)學(xué)生開(kāi)設(shè)的課程,虛線以上部分是針對(duì)本科以上層次開(kāi)設(shè)的相關(guān)課程,其中灰色部分課程是與計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程聯(lián)系最為緊密的課程群。
從系統(tǒng)層面構(gòu)建知識(shí)體系有利于高年級(jí)學(xué)生將所學(xué)知識(shí)立體化,形成科學(xué)完整的知識(shí)體系;注重課程之間的融合與銜接能促使學(xué)生真正做到融會(huì)貫通,領(lǐng)略到計(jì)算機(jī)專(zhuān)業(yè)最核心、最本質(zhì)的內(nèi)涵。
3、教學(xué)內(nèi)容劃分與學(xué)時(shí)安排
以課堂教學(xué)為主導(dǎo)的教學(xué)活動(dòng)中,教學(xué)內(nèi)容對(duì)學(xué)生學(xué)習(xí)興趣的培養(yǎng)至關(guān)重要,因此有必要對(duì)教學(xué)內(nèi)容進(jìn)行精心合理的設(shè)計(jì)。
目前解放軍信息工程大學(xué)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程的教學(xué)分為3個(gè)不同層次:一是計(jì)算機(jī)專(zhuān)業(yè)本科必修課程;二是針對(duì)研究生階段的高性能計(jì)算機(jī)體系結(jié)構(gòu);三是面向非計(jì)算機(jī)專(zhuān)業(yè)(電子工程專(zhuān)業(yè)、芯片專(zhuān)業(yè)等)開(kāi)設(shè)的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)選修課程。教師應(yīng)當(dāng)針對(duì)不同授課對(duì)象適當(dāng)調(diào)整教學(xué)內(nèi)容的學(xué)時(shí)安排,通過(guò)查閱網(wǎng)上公開(kāi)資源,將解放軍信息工程大學(xué)針對(duì)計(jì)算機(jī)專(zhuān)業(yè)本科開(kāi)設(shè)的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教學(xué)學(xué)時(shí)安排與美國(guó)加利福尼亞大學(xué)伯克利分校(UC Berkeley)、美國(guó)威斯康星大學(xué)(WISC)、國(guó)防科技大學(xué)等進(jìn)行對(duì)比,對(duì)比情況見(jiàn)表2。
從表2可以看出,我們對(duì)教學(xué)內(nèi)容的劃分與各大名校相比較為一致,結(jié)構(gòu)較為合理。其中國(guó)防科技大學(xué)和解放軍信息工程大學(xué)的高級(jí)專(zhuān)題主要是介紹多處理機(jī)系統(tǒng)、機(jī)群系統(tǒng)的基本工作原理,為研究生階段的后續(xù)課程學(xué)習(xí)打下基礎(chǔ)。美國(guó)加利福尼亞大學(xué)伯克利分校針對(duì)本科生開(kāi)設(shè)的高級(jí)專(zhuān)題部分占到總學(xué)時(shí)數(shù)(60學(xué)時(shí))的20%且內(nèi)容豐富,主要講授GPU體系結(jié)構(gòu)中的數(shù)據(jù)級(jí)并行、多核結(jié)構(gòu)下的線程級(jí)并行及相關(guān)內(nèi)容,對(duì)專(zhuān)題的拓展程度較為深入。美國(guó)威斯康星大學(xué)對(duì)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程僅就本科生階段分為3個(gè)層次,總學(xué)時(shí)70學(xué)時(shí),隨著課程不斷進(jìn)階,教師對(duì)講授內(nèi)容的延展程度和深入程度不斷加強(qiáng),高級(jí)專(zhuān)題涉及計(jì)算機(jī)系統(tǒng)的保護(hù)與安全、并行算法、并行檢測(cè)的原則、矢量化編譯器、互連網(wǎng)絡(luò)、陣列處理機(jī)、多處理器的同步、數(shù)據(jù)一致性、數(shù)據(jù)流計(jì)算機(jī)和其他特殊用途的處理器結(jié)構(gòu)等一系列知識(shí)。
解放軍信息工程大學(xué)自2012年針對(duì)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程實(shí)施教學(xué)改革以來(lái),把該課程的實(shí)驗(yàn)部分集中在寒暑假實(shí)踐周進(jìn)行,將課堂講授部分學(xué)時(shí)壓縮為36學(xué)時(shí)。與國(guó)防科技大學(xué)相比,尤其是與國(guó)外名校相比,我們更注重基礎(chǔ)知識(shí)的教學(xué),高級(jí)專(zhuān)題部分所占比重較少,計(jì)算機(jī)專(zhuān)業(yè)的其他課程中也存在類(lèi)似情況。
4、面向系統(tǒng)能力的教學(xué)內(nèi)容設(shè)計(jì)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程由于涉及多門(mén)計(jì)算機(jī)專(zhuān)業(yè)的軟、硬件課程,知識(shí)體系龐大,各門(mén)課程的教學(xué)內(nèi)容交叉多,對(duì)講授該門(mén)課程的教師要求很高,不僅要熟悉該課程內(nèi)容,還要準(zhǔn)確把握相關(guān)課程尤其是課程間的教學(xué)融合點(diǎn)。endprint
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)介紹了計(jì)算機(jī)系統(tǒng)的內(nèi)部工作原理以及軟硬件分界面的權(quán)衡策略,對(duì)計(jì)算機(jī)的整體性能進(jìn)行評(píng)價(jià)和改進(jìn),從而建立計(jì)算機(jī)軟硬件整機(jī)的概念。美國(guó)普渡大學(xué)fPurdueUniversity)計(jì)算機(jī)科學(xué)系資深教授科默fDouglasE,Comer)博士曾經(jīng)在他的著作中指出:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程將計(jì)算機(jī)軟硬件知識(shí)統(tǒng)一起來(lái),在許多計(jì)算機(jī)科學(xué)(Computer Science)的教學(xué)計(jì)劃中,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)是惟一一門(mén)能讓學(xué)生接觸到與編程相關(guān)的計(jì)算機(jī)結(jié)構(gòu)方面的課程。
表3列出了計(jì)算機(jī)組成原理、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、計(jì)算機(jī)操作系統(tǒng)等課程的教學(xué)融合點(diǎn),同時(shí)將不同課程的授課內(nèi)容進(jìn)行橫向?qū)Ρ?,旨在找到核心課程之間教學(xué)融合點(diǎn)的區(qū)別與聯(lián)系,使得課程銜接更加順暢,教學(xué)重點(diǎn)更加突出。
由表3可以看出,計(jì)算機(jī)組成原理(CP)強(qiáng)調(diào)基本運(yùn)行原理,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(CA)強(qiáng)調(diào)性能優(yōu)化方法,而操作系統(tǒng)(0s)則側(cè)重從系統(tǒng)軟件角度管理計(jì)算機(jī)軟硬件資源;Os多用軟件的方法解決問(wèn)題,CP則從硬件的角度思考問(wèn)題,cA在軟件和硬件之間權(quán)衡考慮后取一個(gè)折衷,討論具有最佳性?xún)r(jià)比的軟硬件資源分配方法以及軟硬件界面的劃分。
比如,教師在cP中講三大部件連接結(jié)構(gòu)時(shí)應(yīng)該在細(xì)化部件講授的基礎(chǔ)上講清楚最根本的全局通路,在CA中講結(jié)構(gòu)時(shí)應(yīng)該屏蔽硬件細(xì)節(jié),重點(diǎn)討論系統(tǒng)全局結(jié)構(gòu)和優(yōu)化方法。如果忽視全局概念,就容易陷入模塊化講授的誤區(qū),導(dǎo)致銜接出現(xiàn)斷層。
再比如,CP中在匯編級(jí)講清指令集接口,講清CA中匯編級(jí)的描述與cP的關(guān)系,而在cA中則要講清高級(jí)語(yǔ)言、編譯、操作系統(tǒng)和硬件結(jié)構(gòu)的關(guān)系以及性能分析中各方面帶來(lái)的影響,否則容易令學(xué)生對(duì)系統(tǒng)軟件層面產(chǎn)生誤解,弄不清流水線硬件結(jié)構(gòu)與指令集的關(guān)系。
教師在講授時(shí)應(yīng)采取不同的策略,從而達(dá)到不同的教學(xué)目的,面向系統(tǒng)能力的授課對(duì)教師本身就是一種挑戰(zhàn)。學(xué)生在教師指導(dǎo)下將新的教學(xué)內(nèi)容與之前所學(xué)課程的教學(xué)內(nèi)容聯(lián)系起來(lái),從而更容易把握關(guān)鍵點(diǎn),在已經(jīng)熟知或略有了解的知識(shí)領(lǐng)域換一種角度和思路展開(kāi)分析和研究,提高學(xué)習(xí)興趣。
面向系統(tǒng)能力進(jìn)行教學(xué)內(nèi)容設(shè)計(jì)可以讓學(xué)生更多地了解學(xué)習(xí)該課程的意義。計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程中的內(nèi)容有利于學(xué)生理解程序設(shè)計(jì)中不同選擇和取舍帶來(lái)的影響,從而提高程序的效率。學(xué)生通過(guò)學(xué)習(xí)硬件工作原理可以改善編程的過(guò)程,能夠更迅速地查明故障來(lái)源,從而減少程序中的錯(cuò)誤,而理解計(jì)算機(jī)的工作原理與系統(tǒng)結(jié)構(gòu)則有助于學(xué)生今后從事系統(tǒng)級(jí)的程序開(kāi)發(fā)或參與設(shè)計(jì)一個(gè)真實(shí)的計(jì)算機(jī)系統(tǒng)。
5、結(jié)語(yǔ)
教師總結(jié)教學(xué)中的問(wèn)題并加以思考,有助于全面了解教學(xué)過(guò)程。高校中的教與學(xué)可以看作是一種學(xué)術(shù)活動(dòng),教師需要不斷地對(duì)學(xué)生以及學(xué)生的學(xué)習(xí)情況進(jìn)行研究,不斷做新的嘗試,與學(xué)生共同完成教與學(xué)的全過(guò)程。在教與學(xué)的互動(dòng)過(guò)程中,教學(xué)內(nèi)容對(duì)學(xué)生學(xué)習(xí)興趣的培養(yǎng)、學(xué)習(xí)熱情的激發(fā)、學(xué)習(xí)效果的正向影響都起到至關(guān)重要的作用,如何設(shè)計(jì)科學(xué)合理且有吸引力的教學(xué)內(nèi)容,值得我們思考并不斷探索。筆者從系統(tǒng)觀角度出發(fā)研究計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程教學(xué)內(nèi)容的設(shè)計(jì),在教學(xué)內(nèi)容的完整性及與前沿領(lǐng)域的結(jié)合方面尚有不盡完善之處,希望能夠與同行分享并共同探討。endprint