王曉銀, 孟虎, 李海玲
(西安航空學(xué)院 計(jì)算機(jī)學(xué)院,西安 710077)
為了適應(yīng)快速發(fā)展的信息社會(huì)對(duì)人才的需求,2014年國(guó)務(wù)院提出“引導(dǎo)一批本科院校向應(yīng)用技術(shù)型高校轉(zhuǎn)型”[1],這一轉(zhuǎn)變意味著培養(yǎng)創(chuàng)新能力、實(shí)踐動(dòng)手能力、具有競(jìng)爭(zhēng)力的高級(jí)應(yīng)用型人才將作為應(yīng)用型本科高校的培養(yǎng)目標(biāo),而要完成這一任務(wù),實(shí)踐教學(xué)無(wú)疑起著重大作用。在計(jì)算機(jī)學(xué)科中,計(jì)算機(jī)硬件實(shí)踐教學(xué)對(duì)于培養(yǎng)學(xué)生系統(tǒng)設(shè)計(jì)能力,提升學(xué)生知識(shí)、能力、素質(zhì)的協(xié)調(diào)發(fā)展至關(guān)重要。西安航空學(xué)院計(jì)算機(jī)學(xué)院從2014年開(kāi)始進(jìn)行計(jì)算機(jī)硬件基礎(chǔ)課程體系改革,對(duì)基于計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的實(shí)踐教學(xué)模式進(jìn)行了探索。
計(jì)算機(jī)硬件基礎(chǔ)課程主要包括“數(shù)字邏輯”“計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)”“微機(jī)原理與接口技術(shù)”“微處理器應(yīng)用”等課程,這些課程在教學(xué)大綱中都有相應(yīng)的實(shí)踐學(xué)時(shí)。在講授這些課程及實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)這些課程內(nèi)容雖有銜接,但每門(mén)課程還都停留在原理認(rèn)知和模型驗(yàn)證上。學(xué)生對(duì)所學(xué)的每門(mén)課程的知識(shí)點(diǎn)能夠掌握,但對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)缺乏概念。沒(méi)有形成對(duì)計(jì)算機(jī)的系統(tǒng)認(rèn)知、系統(tǒng)設(shè)計(jì)、系統(tǒng)開(kāi)發(fā)及系統(tǒng)應(yīng)用能力[2]。
原有的教學(xué)模式下硬件類(lèi)相關(guān)課程實(shí)驗(yàn)平臺(tái)基本是按課程配置,一門(mén)課程一個(gè)平臺(tái),教學(xué)中開(kāi)設(shè)多少門(mén)課程就需要多少個(gè)硬件實(shí)驗(yàn)平臺(tái)支撐?;谶@些平臺(tái)的實(shí)驗(yàn)內(nèi)容在知識(shí)結(jié)構(gòu)上相互獨(dú)立,沒(méi)有考慮相鄰前后續(xù)課程的實(shí)驗(yàn)成果能否為后續(xù)課程打下良好的基礎(chǔ),分離的實(shí)驗(yàn)平臺(tái)只能支撐各門(mén)課程功能部件的訓(xùn)練,無(wú)法支撐系統(tǒng)級(jí)訓(xùn)練。
隨著高集成度、高性能、低成本的可編程可現(xiàn)場(chǎng)邏輯門(mén)陣列器件FPGA(Field Programmable Gata Array)的出現(xiàn),SOPC(Systerm On Prugrammahie Chip)技術(shù)成為了IC設(shè)計(jì)發(fā)展的新方向[4],通過(guò)FPGA平臺(tái)可將完整的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)分解到不同課程的實(shí)驗(yàn)中,使多門(mén)課程的實(shí)驗(yàn)內(nèi)容相互銜接,最終形成系統(tǒng)級(jí)設(shè)計(jì)。目前很多應(yīng)用型本科高校已將該技術(shù)應(yīng)用到計(jì)算機(jī)硬件實(shí)踐教學(xué)改革中,但就使用情況來(lái)看,大多只對(duì)某門(mén)課程進(jìn)行改革,沒(méi)有對(duì)硬件課程群實(shí)踐教學(xué)體系改革進(jìn)行深入研究。
從2013年開(kāi)始,一些985及211院校已經(jīng)在對(duì)計(jì)算機(jī)硬件基礎(chǔ)課程進(jìn)行改革[5]。課程中以FPGA為載體,采用新的電子設(shè)計(jì)理念和方法教學(xué)。例如在“計(jì)算機(jī)組成原理”課程中學(xué)生可以通過(guò)實(shí)驗(yàn)利用硬件描述語(yǔ)言自主完成ALU、不同指令周期的CPU等設(shè)計(jì),這些新的設(shè)計(jì)理念和設(shè)計(jì)仿真工具正適應(yīng)于計(jì)算機(jī)硬件基礎(chǔ)課程的教學(xué),并且這種發(fā)展趨勢(shì)與航空工業(yè)對(duì)機(jī)載電子產(chǎn)品“體積小、重量輕、低功耗、高可靠性、高性能”的要求相吻合,正符合我校今后的發(fā)展。
我校在立足于應(yīng)用型本科院校的基礎(chǔ)上,于2014年開(kāi)始對(duì)計(jì)算機(jī)硬件類(lèi)課程進(jìn)行教學(xué)改革,重點(diǎn)強(qiáng)調(diào)學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)的深刻理解;了解計(jì)算機(jī)底層硬件結(jié)構(gòu);掌握計(jì)算機(jī)軟硬件部分的抽象關(guān)聯(lián)?;诖颂岢隽嘶贔PGA平臺(tái)的計(jì)算機(jī)硬件實(shí)踐教學(xué)體系平臺(tái),在此平臺(tái)上整合“數(shù)字電路與邏輯設(shè)計(jì)”“航空計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)”“微機(jī)原理與接口技術(shù)”“微處理器應(yīng)用”等課程,形成了一個(gè)以虛擬實(shí)驗(yàn)箱+SoC集成技術(shù)為核心的計(jì)算機(jī)硬件基礎(chǔ)課程群的建設(shè)。使學(xué)生在學(xué)習(xí)過(guò)程中從基礎(chǔ)的邏輯入手,到綜合設(shè)計(jì),再到系統(tǒng)級(jí)設(shè)計(jì),逐步了解計(jì)算機(jī)的硬件結(jié)構(gòu),從而使多門(mén)課程融匯貫通,加強(qiáng)了學(xué)生的計(jì)算機(jī)系統(tǒng)觀。
傳統(tǒng)的硬件電路設(shè)計(jì)主要使用中小規(guī)模集成電路,以搭積木式的方法進(jìn)行教學(xué),學(xué)生在做實(shí)驗(yàn)時(shí)在面包板或試驗(yàn)箱上進(jìn)行連線(xiàn),這種實(shí)驗(yàn)技術(shù)和教學(xué)平臺(tái)極大地限制了學(xué)生的創(chuàng)新能力的培養(yǎng),大多實(shí)驗(yàn)只是進(jìn)行器件的驗(yàn)證型實(shí)驗(yàn),很難進(jìn)行綜合設(shè)計(jì)型試驗(yàn)。加之各門(mén)課程擁有自己的教學(xué)實(shí)驗(yàn)平臺(tái),實(shí)驗(yàn)課程內(nèi)容相互獨(dú)立,實(shí)驗(yàn)教學(xué)不成體系。
隨著EDA電子設(shè)計(jì)自動(dòng)化技術(shù)的廣泛使用,現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(FPGA)的應(yīng)用極大地簡(jiǎn)化了電路設(shè)計(jì),它通過(guò)硬件描述語(yǔ)言HDL對(duì)硬件電路設(shè)計(jì)進(jìn)行建模、仿真、驗(yàn)證、綜合,并下載到可編程邏輯器件中進(jìn)行測(cè)試。學(xué)生只要熟悉EDA設(shè)計(jì)仿真工具的使用,掌握一種硬件描述語(yǔ)言,就可以在FPGA上進(jìn)行電路模塊設(shè)計(jì)。教學(xué)改革中按照計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的要求,將計(jì)算機(jī)硬件基礎(chǔ)類(lèi)課程的實(shí)驗(yàn)移植到統(tǒng)一的FPGA平臺(tái)上。將完整的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)任務(wù)劃分成若干個(gè)子模塊分散到各門(mén)課程中。通過(guò)多門(mén)課程的不斷學(xué)習(xí),學(xué)生充分利用實(shí)驗(yàn)環(huán)境,熟悉硬件設(shè)計(jì)方法,為計(jì)算機(jī)系統(tǒng)級(jí)設(shè)計(jì)打下扎實(shí)的基礎(chǔ)。
3.2.1 基于FPGA平臺(tái)的數(shù)字邏輯課程改革
在改革過(guò)程中首先要選好切入點(diǎn),從硬件基礎(chǔ)類(lèi)課程開(kāi)始改革。數(shù)字邏輯課程是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的專(zhuān)業(yè)基礎(chǔ)課程,是學(xué)生學(xué)習(xí)計(jì)算機(jī)組成原理的前提。實(shí)驗(yàn)室在2014年對(duì)數(shù)字邏輯實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn)設(shè)備更新,以FPGA為核心,引進(jìn)EDA技術(shù),使數(shù)字邏輯的實(shí)驗(yàn)課程發(fā)生了根本性的變化。
實(shí)驗(yàn)中采用硬件描述語(yǔ)言設(shè)計(jì)電路,采用QuarusII仿真軟件環(huán)境,綜合、仿真邏輯電路,然后下載到FPGA器件上運(yùn)行,通過(guò)試驗(yàn)箱外圍輸出模塊觀察電路現(xiàn)象。這種設(shè)計(jì)方法大大提高了系統(tǒng)的可靠性,縮短了系統(tǒng)的開(kāi)發(fā)周期。通過(guò)數(shù)字邏輯課程的學(xué)習(xí),使學(xué)生了解常見(jiàn)邏輯功能部件、數(shù)據(jù)通路、基本運(yùn)算器設(shè)計(jì)、時(shí)序邏輯電路設(shè)計(jì)等電路設(shè)計(jì),這些部分可以直接被計(jì)算機(jī)組成原理實(shí)驗(yàn)所引用。同時(shí)開(kāi)發(fā)了數(shù)字鐘、交通燈控制器、自動(dòng)售票機(jī)、密碼鎖等綜合設(shè)計(jì)實(shí)驗(yàn)。
3.2.2 基于FPGA平臺(tái)的組成原理課程改革
“計(jì)算機(jī)組成原理”課程試驗(yàn)中要求學(xué)生掌握運(yùn)算器、存儲(chǔ)器、控制器、CPU、中斷控制器、接口等常用邏輯器件,懂得各部件的原理及各部件之間的關(guān)系,從而了解單臺(tái)計(jì)算機(jī)的基本組成原理。
經(jīng)過(guò)數(shù)字邏輯實(shí)驗(yàn)課程的學(xué)習(xí),學(xué)生具有了硬件描述語(yǔ)言的基本應(yīng)用能力,熟悉了QuarusII仿真軟件設(shè)計(jì)方法,掌握了FPGA平臺(tái)下載、調(diào)試電路方法。在實(shí)踐教學(xué)中指導(dǎo)學(xué)生對(duì)前期數(shù)字邏輯所設(shè)計(jì)的基本運(yùn)算器進(jìn)行擴(kuò)展,運(yùn)用EDA技術(shù)來(lái)完成實(shí)驗(yàn)。學(xué)生可以選擇使用邏輯器件通過(guò)圖形方式搭建計(jì)算機(jī)部件,也可以通過(guò)硬件描述語(yǔ)言根據(jù)部件功能自己編寫(xiě)實(shí)現(xiàn)。這樣使兩門(mén)課程的實(shí)驗(yàn)內(nèi)容相互銜接,實(shí)現(xiàn)了教學(xué)內(nèi)容一體化。學(xué)生通過(guò)自己設(shè)計(jì)計(jì)算機(jī)部件更加深刻地理解部件功能和工作原理。
3.2.3 基于FPGA平臺(tái)的微機(jī)原理課程改革
“微機(jī)原理與接口技術(shù)”實(shí)驗(yàn)是我們運(yùn)用FPGA開(kāi)發(fā)技術(shù)進(jìn)行教學(xué)改革的第三門(mén)課程,該課程長(zhǎng)期以8086/8088微機(jī)系統(tǒng)及其接口作為學(xué)習(xí)的基本內(nèi)容,包括微處理器結(jié)構(gòu)、指令系統(tǒng)、匯編語(yǔ)言程序設(shè)計(jì)、存儲(chǔ)器系統(tǒng)、總線(xiàn)技術(shù)、接口技術(shù)等。改革后的實(shí)踐教學(xué)采用基于FPGA的IP核來(lái)完成實(shí)驗(yàn),在數(shù)字邏輯及計(jì)算機(jī)組成實(shí)驗(yàn)的基礎(chǔ)上,利用QuartusII開(kāi)發(fā)平臺(tái),調(diào)用各種接口模塊,構(gòu)成一個(gè)完整的系統(tǒng),經(jīng)過(guò)綜合仿真后,將系統(tǒng)下載到FPGA平臺(tái)上,完成設(shè)計(jì)。
3.2.4 基于FPGA平臺(tái)的微處理器課程改革
“微處理器應(yīng)用”作為一門(mén)綜合應(yīng)用課程,該課程內(nèi)容以MCS-51為核心,增加外接口電路完成一個(gè)系統(tǒng)級(jí)設(shè)計(jì)。在教學(xué)改革中,采用基于FPGA的IP核技術(shù),在實(shí)踐教學(xué)設(shè)計(jì)中以MCS-51核為中心,在此基礎(chǔ)上外接相應(yīng)的存儲(chǔ)器,接口電路,完成系統(tǒng)級(jí)設(shè)計(jì),將設(shè)計(jì)好的SoC核下載到FPGA載體中,使其能夠?qū)崿F(xiàn)處理器功能。
在多門(mén)課程改革中,要配合實(shí)驗(yàn)內(nèi)容一體化,需要明確每門(mén)課程自身的課程目標(biāo),同時(shí)還要考慮這門(mén)課程服務(wù)于其他課程的全局目標(biāo)。這就要求明確課程設(shè)置中的前后續(xù)課程關(guān)聯(lián),把握課程實(shí)驗(yàn)的局部與整體關(guān)系。通過(guò)合理規(guī)劃實(shí)驗(yàn)內(nèi)容,實(shí)現(xiàn)各門(mén)課程之間的良好銜接。表1為“數(shù)字邏輯”“計(jì)算機(jī)組成”“微機(jī)原理”及“微處理器應(yīng)用”課程的實(shí)驗(yàn)內(nèi)容與實(shí)驗(yàn)?zāi)繕?biāo)設(shè)置,如表1所示。
考試是評(píng)價(jià)教學(xué)效果的重要手段,針對(duì)計(jì)算機(jī)硬件基礎(chǔ)類(lèi)課程以實(shí)踐動(dòng)手能力為主,在課程考核方式采用機(jī)試與筆試并行。根據(jù)課程性質(zhì)調(diào)整機(jī)試與筆試的比重。例如“數(shù)字邏輯”課程與“計(jì)算機(jī)組成原理”課程理論性較強(qiáng),考試以筆試為主,筆試與實(shí)踐成績(jī)比例基本上為4∶1;而“微機(jī)原理”與“微處理器”課程其應(yīng)用性較強(qiáng),在考試中突破傳統(tǒng)的筆試為主,將理論考試與實(shí)踐考試的比例調(diào)整為1∶1。通過(guò)考試方式的改革大大提高了學(xué)生綜合運(yùn)用課本知識(shí)解決實(shí)際工程問(wèn)題的能力,使考核成績(jī)能夠真實(shí)反映學(xué)生的學(xué)習(xí)效果,變認(rèn)知能力的考核到綜合應(yīng)用能力的考核,積極推動(dòng)了學(xué)生的創(chuàng)新創(chuàng)業(yè)能力。
表1 實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)?zāi)繕?biāo)一體化表
通過(guò)以上各門(mén)課程的改革摸索形成了一套以虛擬實(shí)驗(yàn)箱+SoC集成技術(shù)為核心的計(jì)算機(jī)硬件基礎(chǔ)課程群的建設(shè)。課程緊緊圍繞FPGA開(kāi)發(fā)平臺(tái),通過(guò)改革實(shí)驗(yàn)內(nèi)容,在統(tǒng)一的實(shí)驗(yàn)平臺(tái)上完成多門(mén)課程的實(shí)驗(yàn)教學(xué),增強(qiáng)了課程之間的聯(lián)系,使學(xué)生的學(xué)習(xí)有了連貫性,對(duì)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)有了更清晰的認(rèn)識(shí)。在后續(xù)的專(zhuān)業(yè)實(shí)習(xí)、畢業(yè)設(shè)計(jì)中有更多的同學(xué)選擇在FPGA平臺(tái)上進(jìn)行,更好的培養(yǎng)了學(xué)生的實(shí)踐創(chuàng)新能力。