桑國(guó)明,劉智
(大連海事大學(xué) 信息科學(xué)技術(shù)學(xué)院,遼寧 大連)
計(jì)算機(jī)組成原理是計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的核心專(zhuān)業(yè)基礎(chǔ)課程,在計(jì)科專(zhuān)業(yè)的課程體系中具有承上啟下的重要作用[1],其先修課程有離散數(shù)學(xué)和數(shù)字邏輯與數(shù)字系統(tǒng),后續(xù)課程包括微機(jī)原理與匯編語(yǔ)言、操作系統(tǒng)、編譯原理和計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)等[2-3],且后續(xù)課程的知識(shí)點(diǎn)均與計(jì)算機(jī)組成原理課程的內(nèi)容具有密切的聯(lián)系。因此,學(xué)習(xí)好計(jì)算機(jī)組成原理,對(duì)后續(xù)課程的學(xué)習(xí)具有舉足輕重的作用。
計(jì)算機(jī)組成原理全面學(xué)習(xí)組成現(xiàn)代計(jì)算機(jī)的五大功能部件(即運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備)的基本組成和工作原理,以及將這五大部件通過(guò)總線(xiàn)互聯(lián)構(gòu)成整機(jī)的技術(shù)。其學(xué)習(xí)內(nèi)容對(duì)于大學(xué)低年級(jí)的學(xué)生來(lái)說(shuō)具有抽象程度高、學(xué)習(xí)難度大的特點(diǎn),為了讓學(xué)生能夠深入理解所學(xué)內(nèi)容并培養(yǎng)他們的工程實(shí)踐能力,實(shí)驗(yàn)就成為了該課程學(xué)習(xí)的必要環(huán)節(jié)。目前在我國(guó)眾多的工科院校中,該課程實(shí)驗(yàn)的開(kāi)設(shè)方法各不相同,而隨著2016 年6月我國(guó)加入《華盛頓協(xié)議》[4],對(duì)工程專(zhuān)業(yè)人才培養(yǎng)提出了更高的要求,如工程專(zhuān)業(yè)人才培養(yǎng)目標(biāo)中要求工程專(zhuān)業(yè)的畢業(yè)生要具備解決復(fù)雜工程問(wèn)題的能力,這就使得一些傳統(tǒng)的實(shí)驗(yàn)教學(xué)方案已經(jīng)不能滿(mǎn)足新的人才培養(yǎng)目標(biāo)的要求,從而需要我們探索新的實(shí)驗(yàn)教學(xué)方案,并且該方案應(yīng)能夠有效地與先修及后續(xù)課程的實(shí)驗(yàn)相銜接。
計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)是目前高校中最為普及的專(zhuān)業(yè),但因?yàn)槊總€(gè)學(xué)校的教學(xué)條件和培養(yǎng)目標(biāo)不同,計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)在內(nèi)容和教學(xué)方式上差別較大,總結(jié)起來(lái)總體上可以分為基于實(shí)驗(yàn)箱開(kāi)展實(shí)驗(yàn)教學(xué)、基于虛擬仿真平臺(tái)開(kāi)展實(shí)驗(yàn)教學(xué)和基于FPGA 器件開(kāi)展實(shí)驗(yàn)教學(xué)等幾種方式。
這是早期各高校普遍采用的實(shí)驗(yàn)教學(xué)方式,如清華大學(xué)和北京郵電大學(xué)都研制了相關(guān)的實(shí)驗(yàn)設(shè)備。這種實(shí)驗(yàn)設(shè)備是將構(gòu)成模型計(jì)算機(jī)的各個(gè)組成部分(如運(yùn)算器、控制器、存儲(chǔ)器等)以單元電路的形式組織在一塊PCB 上,并且將如數(shù)據(jù)線(xiàn)、地址線(xiàn)等基本的信號(hào)線(xiàn)都連接完畢,只保留一些(如片選信號(hào)、存儲(chǔ)器讀寫(xiě)信號(hào)之類(lèi))信號(hào)供學(xué)生在實(shí)驗(yàn)時(shí)進(jìn)行連接。因?yàn)閷?shí)驗(yàn)臺(tái)上電路的功能和結(jié)構(gòu)都比較固定,學(xué)生在實(shí)驗(yàn)時(shí)不能做出改變,因此這種實(shí)驗(yàn)臺(tái)比較適合開(kāi)展一些驗(yàn)證性的實(shí)驗(yàn),比如驗(yàn)證計(jì)算機(jī)各組成部分的工作原理,能夠開(kāi)展綜合性強(qiáng)一些的實(shí)驗(yàn)就是將各單元組合起來(lái)構(gòu)成一個(gè)模型計(jì)算機(jī),幫助學(xué)生理解計(jì)算機(jī)整機(jī)的結(jié)構(gòu)和工作原理,但總體上實(shí)驗(yàn)的開(kāi)展仍然是在設(shè)備廠(chǎng)家給定的設(shè)計(jì)方案上進(jìn)行驗(yàn)證,學(xué)生可以自己進(jìn)行設(shè)計(jì)的內(nèi)容很少,至于進(jìn)行創(chuàng)新性的設(shè)計(jì)就更加困難了。另外,實(shí)驗(yàn)箱往往價(jià)格較高,實(shí)驗(yàn)室的建設(shè)需要比較大的投資,還要占用專(zhuān)門(mén)的實(shí)驗(yàn)場(chǎng)地,這就導(dǎo)致實(shí)驗(yàn)的時(shí)間和地點(diǎn)不夠靈活。隨著實(shí)驗(yàn)的進(jìn)行,實(shí)驗(yàn)臺(tái)的老化和損壞不可避免,后期的維護(hù)工作非常繁重且需要持續(xù)地進(jìn)行投入,而且這種實(shí)驗(yàn)設(shè)備很難在后續(xù)課程中繼續(xù)使用,因此導(dǎo)致計(jì)算機(jī)組成原理課程的實(shí)驗(yàn)和相關(guān)課程的實(shí)驗(yàn)完全割裂開(kāi)來(lái),不利于培養(yǎng)學(xué)生完整計(jì)算機(jī)系統(tǒng)(既包括軟件又包括硬件)的思想,也就不利于學(xué)生解決復(fù)雜工程問(wèn)題能力的培養(yǎng)。
因?yàn)閭鹘y(tǒng)的基于實(shí)驗(yàn)箱的實(shí)驗(yàn)方式存在實(shí)驗(yàn)室建設(shè)投資大、設(shè)備維護(hù)成本高及實(shí)驗(yàn)開(kāi)展不靈活等問(wèn)題,國(guó)內(nèi)外高校都在不斷探索新的實(shí)驗(yàn)教學(xué)方式。隨著計(jì)算機(jī)技術(shù)(尤其是網(wǎng)絡(luò)技術(shù)和虛擬仿真技術(shù))的出現(xiàn)和成熟,先后出現(xiàn)了多種仿真實(shí)驗(yàn)教學(xué)平臺(tái),而且這種仿真實(shí)驗(yàn)教學(xué)技術(shù)和平臺(tái)仍在不斷的發(fā)展完善中。
在國(guó)內(nèi),大連理工大學(xué)軟件學(xué)院研發(fā)了在通用計(jì)算機(jī)上運(yùn)行的純軟件仿真環(huán)境,可以支持如運(yùn)算器、存儲(chǔ)器、控制器及模型機(jī)設(shè)計(jì)等主要實(shí)驗(yàn)。湘南學(xué)院軟件與通信工程學(xué)院也開(kāi)發(fā)了多思計(jì)算機(jī)組成原理網(wǎng)絡(luò)虛擬實(shí)驗(yàn)系統(tǒng)DS-VLAB。另外隨著云計(jì)算和大數(shù)據(jù)技術(shù)的發(fā)展,一些高校和研究機(jī)構(gòu)正在研制基于云平臺(tái)的虛擬仿真實(shí)驗(yàn)教學(xué)系統(tǒng),并希望通過(guò)大數(shù)據(jù)分析技術(shù)記錄和跟蹤每個(gè)學(xué)生的實(shí)驗(yàn)過(guò)程,為每個(gè)學(xué)生提供個(gè)性化的實(shí)驗(yàn)分析和指導(dǎo)[5]。
在國(guó)外,Logisim 是一個(gè)廣泛采用的仿真實(shí)驗(yàn)平臺(tái)。Logisim 提供了從基本的門(mén)電路到觸發(fā)器、比較器和運(yùn)算器等組合邏輯電路以及如鍵盤(pán)、數(shù)碼管、LED顯示屏等常用的外圍器件,能夠滿(mǎn)足計(jì)算機(jī)組成原理課程中各種性質(zhì)實(shí)驗(yàn)的需要。除此之外,Proteus 因具有龐大的元器件庫(kù)和各種仿真儀器儀表,可以支持從計(jì)算機(jī)組成部件到整機(jī)的設(shè)計(jì)和仿真,在計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)中也得到了廣泛的應(yīng)用[6]。盡管虛擬仿真實(shí)驗(yàn)平臺(tái)使得實(shí)驗(yàn)的開(kāi)展變得方便靈活,而且降低了實(shí)驗(yàn)成本,但這些平臺(tái)往往只能滿(mǎn)足單個(gè)課程或僅僅是硬件類(lèi)課程的實(shí)驗(yàn)要求,不能有效地將組成原理課程和如操作系統(tǒng)等計(jì)科專(zhuān)業(yè)核心課程的實(shí)驗(yàn)進(jìn)行整合,仍然不利于學(xué)生解決復(fù)雜工程問(wèn)題能力的培養(yǎng)。
FPGA(Field Programmable Gate Array) 器 件因其內(nèi)部豐富的資源和靈活的可編程特性在電氣信息類(lèi)課程的實(shí)驗(yàn)教學(xué)中得到了越來(lái)越多的應(yīng)用。在基于FPGA 的實(shí)驗(yàn)中,學(xué)生可以通過(guò)如Verilog HDL等硬件描述語(yǔ)言進(jìn)行各種功能模塊的設(shè)計(jì),然后經(jīng)過(guò)仿真、綜合、布局布線(xiàn)、調(diào)試與加載配置等步驟最終在FPGA 上對(duì)設(shè)計(jì)進(jìn)行實(shí)現(xiàn)。目前國(guó)內(nèi)如首都師范大學(xué)、中科院計(jì)算所、清華大學(xué)和東南大學(xué)等很多教學(xué)和科研機(jī)構(gòu)都開(kāi)展了基于FPGA 的相關(guān)實(shí)驗(yàn)教學(xué)和研究。
這種實(shí)驗(yàn)方式的設(shè)計(jì)和仿真等一系列過(guò)程都可以在個(gè)人計(jì)算機(jī)(如筆記本電腦)上完成,只有到加載配置階段才需要相應(yīng)的硬件設(shè)備,而硬件設(shè)備往往都十分小巧,便于隨身攜帶,因此這種實(shí)驗(yàn)方式具備了虛擬仿真實(shí)驗(yàn)方便靈活開(kāi)展教學(xué)的優(yōu)點(diǎn),而且可以與操作系統(tǒng)等后續(xù)課程的實(shí)驗(yàn)進(jìn)行整合,培養(yǎng)學(xué)生軟、硬件協(xié)同設(shè)計(jì)的綜合實(shí)踐能力。
工程教育質(zhì)量認(rèn)證對(duì)工程教育人才能力培養(yǎng)提出了12 個(gè)目標(biāo)要求,其中解決復(fù)雜工程問(wèn)題的能力是其中一個(gè)重要的指標(biāo)點(diǎn)。對(duì)于計(jì)科專(zhuān)業(yè)來(lái)說(shuō),為了進(jìn)行這一能力的培養(yǎng),國(guó)家計(jì)算機(jī)系統(tǒng)能力培養(yǎng)工作小組提出了“一個(gè) CPU、一個(gè)編譯器、一個(gè)操作系統(tǒng)”的方案[7]。這一方案中的三項(xiàng)內(nèi)容顯然是計(jì)科專(zhuān)業(yè)學(xué)生應(yīng)該具備的最核心能力,而如果能夠通過(guò)對(duì)相關(guān)課程的教學(xué)環(huán)節(jié)進(jìn)行整合,使得相關(guān)課程的教學(xué)各環(huán)節(jié)進(jìn)行緊密的銜接,定能達(dá)到事半功倍的效果。為此,筆者在總結(jié)自己多年計(jì)算機(jī)組成原理教學(xué)經(jīng)驗(yàn)并借鑒國(guó)內(nèi)兄弟院校相關(guān)課程實(shí)踐教學(xué)方案的基礎(chǔ)上,給出一種計(jì)算機(jī)組成原理課程的實(shí)驗(yàn)教學(xué)方案,內(nèi)容如表1 所示。

表1 計(jì)算機(jī)組成原理實(shí)驗(yàn)內(nèi)容
鑒于前文對(duì)目前已有的各種計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)方法的分析,因基于FPGA 開(kāi)展實(shí)驗(yàn)教學(xué)具有的諸多優(yōu)點(diǎn),表1 中實(shí)驗(yàn)的開(kāi)展均在基于FPGA的實(shí)驗(yàn)開(kāi)發(fā)平臺(tái)上進(jìn)行。表中的實(shí)驗(yàn)覆蓋了計(jì)算機(jī)主機(jī)即CPU+ 主存的所有組成部分,實(shí)驗(yàn)類(lèi)型包括驗(yàn)證型、設(shè)計(jì)型和綜合型幾種不同類(lèi)型,其中前三個(gè)實(shí)驗(yàn)較為基礎(chǔ),學(xué)生通過(guò)這三個(gè)實(shí)驗(yàn)熟悉實(shí)驗(yàn)環(huán)境并掌握計(jì)算機(jī)基本功能單元的設(shè)計(jì)方法,繼而通過(guò)后兩個(gè)實(shí)驗(yàn)實(shí)現(xiàn)更復(fù)雜的流水CPU 和基本模型機(jī)設(shè)計(jì),從而以由淺入深、循序漸進(jìn)的方式使學(xué)生的實(shí)踐和設(shè)計(jì)能力得到不斷的提升。另外,基于FPGA的實(shí)驗(yàn)方式可以讓學(xué)生有較大的發(fā)揮空間,比如流水CPU 設(shè)計(jì)實(shí)驗(yàn)中,學(xué)生可以根據(jù)自己的能力,設(shè)計(jì)具有不同數(shù)量過(guò)程段的CPU,從而有利于激發(fā)學(xué)生的創(chuàng)造力,不斷提高實(shí)驗(yàn)的復(fù)雜程度,進(jìn)而培養(yǎng)學(xué)生解決復(fù)雜工程問(wèn)題的能力。
基于FPGA 實(shí)驗(yàn)平臺(tái)開(kāi)展計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)的優(yōu)勢(shì)是較為明顯的,如果能夠?qū)⒂?jì)算機(jī)組成原理實(shí)驗(yàn)與其主要先修及后續(xù)課程的實(shí)驗(yàn)結(jié)合起來(lái),形成如表2 所示的貫穿式的實(shí)驗(yàn)教學(xué)體系,則將更有利于對(duì)學(xué)生進(jìn)行系統(tǒng)性的能力培養(yǎng)。

表2 基于FPGA 的計(jì)科專(zhuān)業(yè)貫穿式實(shí)踐教學(xué)體系
因基于FPGA 的設(shè)計(jì)需要使用Verilog HDL 等硬件描述語(yǔ)言,而計(jì)算機(jī)組成原理實(shí)驗(yàn)課時(shí)有限,所以建議將HDL 的學(xué)習(xí)前移到數(shù)字邏輯與數(shù)字系統(tǒng)實(shí)驗(yàn)中,結(jié)合如觸發(fā)器、譯碼器、全加器等基本邏輯電路的學(xué)習(xí),熟練應(yīng)用HDL 進(jìn)行邏輯設(shè)計(jì),為計(jì)算機(jī)組成原理的學(xué)習(xí)打下基礎(chǔ)。當(dāng)在計(jì)算機(jī)組成原理課程中學(xué)習(xí)了計(jì)算機(jī)各組成部分的邏輯設(shè)計(jì)方法之后,則可以在計(jì)算機(jī)組成原理課程實(shí)踐中將目前我國(guó)處理器芯片領(lǐng)域廣泛采用的RISC-V 架構(gòu)CPU核引入到模型機(jī)設(shè)計(jì)中,讓學(xué)生的學(xué)習(xí)更加接近工程實(shí)際,為將來(lái)的工作打下堅(jiān)實(shí)的基礎(chǔ)。后期的接口技術(shù)實(shí)驗(yàn)則圍繞之前設(shè)計(jì)的模型機(jī)擴(kuò)展各種外圍接口電路來(lái)進(jìn)行完整的計(jì)算機(jī)硬件子系統(tǒng)設(shè)計(jì)。操作系統(tǒng)實(shí)驗(yàn)的開(kāi)展則可以圍繞此前設(shè)計(jì)的計(jì)算機(jī)硬件子系統(tǒng),開(kāi)發(fā)一個(gè)可以安裝運(yùn)行在該硬件子系統(tǒng)上的操作系統(tǒng)內(nèi)核及相應(yīng)的接口驅(qū)動(dòng)程序,編譯原理實(shí)驗(yàn)則可繼續(xù)設(shè)計(jì)一個(gè)運(yùn)行在已經(jīng)完成的軟、硬件平臺(tái)上的編譯器,為已有的計(jì)算機(jī)系統(tǒng)開(kāi)發(fā)一種高級(jí)程序設(shè)計(jì)語(yǔ)言。在教學(xué)中,基于RISC-V 架構(gòu)的CPU 核、相應(yīng)的操作系統(tǒng)內(nèi)核及編譯器都有開(kāi)源的資料可以用于教學(xué)[8],教師可以結(jié)合已有的開(kāi)源設(shè)計(jì)講解軟硬件系統(tǒng)的設(shè)計(jì)原理,然后指導(dǎo)學(xué)生進(jìn)行系統(tǒng)移植和后期開(kāi)發(fā)。在這樣的教學(xué)方案指引下,學(xué)生在完成專(zhuān)業(yè)課程學(xué)習(xí)的同時(shí)也就開(kāi)展了完整的計(jì)算機(jī)硬件、軟件系統(tǒng)的開(kāi)發(fā)過(guò)程,課程間內(nèi)容的有機(jī)結(jié)合能夠使學(xué)生清楚地認(rèn)識(shí)到課程間的聯(lián)系,幫助他們建立起完整的專(zhuān)業(yè)知識(shí)體系,從而實(shí)現(xiàn)專(zhuān)業(yè)培養(yǎng)目標(biāo),使學(xué)生最終具備解決復(fù)雜工程問(wèn)題的能力。
工程教育質(zhì)量認(rèn)證對(duì)工科專(zhuān)業(yè)人才的實(shí)踐能力和解決復(fù)雜工程問(wèn)題的能力提出了更高的要求,為達(dá)到這些要求,我校計(jì)科專(zhuān)業(yè)對(duì)課程體系進(jìn)行了整體的設(shè)計(jì),其中在實(shí)踐教學(xué)環(huán)節(jié)的設(shè)計(jì)中,在硬件及系統(tǒng)教學(xué)方面,則以計(jì)算機(jī)組成原理這一核心專(zhuān)業(yè)基礎(chǔ)課程的實(shí)驗(yàn)教學(xué)為中心,將其先修與后續(xù)課程的實(shí)驗(yàn)教學(xué)有機(jī)地聯(lián)系在一起,形成一個(gè)貫穿式的實(shí)驗(yàn)教學(xué)體系。目前,這一教學(xué)方案正在教學(xué)中有序推進(jìn),學(xué)生在實(shí)踐課程中表現(xiàn)出來(lái)的積極性明顯增強(qiáng),專(zhuān)業(yè)教師將按照工程教育認(rèn)證持續(xù)改進(jìn)的教育思想不斷改進(jìn)和完善教學(xué)方法和內(nèi)容,專(zhuān)業(yè)的人才培養(yǎng)質(zhì)量定會(huì)得到不斷的提高。