范 琳,翟社平,王曉婕
(西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710121)
計(jì)算機(jī)組成原理是計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程和網(wǎng)絡(luò)工程專業(yè)本科培養(yǎng)過(guò)程中的核心課程,是技術(shù)性、工程性和實(shí)踐性很強(qiáng)的一門(mén)課。以組成原理為主線,硬件課程體系還包括微機(jī)原理與接口技術(shù)、匯編語(yǔ)言、硬件課程設(shè)計(jì)、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)等課程,目的是讓學(xué)生能深入理解計(jì)算機(jī)系統(tǒng)各功能部件的組成,工作原理及設(shè)計(jì)方法[1-4]。在后續(xù)工作或?qū)W習(xí)中,無(wú)論是進(jìn)行軟件開(kāi)發(fā)、硬件設(shè)計(jì),還是進(jìn)行更上層的算法研究,打下堅(jiān)實(shí)的基礎(chǔ)都能讓學(xué)生更好地開(kāi)展后續(xù)工作。
目前,多數(shù)高校在計(jì)算機(jī)組成原理的實(shí)踐教學(xué)中采用實(shí)驗(yàn)箱,該方式受到硬件資源的限制,存在較多的局限性。隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,利用EDA設(shè)計(jì)工具[5],能方便地實(shí)現(xiàn)硬件仿真,降低做實(shí)驗(yàn)的門(mén)檻,更利于學(xué)生學(xué)習(xí)興趣的培養(yǎng)。
Proteus軟件是英國(guó)Lab Center Electronics公司出版的EDA工具軟件,能仿真多種型號(hào)的CPU及外圍器件,是目前較好的仿真單片機(jī)及外圍器件的工具,受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞[6-9]。
目前在本科教學(xué)中,大部分高校采用實(shí)驗(yàn)箱來(lái)進(jìn)行硬件類課程實(shí)驗(yàn)教學(xué),例如西安郵電大學(xué)計(jì)算機(jī)組成原理課程采用唐都TD-CMA實(shí)驗(yàn)箱,實(shí)驗(yàn)箱內(nèi)有運(yùn)算器、寄存器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備等固件,學(xué)生通過(guò)連線、錄入指令和微指令等方式來(lái)完成實(shí)驗(yàn),但上述實(shí)驗(yàn)方法存在若干問(wèn)題。
(1)一學(xué)期只有5次實(shí)驗(yàn),學(xué)生很難及時(shí)通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證所學(xué)的理論,課程知識(shí)面廣,難度大,概念抽象,學(xué)生在學(xué)習(xí)過(guò)程中缺乏對(duì)知識(shí)的驗(yàn)證,無(wú)法建立計(jì)算機(jī)單機(jī)系統(tǒng)的整體認(rèn)識(shí),導(dǎo)致學(xué)習(xí)興趣下降。
(2)實(shí)驗(yàn)箱較大,無(wú)法讓學(xué)生帶回宿舍繼續(xù)研究,因此學(xué)生離開(kāi)了實(shí)驗(yàn)室就沒(méi)辦法再做實(shí)驗(yàn)。在每次實(shí)驗(yàn)的2個(gè)小時(shí)中,部分同學(xué)充分理解實(shí)驗(yàn)內(nèi)容并完成了實(shí)驗(yàn),但還有一部分同學(xué)并沒(méi)有完成實(shí)驗(yàn),回到宿舍也沒(méi)法繼續(xù)進(jìn)行。
(3)實(shí)驗(yàn)箱上做實(shí)驗(yàn),存在很大的“不確定性”,即使學(xué)生的連線正確,但由于芯片壞了、導(dǎo)線壞了或者連接過(guò)程中的接觸不良等,也看不到正確的運(yùn)行結(jié)果。學(xué)生需要花大量的時(shí)間反復(fù)檢查連線,但也不一定能完成實(shí)驗(yàn)。
(4)1名教師帶3個(gè)班的實(shí)驗(yàn),在實(shí)驗(yàn)的2小時(shí)內(nèi),30%好學(xué)的學(xué)生主動(dòng)問(wèn)問(wèn)題,老師的時(shí)間已經(jīng)全部占滿,無(wú)法關(guān)注到每個(gè)學(xué)生,想要“逼”所有學(xué)生都認(rèn)真自覺(jué)地學(xué)習(xí)其實(shí)是做不到的。
(5)學(xué)生在實(shí)驗(yàn)過(guò)程中,按照指導(dǎo)書(shū)的步驟在實(shí)驗(yàn)箱完成簡(jiǎn)單的連線與開(kāi)關(guān)撥動(dòng),限制了學(xué)生主觀能動(dòng)性的發(fā)揮,照貓畫(huà)虎,不求甚解,沒(méi)有自己的思考,實(shí)驗(yàn)完成后收獲很有限。
針對(duì)以上的問(wèn)題,可以將EDA軟件Proteus應(yīng)用于教學(xué)實(shí)驗(yàn)中,通過(guò)增加針對(duì)小型知識(shí)點(diǎn)的細(xì)粒度實(shí)驗(yàn),學(xué)生能體會(huì)到計(jì)算機(jī)各個(gè)組成部件的工作原理與設(shè)計(jì)方法,能從純理論過(guò)渡到仿真系統(tǒng),從而體會(huì)到計(jì)算機(jī)設(shè)計(jì)的魅力。
以往教學(xué)中采用下列方式來(lái)加深理解:學(xué)生在課堂上完成習(xí)題,課后完成作業(yè),通過(guò)問(wèn)答題、計(jì)算題、畫(huà)設(shè)計(jì)圖等方式來(lái)鞏固學(xué)習(xí)內(nèi)容。但是很多同學(xué)對(duì)抽象的難度較大的理論不感興趣,作業(yè)存在抄襲現(xiàn)象。
為了提高學(xué)生的主觀能動(dòng)性,將Proteus應(yīng)用于組成原理的教學(xué)過(guò)程中,如果本次課的內(nèi)容涉及仿真實(shí)驗(yàn),則提前通知學(xué)生攜帶筆記本電腦,2~3名同學(xué)共用一臺(tái)電腦,在課堂理論講解結(jié)束后,可以在老師的指導(dǎo)下完成小型的驗(yàn)證型實(shí)驗(yàn)。
改革前組成原理的5次實(shí)驗(yàn)為運(yùn)算器組成實(shí)驗(yàn)、存儲(chǔ)器實(shí)驗(yàn)、總線控制實(shí)驗(yàn)、微控制器實(shí)驗(yàn)和基本模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)。改革后,增加基于Proteus的仿真實(shí)驗(yàn):一位全加器、行波進(jìn)位加法器、行波進(jìn)位加減法器、BCD碼加法器、一片74ls181構(gòu)成4位運(yùn)算器和兩片74ls181構(gòu)成8位運(yùn)算器。仿真實(shí)驗(yàn)粒度較細(xì),用于驗(yàn)證課本中的細(xì)節(jié)知識(shí),能讓學(xué)生隨學(xué)隨用,增加學(xué)習(xí)成就感。仿真實(shí)驗(yàn)?zāi)芙o學(xué)生打下好的EDA使用基礎(chǔ),在后續(xù)的組成原理課程設(shè)計(jì)中,學(xué)生可完成基本模型機(jī)和擴(kuò)展指令的模型機(jī)。兩種實(shí)驗(yàn)情況對(duì)比見(jiàn)表1。
采用Proteus進(jìn)行仿真實(shí)驗(yàn),從一位全加器到基本模型機(jī)都可以設(shè)計(jì)。與實(shí)驗(yàn)箱實(shí)驗(yàn)過(guò)程相比具有以下一些優(yōu)點(diǎn)。
1)實(shí)驗(yàn)門(mén)檻低。
使用Proteus進(jìn)行實(shí)驗(yàn),環(huán)境搭建很簡(jiǎn)單,在任何一臺(tái)PC上安裝Proteus,都能進(jìn)行仿真,可以在宿舍完成實(shí)驗(yàn),學(xué)生對(duì)課堂上未理解的知識(shí),也可以使用Proteus驗(yàn)證。
2)易學(xué)易用。
Protues入門(mén)簡(jiǎn)單,在元件庫(kù)里搜索相應(yīng)器件,并正確連線,就能仿真并看到實(shí)驗(yàn)效果。
3)減少“不確定性”。
實(shí)驗(yàn)箱里的芯片,因?yàn)槭褂貌划?dāng)或者使用時(shí)間過(guò)長(zhǎng),有一些壞的。學(xué)生在實(shí)驗(yàn)時(shí),連線且完成操作后,卻看不到運(yùn)行結(jié)果,需要反復(fù)檢查,浪費(fèi)大量的時(shí)間,實(shí)際原因也許是某根線接觸不良、某塊芯片壞了。而使用Proteus,只要連線與操作正確,Proteus就能給出仿真的運(yùn)行結(jié)果,能讓學(xué)生在學(xué)習(xí)過(guò)程中,建立更多的成就感,更有學(xué)習(xí)興趣。
表1 組成原理實(shí)驗(yàn)箱實(shí)驗(yàn)與仿真實(shí)驗(yàn)的對(duì)應(yīng)關(guān)系表
4)查錯(cuò)更方便。
在實(shí)驗(yàn)箱發(fā)生錯(cuò)誤時(shí),很難很快定位到出錯(cuò)位置,因?yàn)闊o(wú)法看到每條線里傳輸?shù)氖?還是1,在Proteus中尋找錯(cuò)誤時(shí),加上Logic Probe(邏輯探針),就能看到每個(gè)點(diǎn)的值,能輕松找出錯(cuò)誤。
5)實(shí)驗(yàn)粒度更細(xì)。
使用實(shí)驗(yàn)箱能做5次實(shí)驗(yàn),在指導(dǎo)書(shū)上,實(shí)驗(yàn)步驟寫(xiě)得非常明確,具體操作就是連線。使用Proteus能完成更細(xì)致的驗(yàn)證,如可以搭建半加器、一位全加器、行波進(jìn)位加法器、ALU等,來(lái)驗(yàn)證課本上的理論,促使學(xué)生思考:為什么幾個(gè)與或門(mén)就能實(shí)現(xiàn)加法運(yùn)算呢?做了驗(yàn)證性實(shí)驗(yàn)就會(huì)發(fā)現(xiàn):它們的輸入和輸出是一樣的,真值表是一樣的。圖1給出了在Proteus中構(gòu)建的一位全加器,使用開(kāi)關(guān)和燈進(jìn)行輸入輸出。
6)更具針對(duì)性。
圖1 基于Proteus構(gòu)建一位全加器(使用開(kāi)關(guān)和燈進(jìn)行輸入輸出)
屏蔽底層電路知識(shí),讓沒(méi)有數(shù)字電路與模擬電路基礎(chǔ)的學(xué)生能專注于組成原理的知識(shí),不需要通過(guò)搭建電路來(lái)獲取高低電平。圖2為邏輯全加器,不需要使用電源、開(kāi)關(guān)、地線和電阻,采用Logic State進(jìn)行輸入,Logic Probe顯示輸出。
7)答疑更方便。
學(xué)生在課后基于Proteus做實(shí)驗(yàn)時(shí),遇到任何問(wèn)題都可以把設(shè)計(jì)文件通過(guò)郵件發(fā)給老師,老師可以及時(shí)回復(fù)。
8)方便學(xué)生自學(xué)。
Proteus方便制作MOOC并進(jìn)行網(wǎng)絡(luò)教學(xué),能給學(xué)生進(jìn)行自學(xué)提供便利條件。
傳統(tǒng)基于實(shí)驗(yàn)箱的實(shí)驗(yàn)過(guò)程中,提供給學(xué)生的都是固化的模塊,如741s181芯片,沒(méi)有細(xì)節(jié)的實(shí)驗(yàn);使用改進(jìn)型細(xì)粒度實(shí)驗(yàn)設(shè)計(jì),能提高學(xué)生的自學(xué)與思考能力,讓學(xué)生能真正理解實(shí)驗(yàn)的內(nèi)容。
圖2 基于Proteus構(gòu)建一位全加器(邏輯輸入與輸出)
在運(yùn)算器設(shè)計(jì)章節(jié),可以按順序完成多次細(xì)粒度實(shí)驗(yàn):①一位全加器。②行波進(jìn)位加法器?;谝晃蝗悠餍酒?4ls183設(shè)計(jì)能進(jìn)行4位二進(jìn)制運(yùn)算的行波進(jìn)位加法器。③行波進(jìn)位加減法器。增加方式控制位M,可以使得行波進(jìn)位加法器能完成減法。當(dāng)M為0時(shí),完成加法運(yùn)算。M為1時(shí),完成減法運(yùn)算。④BCD碼加法器。使用4位二進(jìn)制表示1位十進(jìn)制數(shù)的壓縮型BCD碼,在做加法運(yùn)算時(shí),如果采用二進(jìn)制的加法規(guī)則來(lái)運(yùn)算,則運(yùn)算完畢有可能需要進(jìn)行調(diào)整,設(shè)計(jì)加法與調(diào)整電路。⑤一片74ls181構(gòu)成4位運(yùn)算器。使用74ls181ALU芯片來(lái)完成兩個(gè)操作數(shù)的多種算術(shù)和邏輯運(yùn)算,開(kāi)關(guān)通過(guò)三態(tài)門(mén)74HC245連接總線,打開(kāi)三態(tài)門(mén)能將開(kāi)關(guān)上的信息送到總線上,并使用鎖存器74273將信息鎖存并提供給運(yùn)算器74ls181,運(yùn)算結(jié)果能通過(guò)三態(tài)門(mén)再輸出到總線上,送到輸出設(shè)備。⑥兩片74ls181構(gòu)成8位運(yùn)算器。使用兩片74ls181構(gòu)成8位運(yùn)算器,能一次性完成兩個(gè)8位二進(jìn)制數(shù)據(jù)的運(yùn)算。Proteus設(shè)計(jì)圖如圖3所示。
圖3 兩片74ls181構(gòu)成8位運(yùn)算器設(shè)計(jì)圖
為試驗(yàn)改革效果,針對(duì)多個(gè)班級(jí)指導(dǎo)組成原理課程,3個(gè)班分別執(zhí)行實(shí)驗(yàn)改革方案,其余3個(gè)班按原實(shí)驗(yàn)計(jì)劃進(jìn)行,執(zhí)行改革方案的班級(jí)中,大部分同學(xué)更有學(xué)習(xí)興趣,課后答疑的同學(xué)更多,最后考試結(jié)果見(jiàn)表2。
進(jìn)行改革的班級(jí)在設(shè)計(jì)題中表現(xiàn)很好,設(shè)計(jì)題平均提高1.2分,因此組成原理實(shí)驗(yàn)改革有助于提高學(xué)生的設(shè)計(jì)能力,更好地支撐學(xué)生的畢業(yè)要求,讓學(xué)生具備分析并解決復(fù)雜計(jì)算機(jī)系統(tǒng)工程問(wèn)題的能力,能夠基于科學(xué)原理,采用科學(xué)方法,使用現(xiàn)代工具,進(jìn)行復(fù)雜計(jì)算機(jī)軟硬件系統(tǒng)的研究、規(guī)劃、設(shè)計(jì)與開(kāi)發(fā),具備較強(qiáng)的工程實(shí)踐能力。
將Proteus應(yīng)用到組成原理的實(shí)驗(yàn)教學(xué),作為傳統(tǒng)教學(xué)的有益補(bǔ)充,可以激發(fā)學(xué)生的學(xué)習(xí)興趣,深化學(xué)生對(duì)理論的理解,讓學(xué)生能使用現(xiàn)代工具,進(jìn)行計(jì)算機(jī)軟硬件系統(tǒng)設(shè)計(jì)與開(kāi)發(fā),該項(xiàng)改革取得了良好的教學(xué)效果,提高了學(xué)生設(shè)計(jì)能力,更好地支撐了學(xué)生的畢業(yè)要求,是一項(xiàng)值得推廣的教學(xué)改革?;赑roteus的強(qiáng)大仿真能力,下一步計(jì)劃將Proteus推廣到計(jì)算機(jī)硬件課程群的其他課程中進(jìn)行實(shí)驗(yàn)改革。
表2 組成原理實(shí)驗(yàn)改革結(jié)果比較