張鋼 郭煒 車明 魏繼增 李雪威
摘要:設(shè)計(jì)計(jì)算機(jī)系統(tǒng)的能力已經(jīng)成為衡量計(jì)算機(jī)工程專業(yè)方向本科學(xué)生能力的重要指標(biāo),但是培養(yǎng)學(xué)生的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力并不容易。文章提出借鑒CDIO的思想,以硬件描述語(yǔ)言為設(shè)計(jì)工具、以FPGA為系統(tǒng)實(shí)現(xiàn)手段,將系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)實(shí)踐貫穿整個(gè)計(jì)算機(jī)工程專業(yè)方向人才培養(yǎng)過程。
關(guān)鍵詞:計(jì)算機(jī)工程;系統(tǒng)設(shè)計(jì)能力;教學(xué)改革;實(shí)踐教學(xué)
1.背景
對(duì)計(jì)算機(jī)工程專業(yè)方向的本科學(xué)生來說,設(shè)計(jì)處理器是一個(gè)特殊而重要的經(jīng)歷,是計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力培養(yǎng)不可或缺的重要環(huán)節(jié)。設(shè)計(jì)CPU、設(shè)計(jì)計(jì)算機(jī)系統(tǒng)的能力已經(jīng)成為衡量計(jì)算機(jī)工程專業(yè)方向本科學(xué)生能力的重要指標(biāo)。
當(dāng)計(jì)算機(jī)系統(tǒng)相對(duì)簡(jiǎn)單、可以用分立元件或小規(guī)模集成電路實(shí)現(xiàn)時(shí),通過設(shè)計(jì)并實(shí)現(xiàn)一個(gè)計(jì)算機(jī)系統(tǒng),可以培養(yǎng)學(xué)生的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力。隨著集成電路技術(shù)的發(fā)展,微處理器系統(tǒng)快速發(fā)展,特別是多核技術(shù)、嵌入式系統(tǒng)等領(lǐng)域的發(fā)展使計(jì)算機(jī)系統(tǒng)越來越復(fù)雜,對(duì)大規(guī)模和超大規(guī)模集成電路的依賴越來越大。由于一般的大學(xué)實(shí)驗(yàn)室缺少硬件條件,對(duì)大學(xué)本科學(xué)生來說,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)較復(fù)雜的計(jì)算機(jī)系統(tǒng)變得遙不可及。
集成電路技術(shù)的發(fā)展也使FPGA技術(shù)日趨成熟,為芯片的設(shè)計(jì)和實(shí)現(xiàn)創(chuàng)造了條件,復(fù)雜的大規(guī)模集成電路不僅不再是培養(yǎng)學(xué)生計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力的障礙,而且已經(jīng)成為培養(yǎng)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力的重要手段。
目前,該方向比較顯著的問題是學(xué)生學(xué)習(xí)了一系列課程后仍然缺乏基本的系統(tǒng)概念以及利用這些概念進(jìn)行計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的能力,主要原因是缺少將零散知識(shí)融會(huì)貫通的課程和相應(yīng)的實(shí)踐環(huán)節(jié),影響了學(xué)生深入理解計(jì)算機(jī)系統(tǒng)設(shè)計(jì)思想并提高系統(tǒng)設(shè)計(jì)能力。
2.研究思路與目標(biāo)
集成電路技術(shù)的發(fā)展,使集成電路和處理器的關(guān)系密不可分。隨著多核技術(shù)的出現(xiàn),處理器已經(jīng)變成構(gòu)成系統(tǒng)級(jí)芯片(SoC)的基本單元,因此,從集成電路的功能級(jí)設(shè)計(jì)層面講,計(jì)算機(jī)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)采用的方法就是大規(guī)模集成電路(VLSI)系統(tǒng)的設(shè)計(jì)方法。
從卓越人才培養(yǎng)的角度,VLSI系統(tǒng)設(shè)計(jì)是微處理器的邏輯實(shí)現(xiàn)手段,而數(shù)字邏輯是計(jì)算機(jī)組成的物理實(shí)現(xiàn)基礎(chǔ)。學(xué)生的數(shù)字邏輯系統(tǒng)設(shè)計(jì)能力和VLSI系統(tǒng)設(shè)計(jì)能力直接決定了其計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力。因此提升學(xué)生計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力的關(guān)鍵是提升學(xué)生的數(shù)字邏輯系統(tǒng)設(shè)計(jì)能力和VLSI系統(tǒng)設(shè)計(jì)能力。
為了切實(shí)提高計(jì)算機(jī)工程專業(yè)方向本科學(xué)生的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力,教學(xué)改革研究工作的目標(biāo)確定為:以數(shù)字邏輯設(shè)計(jì)方法為設(shè)計(jì)基礎(chǔ)、以硬件描述語(yǔ)言為設(shè)計(jì)工具、以硬件仿真系統(tǒng)為設(shè)計(jì)環(huán)境、以FPGA為系統(tǒng)實(shí)現(xiàn)手段、以計(jì)算機(jī)系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)為目標(biāo)和主線,將計(jì)算機(jī)系統(tǒng)設(shè)計(jì)實(shí)踐完整地貫穿于專業(yè)核心課程之中;教學(xué)改革研究思路確定為:系統(tǒng)視角、整體優(yōu)先、設(shè)計(jì)牽引、講做結(jié)合、注重能力。該研究思路不同于一般的課程群,不是簡(jiǎn)單的知識(shí)點(diǎn)的審視,是“自頂向下”的觀點(diǎn)和“自底向上”的實(shí)現(xiàn)的一種結(jié)合方法,最終目標(biāo)是提升計(jì)算機(jī)工程專業(yè)方向本科學(xué)生的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力。
3.研究?jī)?nèi)容
計(jì)算機(jī)工程專業(yè)方向的主干課程包括數(shù)字邏輯、計(jì)算機(jī)組成原理、匯編語(yǔ)言、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、嵌入式系統(tǒng)、計(jì)算機(jī)設(shè)計(jì)與調(diào)試、計(jì)算機(jī)系統(tǒng)設(shè)計(jì)、VLSI系統(tǒng)設(shè)計(jì)等。課程各有目標(biāo),課程之間有宏觀上的先后順序,有微觀上的相互穿插,有內(nèi)容上的重疊。經(jīng)過近幾年的教學(xué)研究和改革,各門課程都發(fā)生了非常大的變化:VLSI課程中會(huì)涉及算術(shù)邏輯單元的設(shè)計(jì)甚至處理器設(shè)計(jì)方面的內(nèi)容;匯編語(yǔ)言的作用已經(jīng)從編程工具轉(zhuǎn)變?yōu)槊枋龊屠斫庥?jì)算機(jī)系統(tǒng)工作原理的有效工具;HDL語(yǔ)言和仿真工具不再專屬于數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域,已經(jīng)成為計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的通用語(yǔ)言和工具。但是,由于總目標(biāo)不明確,導(dǎo)致課程分頭講,實(shí)驗(yàn)分頭做,總體學(xué)時(shí)不少,最終效果欠佳。
筆者的主要研究?jī)?nèi)容以計(jì)算機(jī)系統(tǒng)設(shè)計(jì)為目標(biāo),從能力培養(yǎng)的視角看待和理解數(shù)字邏輯、計(jì)算機(jī)組成原理、匯編語(yǔ)言、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、嵌入式系統(tǒng)、計(jì)算機(jī)設(shè)計(jì)與調(diào)試、VLSI、計(jì)算機(jī)系統(tǒng)設(shè)計(jì)等課程,借鑒CDIO的思想,將系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)實(shí)踐貫穿整個(gè)計(jì)算機(jī)工程專業(yè)方向人才培養(yǎng)過程。
3.1重新審視和修訂教學(xué)計(jì)劃
在研究過程中,我們首先整理涉及的各門課程的全部知識(shí)點(diǎn),對(duì)相互影響的重要知識(shí)點(diǎn)整體排序,整合相近和相似的知識(shí)點(diǎn),歸并出一些重要的專題,提出有利于培養(yǎng)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力的完整實(shí)踐教學(xué)體系,全線引入HDL語(yǔ)言,全線引入基于FPGA開發(fā)板的設(shè)計(jì)實(shí)驗(yàn),緊密配合理論課、設(shè)計(jì)方法課、實(shí)踐課,形成“學(xué)習(xí)-構(gòu)思-設(shè)計(jì)-實(shí)現(xiàn)”的完整過程。
3.2數(shù)字邏輯電路設(shè)計(jì)課程內(nèi)容的改革
數(shù)字邏輯電路設(shè)計(jì)課程改革的研究重點(diǎn)是設(shè)法強(qiáng)化和提升學(xué)生使用硬件描述語(yǔ)言說明硬件系統(tǒng)的能力,將硬件設(shè)計(jì)語(yǔ)言的介紹提前到課程的開始部分,使學(xué)生在學(xué)習(xí)數(shù)字邏輯電路設(shè)計(jì)過程中就開始使用硬件設(shè)計(jì)語(yǔ)言,相當(dāng)于使學(xué)生掌握了一個(gè)設(shè)計(jì)工具,為計(jì)算機(jī)組成原理課程和計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程提供支持,另外,從教學(xué)上形成學(xué)習(xí)數(shù)字邏輯電路設(shè)計(jì)就是學(xué)習(xí)集成電路設(shè)計(jì)的理念。數(shù)字邏輯電路設(shè)計(jì)課程的實(shí)驗(yàn)既有使用邏輯電路器件搭建實(shí)驗(yàn)電路的傳統(tǒng)型實(shí)驗(yàn),又有使用FPGA開發(fā)板的設(shè)計(jì)實(shí)驗(yàn)。
3.3計(jì)算機(jī)組成原理課程的教學(xué)改革
計(jì)算機(jī)組成原理課程借鑒“深入理解計(jì)算機(jī)系統(tǒng)”教材中的思想,調(diào)整了部分課程內(nèi)容和授課重點(diǎn),比如,在數(shù)據(jù)表示部分增加了C語(yǔ)言的整數(shù)表示以及比較運(yùn)算的示例,在存儲(chǔ)器部分增加了程序訪問局部性原理的C語(yǔ)言示例,在指令系統(tǒng)部分增加了尋址方式的C語(yǔ)言示例等。增加C語(yǔ)言的示例是進(jìn)行教學(xué)視角調(diào)整的一種嘗試,由于學(xué)生已經(jīng)學(xué)習(xí)過C語(yǔ)言,已經(jīng)初步掌握了編程方法,但是并不清楚程序在計(jì)算機(jī)內(nèi)部,特別是在計(jì)算機(jī)系統(tǒng)底層硬件中是如何表示、如何執(zhí)行的。通過在計(jì)算機(jī)組成原理課程中增加一些C語(yǔ)言的示例,讓學(xué)生真正理解程序的執(zhí)行過程。
3.4計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程內(nèi)容的調(diào)整
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程在課程內(nèi)容方面進(jìn)行了一些調(diào)整,主要為了更好地與計(jì)算機(jī)組成原理和計(jì)算機(jī)設(shè)計(jì)與調(diào)試等課程銜接。增加多核處理器和多線程調(diào)度等方面的內(nèi)容;對(duì)教材中給出的一些具體處理器實(shí)例給予更多關(guān)注,比如Pentium、PowerPC和MIPS處理器實(shí)例等;重視向量運(yùn)算和向量處理器部分的內(nèi)容。
3.5計(jì)算機(jī)設(shè)計(jì)與調(diào)試課程實(shí)踐教學(xué)改革
計(jì)算機(jī)設(shè)計(jì)與調(diào)試課程把以往讓學(xué)生設(shè)計(jì)實(shí)現(xiàn)一個(gè)有十幾條基本指令的微程序控制器改變?yōu)樵O(shè)計(jì)實(shí)現(xiàn)向量協(xié)處理器;以PowerPC RISC處理器的指令系統(tǒng)為參考,把設(shè)計(jì)PowerPC擴(kuò)展指令協(xié)處理器AltiVec模塊中的VSFX指令部分作為教學(xué)內(nèi)容。整個(gè)設(shè)計(jì)任務(wù)分為8個(gè)相互聯(lián)系、難度逐步增加的子任務(wù),通過教師引導(dǎo)、分組討論、學(xué)生實(shí)踐、實(shí)現(xiàn)設(shè)計(jì)、完成測(cè)試等一系列教學(xué)環(huán)節(jié),讓學(xué)生完成協(xié)處理器中的部分設(shè)計(jì)工作并熟悉完整的協(xié)處理器的設(shè)計(jì)與調(diào)試方法。
3.6嵌入式系統(tǒng)設(shè)計(jì)課程實(shí)踐教學(xué)改革
嵌入式系統(tǒng)設(shè)計(jì)課程開發(fā)出嵌入式系統(tǒng)計(jì)算機(jī)結(jié)構(gòu)及相關(guān)軟件的綜合實(shí)驗(yàn),使硬件與軟件相結(jié)合,強(qiáng)化對(duì)學(xué)生計(jì)算機(jī)綜合開發(fā)應(yīng)用能力的培養(yǎng),提高學(xué)生的實(shí)踐能力。綜合實(shí)驗(yàn)要求學(xué)生完成一個(gè)嵌入式系統(tǒng)開發(fā)實(shí)現(xiàn)的全過程,包括完成硬件、軟件的功能分配,進(jìn)行主控?cái)?shù)字系統(tǒng)硬件的設(shè)計(jì)和制作,設(shè)計(jì)驅(qū)動(dòng)和功能軟件,硬件、軟件的分別測(cè)試與綜合測(cè)試等。
3.7VSLI系統(tǒng)設(shè)計(jì)課程實(shí)踐教學(xué)改革
VSLI系統(tǒng)設(shè)計(jì)課程的實(shí)踐教學(xué)改革,把實(shí)踐分為3種類型:課程實(shí)驗(yàn)、自主實(shí)驗(yàn)和課程設(shè)計(jì),3種類型的實(shí)驗(yàn)全部基于Nexys3 FPGA開發(fā)板進(jìn)行設(shè)計(jì)。課程實(shí)驗(yàn)包括Xifinx FPGA設(shè)計(jì)流程、Nexys3 FPGA開發(fā)板主要模塊接口設(shè)計(jì)和基于IP的數(shù)字電路設(shè)計(jì)等。自主實(shí)驗(yàn)部分的題目類型包括:串一并轉(zhuǎn)換電路、FIFO存儲(chǔ)器設(shè)計(jì)、大數(shù)加法器設(shè)計(jì)和HR數(shù)字濾波器設(shè)計(jì)等。課程設(shè)計(jì)部分的題目類型包括密碼協(xié)處理器設(shè)計(jì)、數(shù)字信號(hào)協(xié)處理器設(shè)計(jì)和圖像處理協(xié)處理器設(shè)計(jì)等。
4.實(shí)驗(yàn)室建設(shè)
天津大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院2006年建立了數(shù)字邏輯電路設(shè)計(jì)實(shí)驗(yàn)室、計(jì)算機(jī)組成實(shí)驗(yàn)室、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)室、嵌入式系統(tǒng)實(shí)驗(yàn)室,建立了超大規(guī)模集成電路設(shè)計(jì)與應(yīng)用研究所。實(shí)驗(yàn)室配備了數(shù)字邏輯實(shí)驗(yàn)臺(tái)、計(jì)算機(jī)組成原理實(shí)驗(yàn)臺(tái)、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn)臺(tái)(帶有FPGA模塊)、嵌入式系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)臺(tái)等教學(xué)實(shí)驗(yàn)設(shè)備。這些實(shí)驗(yàn)室和實(shí)驗(yàn)設(shè)備能夠滿足常規(guī)的計(jì)算機(jī)系統(tǒng)實(shí)驗(yàn),但對(duì)計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力培養(yǎng)的支持還不夠。為此,學(xué)院2013年與美國(guó)Xilinx公司合作,建立了天津大學(xué)一美國(guó)Xilinx公司計(jì)算機(jī)系統(tǒng)設(shè)計(jì)聯(lián)合實(shí)驗(yàn)室,實(shí)驗(yàn)室配備了50多塊Nexys3 FPGA開發(fā)板,實(shí)驗(yàn)時(shí)可以滿足每人一塊開發(fā)板的要求。
超大規(guī)模集成電路設(shè)計(jì)與應(yīng)用研究所于2012年引進(jìn)BEECube公司先進(jìn)的BEE3系統(tǒng),該系統(tǒng)基于計(jì)算機(jī)系統(tǒng)的第三代商用FPGA系統(tǒng),包括4個(gè)Virtex 5 FXT FPGA芯片,以及高達(dá)64GB的DDR2 ECC DRAM和8個(gè)用于模塊間通信的10GigE接口。
有了Nexys3 FPGA開發(fā)板和BEE3系統(tǒng),我們具備了實(shí)現(xiàn)學(xué)生設(shè)計(jì)的各種計(jì)算機(jī)系統(tǒng)的設(shè)備平臺(tái),為培養(yǎng)學(xué)生計(jì)算機(jī)系統(tǒng)設(shè)計(jì)能力提供了強(qiáng)有力的支撐。
5.結(jié)語(yǔ)
經(jīng)過兩年多的教學(xué)改革與實(shí)踐,在新的教學(xué)改革思路指引下,學(xué)院調(diào)整了教學(xué)計(jì)劃和課程內(nèi)容,建設(shè)了新的實(shí)驗(yàn)室,引入了新的實(shí)踐手段和方法,教學(xué)研究和改革實(shí)踐工作取得了初步成效?!坝?jì)算機(jī)學(xué)院教學(xué)管理過程化規(guī)范化改革”和“嵌入式系統(tǒng)設(shè)計(jì)課程實(shí)踐教學(xué)改革”兩項(xiàng)教學(xué)研究成果獲得2013年天津大學(xué)教學(xué)成果二等獎(jiǎng)。
(編輯:孫怡銘)