摘要:計算機(jī)組成原理課程在計算機(jī)體系結(jié)構(gòu)課程群中起著承上啟下的作用。文章提出將專業(yè)特點(diǎn)、課程重點(diǎn)、實(shí)踐教學(xué)環(huán)節(jié)聯(lián)系起來,適當(dāng)調(diào)整現(xiàn)有教學(xué)內(nèi)容及方法。通過實(shí)施發(fā)現(xiàn),這種調(diào)整對促進(jìn)學(xué)生進(jìn)一步理解課程內(nèi)容,加強(qiáng)動手實(shí)踐能力的培養(yǎng),提高計算機(jī)專業(yè)學(xué)生硬件設(shè)計能力大有裨益。
關(guān)鍵詞:計算機(jī)組成原理;實(shí)踐教學(xué);動手實(shí)踐能力
在我國當(dāng)前高校教育中常出現(xiàn)這樣一種情況:經(jīng)過四年的學(xué)習(xí),很多學(xué)生只是掌握了一些書本上理論性的知識,缺乏實(shí)際工作的知識和操作技能,動手實(shí)踐能力很低,綜合素質(zhì)不高,很難滿足用人單位的要求。特別是近些年來一些高校在師資條件不具備的情況下,擴(kuò)招速度較快,致使辦學(xué)經(jīng)費(fèi)缺乏[1],對于實(shí)踐教學(xué)環(huán)節(jié)有所削弱,這就不可避免地導(dǎo)致學(xué)生理論與實(shí)踐存在一定程度的脫節(jié)。因此無論從大學(xué)本身的教育功能還是從時代發(fā)展對人才素質(zhì)的要求來看,加強(qiáng)對大學(xué)生動手實(shí)踐能力的培養(yǎng)都有著極其重要的意義。
對于實(shí)踐性較強(qiáng)的計算機(jī)專業(yè)課程而言,在教學(xué)過程中更不能只重視理論基礎(chǔ),忽視動手實(shí)踐能力的培養(yǎng),因此需要對現(xiàn)有教學(xué)模式進(jìn)一步優(yōu)化,提倡精講多練,更全面地發(fā)揮學(xué)生的學(xué)習(xí)自主性。計算機(jī)組成原理課程是計算機(jī)科學(xué)與技術(shù)專業(yè)的主干必修課,是計算機(jī)體系結(jié)構(gòu)課程群的核心課程,在整個課程體系中起著承上啟下的作用。這門課程的先修課有數(shù)字邏輯、匯編語言程序設(shè)計,后續(xù)課程有計算機(jī)系統(tǒng)結(jié)構(gòu)、微機(jī)接口技術(shù)、嵌入式系統(tǒng)等。課程中涉及的知識面較廣,加上有些理論較抽象,學(xué)生在學(xué)習(xí)時普遍覺得內(nèi)容不好理解,導(dǎo)致學(xué)完本課程后,基礎(chǔ)知識掌握不扎實(shí),學(xué)習(xí)后續(xù)課程時會產(chǎn)生“恐懼”心理,從而影響很多課程的學(xué)習(xí),最后變成“談硬件色變”。對于從事計算機(jī)組成原理課程教學(xué)的教師來說,如何引導(dǎo)學(xué)生學(xué)習(xí)好這門課程顯得尤為必要。
1課程教學(xué)現(xiàn)狀
目前國內(nèi)高校計算機(jī)組成原理課程教學(xué)上理論性內(nèi)容過多且陳舊,這里面存在一定的客觀原因,如計算機(jī)硬件發(fā)展太快,新知識包含許多較復(fù)雜的技術(shù),熟悉該技術(shù)并掌握技術(shù)中的理論知識需要花費(fèi)一定的時間和精力,對于學(xué)生而言較難學(xué)習(xí)和理解,因此組織和實(shí)施教學(xué)的難度較大,許多教師就偏向于講述舊的知識,這對于了解現(xiàn)代計算機(jī)系統(tǒng)的發(fā)展已顯不足。
對于計算機(jī)組成原理課程而言,由于更多涉及計算機(jī)內(nèi)部的構(gòu)造、工作原理和應(yīng)用,很多知識只有通過實(shí)踐操作和驗證才能真正理解和掌握,要想真正理解相關(guān)知識光有課堂教學(xué)還遠(yuǎn)遠(yuǎn)不夠,需要配有一定實(shí)踐教學(xué)手段。目前很多高校的計算機(jī)組成原理課程都設(shè)有實(shí)踐教學(xué)課程,普遍采用下面幾種模式。
第一種模式是在做計算機(jī)的部件級設(shè)計實(shí)驗以及計算機(jī)主機(jī)系統(tǒng)設(shè)計實(shí)驗時,采用特定硬件實(shí)驗臺進(jìn)行實(shí)驗[2]。這種模式的優(yōu)點(diǎn)是較為直觀,學(xué)生能夠感覺到是在做硬件實(shí)驗。但計算機(jī)主機(jī)的總體結(jié)構(gòu)往往已經(jīng)固定,學(xué)生很難重新進(jìn)行計算機(jī)結(jié)構(gòu)的設(shè)計,創(chuàng)造力不能得到很好地發(fā)揮。由于局限于該平臺所提供的功能,實(shí)驗時往往參照實(shí)驗手冊完成,整個過程驗證性成分較多,而且在實(shí)驗中存在著插線虛接、器件損壞以及實(shí)驗結(jié)果不能長久保存等問題。
第二種模式采用EDA虛擬平臺來實(shí)現(xiàn)[3]。這種方式可以很好地進(jìn)行計算機(jī)硬件系統(tǒng)的邏輯功能設(shè)計,而且可以提高系統(tǒng)設(shè)計的水平及效率。學(xué)生按照自己設(shè)計出的邏輯電路在EDA平臺提供的元器件之間進(jìn)行連線,線路一旦連接好,不必再擔(dān)心連線折斷、導(dǎo)線虛接等問題,對于未做完的實(shí)驗還可以隨時保存,而且可以針對設(shè)計出的部件以及計算機(jī)主機(jī)系統(tǒng)進(jìn)行模擬仿真,以驗證邏輯設(shè)計的正確性。不足之處是實(shí)驗在虛擬環(huán)境下進(jìn)行,所有仿真是建立在器件物理模型上的,測試時僅靠觀測仿真波形來確定功能實(shí)現(xiàn)與否。雖然在設(shè)計計算機(jī)結(jié)構(gòu)時不受限于特定實(shí)驗環(huán)境,但由于在整個實(shí)踐環(huán)節(jié)沒有接觸具體元器件,學(xué)生感覺不到是在做硬件實(shí)驗,同時又缺乏真正的硬件調(diào)試過程,在鍛煉動手實(shí)踐能力上打了一定的折扣。
這兩種模式對于現(xiàn)階段培養(yǎng)學(xué)生動手實(shí)踐能力已顯不足,為了適應(yīng)新時代對大學(xué)生的要求,需要更新現(xiàn)有的實(shí)踐教學(xué)手段。當(dāng)前很多高校已經(jīng)引入FPGA實(shí)驗平臺,由于FPGA芯片具有靜態(tài)可重復(fù)編程和動態(tài)系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改。用戶可以通過原理圖輸入法或硬件描述語言,完成從簡單的74系列等各種數(shù)字電路到高性能CPU的設(shè)計。使用FPGA還可以大大縮短設(shè)計時間,當(dāng)電路有少量改動時,F(xiàn)PGA的優(yōu)勢更加突出。因此采用FPGA芯片進(jìn)行計算機(jī)組成原理課程設(shè)計優(yōu)勢較為明顯,目前已有一些高校采用FPGA平臺進(jìn)行課程設(shè)計[4],這可看作第三種模式。它兼有前面兩種模式的優(yōu)點(diǎn),可以讓學(xué)生感覺到在做硬件實(shí)驗,而且只要設(shè)計的門電路規(guī)模在允許范圍內(nèi),想象力可以得到充分的發(fā)揮?;贔PGA的這些優(yōu)點(diǎn),我們對于學(xué)生動手實(shí)踐能力培養(yǎng)就構(gòu)建在該平臺上。
2課程改革與探索
對于計算機(jī)組成原理這門課,教學(xué)內(nèi)容、實(shí)踐手段都會影響教學(xué)效果。課程組經(jīng)過研討,對現(xiàn)有教學(xué)方法做了適當(dāng)調(diào)整,將專業(yè)特點(diǎn)、課程重點(diǎn)、實(shí)踐教學(xué)環(huán)節(jié)的作用聯(lián)系起來,幫助學(xué)生理解課程中的理論知識,借助FPGA平臺進(jìn)行課程實(shí)踐,促進(jìn)學(xué)生進(jìn)一步融會貫通課程內(nèi)容。使學(xué)生不僅掌握計算機(jī)中CPU的設(shè)計方法及各模塊的工作原理,建立計算機(jī)整機(jī)系統(tǒng)概念;同時還注重對學(xué)生的實(shí)際動手能力的培養(yǎng),改善計算機(jī)專業(yè)學(xué)生在硬件設(shè)計能力上有所欠缺的問題,為下一步學(xué)習(xí)后續(xù)課程打好基礎(chǔ)。
1) 在保證教學(xué)基本要求的前提下,增加新知識、新技術(shù),增強(qiáng)學(xué)生學(xué)習(xí)計算機(jī)組成原理的興趣。
考慮到教學(xué)安排的層次性和循序漸進(jìn)的要求,在教學(xué)內(nèi)容上首先要符合教學(xué)基本要求,重點(diǎn)突出、難易適度,同時還要兼顧一些新知識、新技術(shù)。即以基本的、重要的知識點(diǎn)為主,通過對知識點(diǎn)的講解、探討,使學(xué)生首先能夠掌握方法。由于計算機(jī)學(xué)科是一個高速發(fā)展的學(xué)科,可針對學(xué)科研究現(xiàn)狀和發(fā)展動態(tài),對教學(xué)內(nèi)容進(jìn)行更新和拓展,引入新的科研成果和研究趨勢,激發(fā)學(xué)生探求知識的欲望,從而進(jìn)一步提高課程學(xué)習(xí)效果。在課堂講授中除了講授必要的理論知識幫助學(xué)生建立計算機(jī)整機(jī)概念外,還將計算機(jī)系統(tǒng)結(jié)構(gòu)中一些經(jīng)典的設(shè)計(如流水線技術(shù)、高速緩沖存儲器技術(shù)等)用一定課時介紹給學(xué)生,此外還引入如MIPS架構(gòu)、多核處理器以及可重構(gòu)計算等一些相對較新的技術(shù)和知識,這些“看得見、摸得著”的計算機(jī)系統(tǒng)有利于激發(fā)學(xué)生對課程內(nèi)容的聯(lián)想,探求一些感興趣或與課程內(nèi)容相關(guān)的問題。通過教學(xué)內(nèi)容的變化,使得學(xué)生對于計算機(jī)系統(tǒng)設(shè)計產(chǎn)生很大興趣,有些學(xué)生會主動閱讀和了解相關(guān)資料,這對于他們提高自學(xué)能力非常有用。我院在本科生中開設(shè)有創(chuàng)新學(xué)分課程,其中“MIPS體系結(jié)構(gòu)原理及設(shè)計”課程是在計算機(jī)組成原理課程之后開設(shè)的,有很多學(xué)生在計算機(jī)組成原理課程學(xué)習(xí)中了解了MIPS相關(guān)知識,產(chǎn)生了一定的興趣,對于這門課程選修積極性很高,而且在該課課程設(shè)計中也表現(xiàn)出極高的重視程度且能夠很專注地投入進(jìn)去,這都很好地說明適當(dāng)引入新知識能激發(fā)學(xué)生學(xué)習(xí)的興趣。
2) 在課程教學(xué)環(huán)節(jié)中,引導(dǎo)學(xué)生進(jìn)行知識運(yùn)用,培養(yǎng)學(xué)生分析問題和解決問題的能力。
教學(xué)過程中要始終以學(xué)生為主體,教師要引導(dǎo)學(xué)生積極思考,使學(xué)生的思維活動始終處于活躍狀態(tài),使學(xué)生在課堂上不僅能夠掌握相關(guān)的教學(xué)內(nèi)容,此外還應(yīng)該研究如何引導(dǎo)學(xué)生, 使學(xué)生充分認(rèn)識到,專業(yè)課學(xué)習(xí)的真正目的是培養(yǎng)分析問題和解決問題的能力。教師在教學(xué)工作中應(yīng)該將自己的科研工作轉(zhuǎn)化為教學(xué)資源引入課堂教學(xué),讓學(xué)生體會到所學(xué)知識的應(yīng)用價值和社會價值,同時體會到所學(xué)知識的必要性,從而激發(fā)學(xué)習(xí)的興趣和動力。在這個過程中教師可以采用適當(dāng)?shù)姆椒?,引?dǎo)學(xué)生如何分析科研中遇到的問題,并敢于用所學(xué)知識解決問題,這能夠很好地鍛煉學(xué)生的思維。很多學(xué)生在課程設(shè)計環(huán)節(jié)能夠提出一些好的想法,并且能夠積極的去驗證自己的想法,這對于本課程相關(guān)知識的理解起到了積極的作用,而且對日后從事工程設(shè)計也有很大的啟發(fā)。
3) 加強(qiáng)實(shí)踐教學(xué)環(huán)節(jié),培養(yǎng)學(xué)生實(shí)際動手能力,并制定合理完善的評分體系。
通過實(shí)踐教學(xué),可以發(fā)現(xiàn)理論真知,培養(yǎng)學(xué)生的科學(xué)研究技能,提高學(xué)習(xí)興趣和實(shí)踐動手能力。在實(shí)踐教學(xué)中,讓每人都有充分的動手機(jī)會并成為實(shí)驗的主體非常重要。在課程設(shè)計中,鼓勵并引導(dǎo)學(xué)生去設(shè)計獨(dú)特的模型機(jī)結(jié)構(gòu),避免出現(xiàn)模型機(jī)總體結(jié)構(gòu)千篇一律,僅在指令條數(shù)上有所區(qū)別的現(xiàn)象。同時為了提高學(xué)生實(shí)踐動手能力,要求設(shè)計成果能夠在真實(shí)的硬件平臺上運(yùn)行。這就在具體設(shè)計過程中給學(xué)生提出了要求,除了完成模型機(jī)主機(jī)設(shè)計外還要增加必要的輸入輸出電路。由于要求模型機(jī)能夠運(yùn)行在真實(shí)的FPGA芯片中,主機(jī)調(diào)試時必須完成時序仿真,學(xué)生需要反復(fù)優(yōu)化電路結(jié)構(gòu)才能實(shí)現(xiàn),這有助于提高學(xué)生數(shù)字電路設(shè)計能力。對于輸入部分學(xué)生可以選擇指撥開關(guān)、矩陣鍵盤,輸出部分可以選擇數(shù)碼管、LED陣列顯示以及液晶顯示屏,不管如何選擇,都要求在模型機(jī)的基礎(chǔ)上增加外圍控制電路,對這些基本輸入輸出部件的控制強(qiáng)化了學(xué)生的基本功,這有助于日后學(xué)習(xí)其他課程或進(jìn)行嵌入式開發(fā)時進(jìn)行更復(fù)雜外設(shè)的控制。當(dāng)模型機(jī)主機(jī)和外圍控制電路設(shè)計完成后,對外設(shè)分配相應(yīng)的控制管腳,通過EDA軟件綜合后即可下載到FPGA芯片中,同時進(jìn)行硬件調(diào)試,如果硬件不能正常工作還需要再對主機(jī)或外圍控制電路進(jìn)行修改,直到整個模型機(jī)能夠正確工作為止。最后學(xué)生展示自己設(shè)計成果時,能夠真實(shí)地看到每一條指令的運(yùn)行結(jié)果,更加直觀地體會到計算機(jī)的基本工作原理及工作過程。
在整個課程設(shè)計中學(xué)生首先需要掌握EDA軟件的使用,需要了解FPGA工作原理,查閱與芯片有關(guān)的數(shù)據(jù)手冊,還要了解外圍電路如何控制以及在設(shè)計過程中的前仿真、后仿真和包括整個系統(tǒng)的調(diào)試。這對于培養(yǎng)學(xué)生建立自頂向下的設(shè)計思維,提高自身動手能力,增強(qiáng)學(xué)習(xí)硬件的興趣都非常有益。為了使學(xué)生能夠順利完成課程設(shè)計,實(shí)踐過程中教研組教師根據(jù)實(shí)驗環(huán)境、學(xué)時給學(xué)生及時的指導(dǎo),使得學(xué)生能夠充分發(fā)揮自己的想象空間,還能夠保證最終設(shè)計切實(shí)可行。最后在實(shí)踐環(huán)節(jié)的驗收階段還制定了一套合理完善的評分體系,能夠?qū)W(xué)生的創(chuàng)新能力、動手能力以及自學(xué)能力進(jìn)行評價。
4) 將一些與計算機(jī)體系結(jié)構(gòu)相關(guān)的課題引入畢業(yè)設(shè)計中,進(jìn)一步培養(yǎng)學(xué)生的科學(xué)研究和創(chuàng)新實(shí)踐的綜合能力。
計算機(jī)組成原理課程學(xué)習(xí)的結(jié)束并不等于對課程中相關(guān)知識探求的結(jié)束,對于在計算機(jī)體系結(jié)構(gòu)方向感興趣的學(xué)生,可以進(jìn)一步提高學(xué)生對有關(guān)問題的研究與應(yīng)用,如有關(guān)片上系統(tǒng)設(shè)計和應(yīng)用的課題,讓學(xué)生利用畢業(yè)設(shè)計充足的時間去實(shí)現(xiàn)課程設(shè)計中無法完成的設(shè)計思想。由于畢業(yè)設(shè)計是學(xué)生在設(shè)計方法、實(shí)驗方法和研究內(nèi)容上進(jìn)行系統(tǒng)訓(xùn)練的環(huán)節(jié),有利于培養(yǎng)學(xué)生運(yùn)用所學(xué)知識與技能獨(dú)立分析和解決實(shí)際問題的能力。通過探討,教研組教師有意將一些有一定的綜合性、覆蓋知識面較廣而且具有一定難度和工作量的課題引入畢業(yè)設(shè)計中,如讓學(xué)生完善自己的模型機(jī)并能夠?qū)崿F(xiàn)一定的計算機(jī)控制,使這些學(xué)生能夠得到更全面的鍛煉,使學(xué)生的動手實(shí)踐能力得到更高的培養(yǎng)。從課堂教學(xué)、實(shí)踐教學(xué)到畢業(yè)設(shè)計,一門計算機(jī)組成原理課程可以將多個教學(xué)環(huán)節(jié)結(jié)合起來,由于硬件設(shè)計是相通的,學(xué)生掌握牢固的計算機(jī)組成原理知識對于后續(xù)課程或相關(guān)技術(shù)的學(xué)習(xí)和理解也起到了很好地作用。
3結(jié)語
課程組在教學(xué)過程中力求改善以往教學(xué)中僅把該課程作為一門理論課,而忽視了對學(xué)生動手實(shí)際能力培養(yǎng)的狀況,進(jìn)一步發(fā)掘計算機(jī)組成原理作為主干必修課程的作用,在實(shí)踐教學(xué)中培養(yǎng)學(xué)生的動手能力。通過探討及實(shí)施不僅使學(xué)生對理論知識加深了理解,還充分發(fā)揮他們的想象力對一些問題進(jìn)行深入的研究,并通過FPGA平臺完成模型機(jī)設(shè)計,這有益于培養(yǎng)學(xué)生的動手實(shí)踐能力。整個教研過程證明從課堂教學(xué)、實(shí)踐教學(xué)及畢業(yè)設(shè)計環(huán)節(jié)出發(fā), 對于構(gòu)建該課程較為完善的實(shí)踐教育教學(xué)培養(yǎng)體系十分有益。誠然,在教學(xué)過程中,還有一些基礎(chǔ)不夠好、動手能力差的學(xué)生對于課程的要求還有些不適應(yīng),如何更好地兼顧不同層次學(xué)生的需求,需要我們在今后的教學(xué)工作中繼續(xù)探索和總結(jié),并使之進(jìn)一步完善。
參考文獻(xiàn):
[1]