李東勤,徐勇,常郝,陳曉玲
(安徽財(cái)經(jīng)大學(xué)管理科學(xué)與工程學(xué)院,蚌埠 233030)
人類已經(jīng)進(jìn)入了以移動互聯(lián)、云計(jì)算、大數(shù)據(jù)和物聯(lián)網(wǎng)為代表的第三代信息化浪潮時代。隨著這些新技術(shù)的快速發(fā)展和廣泛應(yīng)用,計(jì)算機(jī)系統(tǒng)應(yīng)用呈現(xiàn)出新的特征,形成了嵌入式計(jì)算系統(tǒng)、移動計(jì)算系統(tǒng)、并行計(jì)算系統(tǒng)和基于服務(wù)的計(jì)算系統(tǒng)等四種新型的計(jì)算系統(tǒng)。新形勢下對計(jì)算機(jī)專業(yè)的人才培養(yǎng)也提出了更高的要求,需要計(jì)算機(jī)專業(yè)人才更加深入掌握計(jì)算機(jī)內(nèi)部的設(shè)計(jì)原理和工作機(jī)制,具備更深、更廣的系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和應(yīng)用能力,即具備計(jì)算機(jī)系統(tǒng)能力。如何培養(yǎng)具備系統(tǒng)能力的計(jì)算機(jī)專業(yè)人才,如何能讓我們的學(xué)生在掌握計(jì)算機(jī)系統(tǒng)內(nèi)部設(shè)計(jì)思想和工作原理的基礎(chǔ)上,具備設(shè)計(jì)、開發(fā)和調(diào)試以計(jì)算技術(shù)為核心的應(yīng)用系統(tǒng)能力[1-3]。在2010年教育部高等學(xué)校計(jì)算機(jī)類專業(yè)教學(xué)指導(dǎo)委員會成立“計(jì)算機(jī)類專業(yè)系統(tǒng)能力培養(yǎng)研究組”,2015至2016年、2017年、2018年教指委分別批準(zhǔn)成立第一、二、三批高等院校系統(tǒng)能力培養(yǎng)示范院校和試點(diǎn)院校,安徽財(cái)經(jīng)大學(xué)于2018年入選第三批試點(diǎn)校。
為落實(shí)教指委的計(jì)算機(jī)系統(tǒng)能力培養(yǎng)計(jì)劃,安徽省系統(tǒng)能力培養(yǎng)工作組在2017年4月23日舉辦的“安徽省高校計(jì)算機(jī)系統(tǒng)能力培養(yǎng)專題研討會”上確定“以比賽作為推手,來推進(jìn)FPGA在高校系統(tǒng)類課程的逐步應(yīng)用”,并于同年11月在合肥工業(yè)大學(xué)舉辦安徽省第一屆計(jì)算機(jī)系統(tǒng)能力培養(yǎng)競賽。到目前為止,該比賽已經(jīng)連續(xù)舉辦兩屆,大賽以學(xué)科競賽推動專業(yè)建設(shè)、培養(yǎng)大學(xué)生創(chuàng)新能力為目標(biāo),選拔未來我國計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)、分析、優(yōu)化與應(yīng)用人才,激發(fā)學(xué)生的創(chuàng)新實(shí)踐能力與團(tuán)隊(duì)協(xié)作精神。通過比賽來進(jìn)一步推動高校計(jì)算機(jī)等相關(guān)專業(yè)教學(xué)改革,為高質(zhì)量專業(yè)人才搭建交流、展示、合作的平臺,助力產(chǎn)學(xué)研,對大學(xué)生計(jì)算機(jī)系統(tǒng)能力的培養(yǎng)產(chǎn)生積極的影響。
筆者通過組織和指導(dǎo)學(xué)生參加兩屆安徽省計(jì)算機(jī)系統(tǒng)能力培養(yǎng)競賽,認(rèn)真反思了我校計(jì)算機(jī)專業(yè)硬件類課程教學(xué),結(jié)合我校計(jì)算機(jī)專業(yè)的實(shí)際情況以及計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的需求,提出了建設(shè)相關(guān)課程群的改革思路。
計(jì)算機(jī)系統(tǒng)能力培養(yǎng)競賽更加注重培養(yǎng)學(xué)生的綜合設(shè)計(jì)和創(chuàng)新能力,是對學(xué)生知識的綜合考核。這就要求我們的課程教學(xué)要結(jié)合時代的需求,體現(xiàn)計(jì)算機(jī)的系統(tǒng)性和完整性。但我校計(jì)算機(jī)專業(yè)在相關(guān)課程教學(xué)和實(shí)踐操作中還存在諸多問題。
我校計(jì)算機(jī)系統(tǒng)類相關(guān)課程主要包括:數(shù)字電子技術(shù)、微機(jī)原理與接口技術(shù)、計(jì)算機(jī)組成原理、編譯原理、操作系統(tǒng)等,期望通過開設(shè)這些課程幫助我們的學(xué)生建立起完整的計(jì)算機(jī)系統(tǒng)的知識結(jié)構(gòu)和框架。然而學(xué)完這些課程,學(xué)生對各子系統(tǒng)之間的相互關(guān)系和彼此作用還是了解不夠深刻,也搞不清楚各子系統(tǒng)之間的銜接機(jī)制,缺乏完整性和系統(tǒng)性。
究其原因,目前我們的教學(xué)仍然以讓學(xué)生了解知識為目標(biāo),而非以系統(tǒng)設(shè)計(jì)為目標(biāo)。雖然我們也重視了課程體系建設(shè),但各課程之間的銜接和關(guān)聯(lián)考慮不夠。教學(xué)內(nèi)容上,各門課程都是獨(dú)立規(guī)劃、獨(dú)立教學(xué)的,極易造成同一個知識點(diǎn)在相關(guān)課程中的重復(fù)講解。同時,各課程之間的知識點(diǎn)缺乏前后銜接和有效整合,造成課程之間銜接關(guān)系的脫節(jié),更是難以形成完整的計(jì)算機(jī)系統(tǒng)知識體系。另外,在教學(xué)方法上,各課程多以分析式教學(xué)方法偏多,更加注重基本原理的講解,缺乏對完整計(jì)算機(jī)系統(tǒng)較為全面的闡述,其結(jié)果是學(xué)生掌握了基本概念和原理,卻難以轉(zhuǎn)化為設(shè)計(jì)完整計(jì)算機(jī)系統(tǒng)的基本能力。
目前安徽省計(jì)算機(jī)系統(tǒng)能力培養(yǎng)競賽題目涉及的課程主要包括數(shù)字邏輯和計(jì)算機(jī)組成原理,其題目內(nèi)容主要是組合邏輯電路、時序邏輯電路以及CPU的設(shè)計(jì),就是實(shí)現(xiàn)從邏輯門到CPU的過程。通過組織和指導(dǎo)學(xué)生參加比賽,我們發(fā)現(xiàn)在計(jì)算機(jī)系統(tǒng)能力培養(yǎng)成為目前國內(nèi)外計(jì)算機(jī)教育的新動向的大背景下,我校計(jì)算機(jī)專業(yè)實(shí)踐教學(xué)仍然存在諸多不足,無法適應(yīng)時代的需求。
首先,我們的實(shí)驗(yàn)?zāi)繕?biāo)是以課程為單位的,就是每門課程設(shè)置了各自的實(shí)驗(yàn)教學(xué)目標(biāo),實(shí)驗(yàn)內(nèi)容也是以完成該課程的教學(xué)目標(biāo)為目的,缺乏系統(tǒng)級的統(tǒng)一規(guī)劃,這樣就使得學(xué)生很難建立系統(tǒng)觀。各門實(shí)驗(yàn)課程的實(shí)驗(yàn)成果也是獨(dú)立,沒有考慮過將這些實(shí)驗(yàn)成果進(jìn)行有效的集成,形成規(guī)模更大的系統(tǒng)。因此,學(xué)生很難真正從完整系統(tǒng)的角度去理解計(jì)算機(jī),在他們眼里是只見樹木,不見森林。在對參賽學(xué)生的指導(dǎo)過程中,我們還發(fā)現(xiàn),在建立各個功能部件連接過程中,就是自己畫數(shù)據(jù)通路圖時,學(xué)生感覺難度很大。究其原因,我們平時的實(shí)驗(yàn)主要是對各個功能部件的驗(yàn)證性實(shí)驗(yàn),可以幫助學(xué)生理解系統(tǒng)運(yùn)行的基本原理和工作機(jī)制,但缺乏對復(fù)雜系統(tǒng)的綜合設(shè)計(jì)性實(shí)驗(yàn),使學(xué)生無法面對復(fù)雜系統(tǒng)中存在的較為深刻的問題以及各個子系統(tǒng)之間的銜接機(jī)制。同時,我們學(xué)校計(jì)算機(jī)專業(yè)硬件類實(shí)驗(yàn)課程,像數(shù)字電子技術(shù)、計(jì)算機(jī)組成原理、微機(jī)原理與接口技術(shù)等,都是使用各自的實(shí)驗(yàn)箱,獨(dú)立的實(shí)驗(yàn)平臺無法建立課程間的任何聯(lián)系和融合。
為了彌補(bǔ)我校計(jì)算機(jī)專業(yè)系統(tǒng)類課程在實(shí)際教學(xué)中存在的不足,提升我校計(jì)算機(jī)專業(yè)學(xué)生系統(tǒng)能力,結(jié)合教指委對計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的相關(guān)要求,對我校計(jì)算機(jī)專業(yè)課程體系進(jìn)行改革,以設(shè)計(jì)完整的計(jì)算機(jī)系統(tǒng)為總體目標(biāo),逐步建立推進(jìn)式、循序漸進(jìn)的計(jì)算機(jī)系統(tǒng)類課程群。依據(jù)改革目標(biāo)和我校計(jì)算機(jī)專業(yè)的實(shí)際情況,首先選擇數(shù)字邏輯、計(jì)算機(jī)組成原理、微機(jī)原理與接口技術(shù)、操作系統(tǒng)、編譯原理等五門核心課程,組建為我校計(jì)算機(jī)系統(tǒng)類課程群,具體課程群組成及其相互關(guān)系如圖1所示。

圖1 計(jì)算機(jī)系統(tǒng)類課程群組成及其關(guān)系
根據(jù)教指委提出的以系統(tǒng)發(fā)展觀為主線的改革思想,認(rèn)真研究我校上述五門核心課程的教學(xué)內(nèi)容,查找各課程知識點(diǎn)和教學(xué)內(nèi)容的不足,注重各課程知識點(diǎn)之間的有效銜接,同時避免知識點(diǎn)的重復(fù)講述,強(qiáng)調(diào)課程內(nèi)涵,強(qiáng)化各課程的理論基礎(chǔ)和實(shí)踐基礎(chǔ),確保各課程教學(xué)內(nèi)容和實(shí)踐項(xiàng)目真正服務(wù)于頂層總目標(biāo),強(qiáng)化核心功能模塊設(shè)計(jì)。
首先,在數(shù)字邏輯課程中,重點(diǎn)講解組合邏輯電路、時序邏輯電路以及狀態(tài)機(jī)的時序邏輯設(shè)計(jì)。在后續(xù)的計(jì)算機(jī)組成原理中,重點(diǎn)講解MIPS指令系統(tǒng);基于簡單MIPS指令集單周期微處理器的具體實(shí)現(xiàn)方法,講解單周期和流水方式的硬布線控制器和微程序控制器;講解中斷機(jī)制,可實(shí)現(xiàn)中斷請求、中斷響應(yīng)和中斷服務(wù)及中斷返回等功能;講解存儲器原理和Cache機(jī)制,實(shí)現(xiàn)虛存管理機(jī)制。在微機(jī)原理與接口技術(shù)課程中,重點(diǎn)講解接口和匯編程序、標(biāo)準(zhǔn)總線、接口低層驅(qū)動程序,提供各類外部設(shè)備接口、中斷接口、存儲器接口。在操作系統(tǒng)課程中,以MIPS32指令集作為操作系統(tǒng)的目標(biāo)平臺;強(qiáng)調(diào)操作系統(tǒng)原理、操作系統(tǒng)的核心算法。在編譯原理中以MIPS32指令集作為編譯器的目標(biāo)平臺,強(qiáng)調(diào)編譯技術(shù)與計(jì)算機(jī)系統(tǒng)整機(jī)的關(guān)聯(lián)。
在基本理順各課程教學(xué)內(nèi)容和目標(biāo)的基礎(chǔ)上,在具體教學(xué)過程中要不斷改進(jìn)教學(xué)方法和教學(xué)手段。注重基本原理講解的同時,要逐步強(qiáng)化工程化實(shí)現(xiàn)方法的訓(xùn)練,為復(fù)雜系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)奠定基礎(chǔ),力求學(xué)生在系統(tǒng)原理和工程實(shí)現(xiàn)方法兩方面均有收獲。工程方法可能不是最優(yōu)的,但應(yīng)該是簡單且有效的,可以讓學(xué)生一步步達(dá)到實(shí)踐目標(biāo)。
實(shí)踐可以說是內(nèi)容最豐厚的教科書,也是能力培養(yǎng)最好的課堂。計(jì)算機(jī)系統(tǒng)能力培養(yǎng)中,實(shí)踐起著至關(guān)重要的作用。同時,系統(tǒng)能力培養(yǎng)目標(biāo)中更加強(qiáng)調(diào)的是系統(tǒng)級的設(shè)計(jì),就是強(qiáng)調(diào)實(shí)踐應(yīng)具有一定的規(guī)模性和復(fù)雜度[4-9]。我校目前的硬件類課程實(shí)踐體系中實(shí)驗(yàn)?zāi)繕?biāo)、實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)平臺等均是以課程為獨(dú)立單位設(shè)計(jì)的,缺乏一體化設(shè)計(jì),加之原有課程結(jié)構(gòu)不夠完整,因此多門課程的實(shí)驗(yàn)成果也不能融合成為完整的計(jì)算機(jī)系統(tǒng),進(jìn)而無法幫助學(xué)生建立計(jì)算機(jī)整機(jī)概念。
改革之初,我們在第四學(xué)期數(shù)字邏輯實(shí)踐課程中,首先拋棄原先的以插線為主的實(shí)驗(yàn)箱教學(xué)模式,選擇Logisim。Logisim作為一款用于設(shè)計(jì)和仿真數(shù)字邏輯電路的教學(xué)仿真工具,其界面簡單、電路仿真直觀,同時可以克服原先實(shí)驗(yàn)箱龐大、實(shí)驗(yàn)場所和時間固定的缺陷。Logisim虛擬仿真實(shí)驗(yàn)最大的特點(diǎn)就是可以使學(xué)生重在設(shè)計(jì),調(diào)試相對容易,教師指導(dǎo)起來也方便容易,對于學(xué)生的設(shè)計(jì)結(jié)果驗(yàn)收也比較容易,不需要任何其他成本,實(shí)驗(yàn)不受場地和時間的限制,學(xué)生隨時可以進(jìn)行實(shí)驗(yàn),同時學(xué)生之間也很難互相抄襲。因?yàn)閷?shí)驗(yàn)課時有限,因此我們要求學(xué)生通過自學(xué)熟悉Logisim環(huán)境,然后在實(shí)驗(yàn)課堂上利用Logisim實(shí)現(xiàn)簡單的數(shù)字邏輯電路,包括編碼器、譯碼器、多路選擇器、加法器、比較器等組合邏輯電路以及寄存器、計(jì)數(shù)器和狀態(tài)機(jī)。通過設(shè)計(jì)和仿真,讓學(xué)生對數(shù)字邏輯電路的設(shè)計(jì)思想有很清晰的認(rèn)識。接下來要求學(xué)生在暑假期間,自學(xué)Verilog語言。Verilog語言創(chuàng)始于1984年,由Gateway設(shè)計(jì)自動化公司開發(fā)(被Cadence收購),于1995年被IEEE確定為標(biāo)準(zhǔn)硬件描述語言(IEEE 1364-1995/Ver?ilog-95),它與C語言編程風(fēng)格相似,最大的特點(diǎn)就是學(xué)習(xí)難度相對較低,易于上手。該語言對門級開關(guān)電路描述強(qiáng),同時System Verilog的發(fā)布增強(qiáng)了系統(tǒng)級描述的能力。Verilog語言既是一種行為描述的語言,也是一種結(jié)構(gòu)描述的語言;它既可以用電路的功能描述也可以用元器件和它們之間的連接來建立所設(shè)計(jì)電路的Verilog HDL模型。Verilog模型可以是實(shí)際電路的不同級別的抽象。同時,要求學(xué)生自行熟悉Vivado環(huán)境,將所有數(shù)字邏輯電路通過Verilog語言進(jìn)行描述,通過Vivado環(huán)境,在FPGA開發(fā)平臺上進(jìn)行結(jié)果驗(yàn)證,實(shí)現(xiàn)軟硬件之間的融合。有了邏輯門和語言環(huán)境基礎(chǔ)后,在接下來的第五學(xué)期,我們開設(shè)計(jì)算機(jī)組成原理課程,擬安排漢字編碼實(shí)驗(yàn)、CRC校驗(yàn)碼設(shè)計(jì)實(shí)驗(yàn)、可控加減法設(shè)計(jì)實(shí)驗(yàn)、ALU設(shè)計(jì)實(shí)驗(yàn)、存儲器實(shí)驗(yàn)、Cache硬件設(shè)計(jì)實(shí)驗(yàn)、MIPS單周期處理器設(shè)計(jì)實(shí)驗(yàn)(8條指令)、MIPS多周期處理器設(shè)計(jì)實(shí)驗(yàn)(硬布線控制器設(shè)計(jì)、微程序控制器設(shè)計(jì))。要求學(xué)生首先在Logisim上實(shí)現(xiàn),這個相對比較容易。當(dāng)學(xué)生理解其基本原理和思想后,通過Verilog語言進(jìn)行描述,在Vivado環(huán)境中實(shí)現(xiàn),同時通過FPGA開發(fā)平臺進(jìn)行結(jié)果驗(yàn)證。在接下來的寒假時間中,我們計(jì)劃安排綜合課程設(shè)計(jì),用兩周的時間要求學(xué)生實(shí)現(xiàn)流水CPU,將前面的單周期修改為五段流水,包括取指令、譯碼、執(zhí)行、訪存和寫回,考慮分支相關(guān)和數(shù)據(jù)相關(guān)。通過兩個學(xué)期的實(shí)驗(yàn)以及綜合的課程設(shè)計(jì),使學(xué)生能夠真正掌握和理解計(jì)算機(jī)的設(shè)計(jì)思想和工作原理,實(shí)現(xiàn)從邏輯門到CPU。同時將實(shí)驗(yàn)成果延伸到后續(xù)課程操作系統(tǒng)實(shí)驗(yàn)和編譯原理實(shí)驗(yàn)中,最終實(shí)現(xiàn)我校計(jì)算機(jī)系統(tǒng)類課程群的實(shí)踐教學(xué)目標(biāo)即設(shè)計(jì)實(shí)現(xiàn)一個CPU、一個操作系統(tǒng)、一個編譯器,實(shí)現(xiàn)一個基本的完整計(jì)算機(jī)系統(tǒng)。
通過參加安徽省計(jì)算機(jī)系統(tǒng)能力培養(yǎng)競賽,看到了我校計(jì)算機(jī)專業(yè)課程體系在教學(xué)和實(shí)踐方面存在的不足,并提出了整改措施,真正做到了以賽促學(xué),以賽促教的目的。在推進(jìn)計(jì)算機(jī)系統(tǒng)類課程群的建設(shè)過程中,我們注重圍繞頂層總體目標(biāo),即實(shí)現(xiàn)一個完整的計(jì)算機(jī)系統(tǒng),重構(gòu)各課程的知識體系,重實(shí)踐強(qiáng)系統(tǒng),構(gòu)造逐步推進(jìn)式實(shí)驗(yàn)體系,實(shí)現(xiàn)系統(tǒng)能力的逐步培養(yǎng)。我校目前存在教師系統(tǒng)能力不足、學(xué)生缺乏系統(tǒng)級工程訓(xùn)練、軟硬件失衡等諸多客觀問題,因此計(jì)算機(jī)系統(tǒng)能力的培養(yǎng)是一個長期的過程,不可能一蹴而就的,還有很漫長的路要走。我們需要通過FPGA、EDA專題培訓(xùn),提升硬件系統(tǒng)設(shè)計(jì)、工程實(shí)踐能力;利用工程觀、系統(tǒng)觀豐富教學(xué)設(shè)計(jì),充實(shí)教學(xué)內(nèi)容;建立課程群建設(shè)小組,統(tǒng)一教學(xué)與實(shí)踐指導(dǎo)。