文章編號(hào):1672-5913(2008)20-0041-02
摘 要:本文對(duì)高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)課程中引入多核技術(shù)做了詳細(xì)的介紹,分析了該課程中增加多核內(nèi)容的作用、優(yōu)勢(shì)和預(yù)期目標(biāo),并探討了適應(yīng)研究生學(xué)習(xí)的教學(xué)模式。
關(guān)鍵詞:多核;教學(xué)模式;考核方式
中圖分類號(hào):G642
文獻(xiàn)標(biāo)識(shí)碼:B
1 引言
“高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)”課程是針對(duì)計(jì)算機(jī)專業(yè)的研究生開設(shè)的,主要以計(jì)算機(jī)性能的量化方法來闡述計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu)。學(xué)習(xí)本門課程之前,需要具備計(jì)算機(jī)專業(yè)本科的“計(jì)算機(jī)體系結(jié)構(gòu)”和“計(jì)算機(jī)組成原理與匯編程序設(shè)計(jì)”課程的相關(guān)知識(shí)。作者在2008年4月參加了清華大學(xué)舉辦的多核技術(shù)培訓(xùn)研討班,所在學(xué)?,F(xiàn)已加入“英特爾多核技術(shù)大學(xué)計(jì)劃”,將通過多核技術(shù)大學(xué)課程項(xiàng)目以及多核技術(shù)聯(lián)合科研項(xiàng)目等方面的合作,培養(yǎng)更多的科技創(chuàng)新人才。通過學(xué)習(xí),我院對(duì)多核的概念和技術(shù)有了一定的理解,經(jīng)過仔細(xì)的研究和討論,結(jié)合一些以前的教學(xué)和科研工作,2008年春季在計(jì)算機(jī)專業(yè)研究生開設(shè)的“高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)”課程中對(duì)多核技術(shù)內(nèi)容的引入做了一些嘗試。
多核知識(shí)的引入有兩種方式,一種為單獨(dú)開設(shè)課程,一種為改造現(xiàn)有課程體系。在本課程中,主要是在原有的課程內(nèi)容中增加多核技術(shù)的相關(guān)介紹,下面就課程的一些相關(guān)內(nèi)容、多核技術(shù)引入和預(yù)期目標(biāo)進(jìn)行闡述。
2 課程內(nèi)容安排
首先,選修本課程必須具備計(jì)算機(jī)專業(yè)本科的“計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)”課程的知識(shí),本課程的參考教材以John L.Hennessy, David A.Patterson編著的Computer Architecture -- A Quantitative Approach (Fourth Edition)為主,該書是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)領(lǐng)域的經(jīng)典著作;同時(shí)由于書中的大部分實(shí)例均以MIPS體系結(jié)構(gòu)為基礎(chǔ),因此在課程講授的第二章內(nèi)容以Dominic Sweetman編著的See MPIS Run (Second Edition)為主;多核方面的知識(shí)則以清華大學(xué)出版社出版的第一本多核技術(shù)教材為參考,此書是多核系列教材編寫組2007年編著的《多核程序設(shè)計(jì)》,是一本結(jié)構(gòu)清晰、內(nèi)容豐富的教材。
在課程講授過程中,注重理論結(jié)合實(shí)例進(jìn)行講解。在幾個(gè)關(guān)鍵問題上,例如Amdahl定律、Tomasulo算法、指令級(jí)并行和推測(cè)技術(shù)幾個(gè)方面,均有大量實(shí)例和程序?qū)ο嚓P(guān)理論進(jìn)行進(jìn)一步講述,使學(xué)生對(duì)相關(guān)的抽象知識(shí)能以量化的方法來掌握,并取得了很好的效果。
本門課程是第一次開設(shè),有兩個(gè)課堂,一個(gè)課堂是計(jì)算機(jī)學(xué)院的研究生,有11人選課,另有5~6人旁聽;另一個(gè)課堂是軟件學(xué)院的研究生,有26人選課,在本次課程中直接受益的有40人左右。
在32學(xué)時(shí)的教學(xué)中,課時(shí)安排如表1所示。
表1“高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)”課程安排
3 教學(xué)模式
教學(xué)模式是進(jìn)行教學(xué)工作設(shè)計(jì)的基本思路框架和技術(shù)方法與范式,是長(zhǎng)期的實(shí)踐經(jīng)驗(yàn)和理論實(shí)驗(yàn)研究的總結(jié)和概念化,也是課堂教學(xué)取得最佳效果的技術(shù)保障。本門課程的授課對(duì)象是研究生,研究生是一個(gè)充滿創(chuàng)造力的學(xué)生群體,因此充分調(diào)動(dòng)和激活師生共同參與教學(xué)活動(dòng)的積極性、主動(dòng)性和創(chuàng)造性,是本門課程的基本思路和目標(biāo)。
課堂教學(xué)中主要從以下幾個(gè)方面具體實(shí)施:
(1) 以學(xué)生為主
在傳統(tǒng)的教學(xué)中,基本是教師在整個(gè)課堂上進(jìn)行講授,對(duì)于一些抽象難懂的課程,往往很難調(diào)動(dòng)學(xué)生的興趣,而興趣是學(xué)生學(xué)習(xí)的最大動(dòng)力。在“高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)”課程中,堅(jiān)持以學(xué)生為中心的思想,針對(duì)一些在本科時(shí)所學(xué)過的“計(jì)算機(jī)體系結(jié)構(gòu)”知識(shí),經(jīng)常以相關(guān)知識(shí)引導(dǎo)學(xué)生進(jìn)行深入理解,同時(shí)也提高了學(xué)生的自信心,更好地實(shí)現(xiàn)自我。
(2) 以啟發(fā)為主
啟發(fā)式教學(xué)是培養(yǎng)創(chuàng)新型人才的重要方法。在教學(xué)過程中應(yīng)引導(dǎo)學(xué)生在學(xué)習(xí)過程中主動(dòng)地提出問題,主動(dòng)地思考問題,主動(dòng)去發(fā)現(xiàn)、去探索,教師在培養(yǎng)學(xué)生的批判性思維與探索精神的同時(shí),做到教學(xué)相長(zhǎng)。例如,在講授多處理器的Cache一致性問題時(shí),可以引導(dǎo)學(xué)生積極思考,提出問題,思考多核處理器中Cache一致性問題如何解決,并鼓勵(lì)學(xué)生積極查閱相關(guān)資料,進(jìn)行討論式學(xué)習(xí),以期收到更好的效果。
(3) 以互動(dòng)為主
“互動(dòng)教學(xué)法”是教師與學(xué)生之間,學(xué)生與學(xué)生之間,課內(nèi)與課外之間,師生互相活動(dòng),互相討論,互相觀摩,互相交流,互相學(xué)習(xí)的一種教學(xué)模式,現(xiàn)在還包括了網(wǎng)上交流的方式。其中在課堂上老師對(duì)學(xué)生設(shè)問,學(xué)生對(duì)老師提問是主要的方式。學(xué)生必須經(jīng)過獨(dú)立思考、反復(fù)琢磨才能提出切合實(shí)際的問題。老師為了解答學(xué)生的提問,也必須設(shè)計(jì)出學(xué)生可能提出的各種各樣問題,這對(duì)老師的備課又提出了更高的要求。這種方式有利于培養(yǎng)學(xué)生的思維能力和分析問題的能力。
4 多核技術(shù)的引入與探討
多核內(nèi)容的引入在本門課程中是一種嘗試,預(yù)期目標(biāo)是能夠使學(xué)生更好地適應(yīng)飛速到來的多核時(shí)代。一個(gè)芯片上集成多核的系統(tǒng)將對(duì)資源的分配、核心互聯(lián)、多核技術(shù)編程方法等帶來巨大的影響,通過向?qū)W生介紹多核概念、多核技術(shù)以及其帶來的挑戰(zhàn),可以激發(fā)學(xué)生的學(xué)習(xí)和研究興趣,從而使研究生更好地開展進(jìn)一步的科研工作。經(jīng)過仔細(xì)地研究和考慮,在本門課程中有限的課時(shí)里增加多核的幾個(gè)方面的內(nèi)容,一是多核概念;二是多核處理器的Cache一致性;三是多核/多線程技術(shù)。
多核概念的介紹主要包括單核、雙核、多核、同構(gòu)多核和異構(gòu)多核幾種,并分別給出實(shí)際機(jī)型的示例,對(duì)多核技術(shù)的研究現(xiàn)狀、操作系統(tǒng)對(duì)多核的支持等方面均做了不同程度的講解。多核處理器的Cache一致性是參考清華的培訓(xùn)資料進(jìn)行講解的,主要介紹多核中多個(gè)Cache不一致的原因、監(jiān)聽總線協(xié)議、基于目錄的Cache一致性協(xié)議以及多核的三種Cache一致性策略。多核的三種Cache一致性策略包括采用Write-Through策略的Cache、采用Write-Back策略的Cache和采用Write-Once策略的Cache。多核/多線程技術(shù)中,首先介紹二者的具體區(qū)別,即多核、多處理器系統(tǒng)中的每個(gè)核,同時(shí)間內(nèi)可以執(zhí)行各自不同的線程;一個(gè)具有多線程能力的處理器,無論是支持二線程、四線程、八線程,這些線程都必須是在同一個(gè)行程內(nèi),所以一個(gè)核還是只能執(zhí)行一個(gè)線程,雙核處理器就能夠同時(shí)執(zhí)行兩個(gè)不同的線程,四核就可以同時(shí)不同的四個(gè)線程。在講解多線程/多核CPU的設(shè)計(jì)方法的基礎(chǔ)上,鼓勵(lì)學(xué)生自行參考計(jì)算機(jī)原理和計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的實(shí)驗(yàn)環(huán)境完成多線程/多核CPU的邏輯功能模擬。
5 考核方式
由于課程是針對(duì)研究生的,所以對(duì)學(xué)生的考核與本科生的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程有很大的不同。本課程更注重學(xué)生的上課表現(xiàn)、查閱資料和論文的表達(dá)能力,從這幾個(gè)方面對(duì)學(xué)生作出全面的評(píng)價(jià)。具體而言,包括四個(gè)部分的成績(jī):
(1) 考勤及上課表現(xiàn):占總成績(jī)的20%;
(2) Tomasulo算法的理解:占總成績(jī)的20%;
(3) Cache一致性問題:占總成績(jī)的30%;
(4) 多核技術(shù)挑戰(zhàn):占總成績(jī)的30%。
在第一項(xiàng)中,主要看重的是學(xué)生在上課期間的回答問題、提出問題以及解決問題的思路和能力。對(duì)于小班上課,基本上學(xué)生的出勤可以保證,所以在課堂上的表現(xiàn)是他們得分的關(guān)鍵,也是對(duì)他們口頭表達(dá)和思維能力的一個(gè)很好的訓(xùn)練。對(duì)課堂上積極提出問題、積極思考的同學(xué)將及時(shí)給予鼓勵(lì)和肯定,引導(dǎo)他們更深層次地理解相關(guān)的知識(shí)。
后三項(xiàng)均以報(bào)告或論文的形式來體現(xiàn),并且在布置的時(shí)候有這樣幾項(xiàng)要求:給出大題目,具體的小題目由學(xué)生自行擬定;字?jǐn)?shù)不限;以論文的格式書寫;不能照搬照抄書中和網(wǎng)上的內(nèi)容。
從學(xué)生上交的論文發(fā)現(xiàn),在對(duì)Tomasulo算法的理解上,大部分同學(xué)都能在上課講解的示例基礎(chǔ)上,從對(duì)理論的闡述到具體示例,能準(zhǔn)確地表達(dá)自己的觀點(diǎn)。由于這個(gè)算法可查閱的相關(guān)資料很少,所以也要求學(xué)生必須在報(bào)告中融入自己的觀點(diǎn),并參考書中的示例自行分析相關(guān)示例來論證Tomasulo算法的優(yōu)勢(shì)。在Cache一致性問題上,沒有限定學(xué)生必須論述多核處理器的Cahce一致性,這樣就給了學(xué)生一定的發(fā)揮空間,有的同學(xué)詳細(xì)地分析了單處理器的Cahce一致性,有的同學(xué)闡述了多處理器的Cahce一致性,還有的同學(xué)將幾類處理器以及多核處理器的Cahce一致性進(jìn)行了詳細(xì)的對(duì)比和分析,使學(xué)生通過這樣一個(gè)查閱資料完成作業(yè)的過程對(duì)這部分知識(shí)有了深刻的理解。多核技術(shù)的挑戰(zhàn)則給了學(xué)生更大的探索空間,比如單核到多核的發(fā)展、多核技術(shù)的現(xiàn)狀、多線程與多核技術(shù)、多任務(wù)協(xié)同、多核軟件開發(fā),還有的同學(xué)論述了NiosⅡ多核處理器之間通信技術(shù),也有的同學(xué)將各公司的多核產(chǎn)品進(jìn)行了詳細(xì)的介紹和比較等等。通過相關(guān)資料的研究和學(xué)習(xí),他們都有很大的收獲,并對(duì)多核技術(shù)產(chǎn)生了濃厚的興趣。
6 結(jié)束語
通過一個(gè)學(xué)期的課程開設(shè)效果來看,將多核技術(shù)引入到“高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)”課程中是一次非常有益的嘗試。學(xué)生通過本門課程的學(xué)習(xí),將本科的計(jì)算機(jī)體系結(jié)構(gòu)的知識(shí)進(jìn)行了深化理解,對(duì)多核技術(shù)有了一定的了解并產(chǎn)生了濃厚的興趣,為今后的研究工作打下了良好的基礎(chǔ)。
在今后的課程中,除了介紹上述多核內(nèi)容之外,將逐步開展一些多核的實(shí)驗(yàn),目前我校已加入“英特爾”多核技術(shù)課程“大學(xué)計(jì)劃”,并有Intel公司捐贈(zèng)的一臺(tái)Dell四核服務(wù)器、Intel多核軟件的License以及相關(guān)的資料,為未來的實(shí)驗(yàn)開設(shè)創(chuàng)造了良好的條件。另外,“高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)”課程的網(wǎng)站也即將建立開通,其中將開辟一個(gè)多核技術(shù)專題,給學(xué)生提供豐富的資源,以及國(guó)內(nèi)外多核課程建設(shè)的成果等都將提供給關(guān)心多核技術(shù)的廣大師生,促進(jìn)多核技術(shù)的普及和發(fā)展。
參考文獻(xiàn)
[1] 薛?。嗪苏n程建設(shè)[J].計(jì)算機(jī)教育,2007,(11).
[2] 許莉.基于現(xiàn)代教育技術(shù)的計(jì)算機(jī)教學(xué)模式探析[J].計(jì)算機(jī)教育,2008,(2).
[3] 欒好利,楊政.基于興趣的“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)策略的研究與實(shí)踐[J].計(jì)算機(jī)教育,2008,(2).