吳榮海
(大理大學(xué),云南大理 671003)
Logisim在“計(jì)算機(jī)組成原理”教學(xué)中的應(yīng)用實(shí)踐
吳榮海
(大理大學(xué),云南大理 671003)
分析了計(jì)算機(jī)組成原理在理論教學(xué)中存在的缺乏對知識點(diǎn)直觀驗(yàn)證方法的問題,提出將Logisim引入教學(xué)活動中并進(jìn)行了應(yīng)用實(shí)踐。通過與傳統(tǒng)教學(xué)手段相比較,Logisim的引入對于學(xué)生理解所學(xué)的知識、降低課程學(xué)習(xí)的難度、激發(fā)學(xué)生學(xué)習(xí)的興趣以及提高教師理論教學(xué)的效率等方面起到較好的效果。
計(jì)算機(jī)組成原理;理論教學(xué);Logisim;設(shè)計(jì)與仿真
“計(jì)算機(jī)組成原理”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)位課程之一,在“數(shù)字邏輯電路”“匯編語言程序設(shè)計(jì)”等先修課程與“單片機(jī)技術(shù)及應(yīng)用”“微機(jī)原理和接口技術(shù)”等后續(xù)課程之間起著承上啟下的重要作用。一方面,在“計(jì)算機(jī)組成原理”課程學(xué)習(xí)過程中,涉及大量將“數(shù)字邏輯電路”課程中的組合、時序邏輯基本單元組合成為具有特定功能的計(jì)算機(jī)部件的實(shí)例;另一方面,從多層次結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)〔1〕引入計(jì)算機(jī)系統(tǒng)軟硬件交界界面的概念,對學(xué)生理解計(jì)算機(jī)系統(tǒng)硬件和軟件設(shè)計(jì)思想產(chǎn)生深刻的影響。
由于“計(jì)算機(jī)組成原理”課程教學(xué)內(nèi)容顯得分散,要求掌握的技術(shù)性、過程性問題較多,在學(xué)科形態(tài)上,理論、抽象、設(shè)計(jì)均有適當(dāng)?shù)姆至浚嗄陙硪恢北徽J(rèn)為是一門既難教又難學(xué)的課程〔2-4〕。如何通過引入好的教學(xué)手段對抽象的知識點(diǎn)進(jìn)行直觀的展示及驗(yàn)證,以提高學(xué)生學(xué)習(xí)的興趣、激發(fā)學(xué)生學(xué)習(xí)的主動性等問題,是“計(jì)算機(jī)組成原理”課程教學(xué)必須解決的問題。
Logisim〔5〕作為一個數(shù)字邏輯電路的設(shè)計(jì)與仿真軟件相比較EWB、LabVIEW、Multisim、ELVIS、Proteus等軟件,具有開源免費(fèi)可二次開發(fā)、無需安裝即可運(yùn)行、軟件使用簡單易學(xué)、仿真結(jié)果直觀易于理解等優(yōu)點(diǎn),適合用于數(shù)字邏輯電路的設(shè)計(jì)與仿真。而“計(jì)算機(jī)組成原理”中大量由基本門電路組合而成的計(jì)算機(jī)部件實(shí)例適合利用Logisim軟件來設(shè)計(jì)及仿真〔6〕。
1.1在“運(yùn)算方法和運(yùn)算器”教學(xué)中的應(yīng)用實(shí)踐“計(jì)算機(jī)的運(yùn)算方法和運(yùn)算器”部分通過數(shù)據(jù)的機(jī)器表示、運(yùn)算方法及運(yùn)算部件組成等問題的講解,使學(xué)生掌握計(jì)算機(jī)的運(yùn)算特征。在這部分內(nèi)容的講授過程中,學(xué)生對于運(yùn)算器中基于補(bǔ)碼表示的兩個操作數(shù)通過加法器如何實(shí)現(xiàn)加減運(yùn)算以及如何形成在機(jī)器指令執(zhí)行過程中起到重要作用的零標(biāo)志位(Zero)、符號標(biāo)志位(Sign)、溢出標(biāo)志位(Overflow)與進(jìn)位標(biāo)志位(Carry)等問題缺乏直觀驗(yàn)證的過程,導(dǎo)致對于知識的理解要么覺得艱澀難懂,要么概念混淆不清。
針對存在的問題,任課教師在授課過程中完全可以利用Logisim對加法器電路(見圖1)進(jìn)行基于原理圖的門電路級設(shè)計(jì)和仿真。首先,先修課程“數(shù)字邏輯電路”中已經(jīng)系統(tǒng)地介紹過基于真值表、邏輯函數(shù)表達(dá)式設(shè)計(jì)邏輯電路的方法,在Logisim中利用其提供的通過真值表或邏輯表達(dá)式生成仿真電路的操作,能夠?qū)⑾刃拚n程中講授過的知識點(diǎn)得以延續(xù),能夠減輕學(xué)生的畏難情緒,讓學(xué)生感覺容易上手;其次,在加法器中要能夠進(jìn)行減法計(jì)算,需要設(shè)計(jì)專門的電路部分實(shí)現(xiàn)通過〔X〕補(bǔ)得到〔-X〕補(bǔ)的功能。在設(shè)計(jì)過程中如何將理論推導(dǎo)得到的“〔-X〕補(bǔ)由〔X〕補(bǔ)連同符號位在內(nèi),每位取反,末位加1而得”〔1〕的變補(bǔ)計(jì)算法則在硬件上實(shí)現(xiàn)對于學(xué)生來說是一個抽象難懂的過程。利用如圖1所示異或門與控制位(Sub∕Add)來實(shí)現(xiàn)并利用Logisim仿真驗(yàn)證,讓學(xué)生完整地看到了將一個抽象的計(jì)算法則通過一個具體的邏輯電路實(shí)現(xiàn)其功能的過程,對培養(yǎng)學(xué)生的基本功能電路的設(shè)計(jì)能力起到了一定作用;最后,利用Logisim中仿真電路易于修改,仿真過程簡潔方便,仿真結(jié)果直觀易懂的特點(diǎn),在授課過程中,任課教師可以根據(jù)學(xué)生的反饋情況,及時方便地對仿真電路進(jìn)行修改、擴(kuò)展,并且可以通過針對仿真電路的討論、修改與完善來增強(qiáng)和學(xué)生的互動,使學(xué)生的學(xué)習(xí)興趣、積極性得到充分調(diào)動。例如:由于在課程配套的運(yùn)算器脫機(jī)實(shí)驗(yàn)中,大部分學(xué)生對于CZVS 4個標(biāo)志位的作用及生成過程理解都不到位,達(dá)不到實(shí)驗(yàn)要求。那么,在理論課中任課教師就可以有針對性的利用Logisim對上述4個標(biāo)志位的生成電路進(jìn)行仿真,在仿真過程中以學(xué)生為主,任課教師為輔。對于學(xué)生提出的方案,任課教師可以在Logisim中即刻加以仿真實(shí)現(xiàn)以驗(yàn)證其可行性,這樣可以明顯活躍課程氣氛,讓學(xué)生積極主動地參與到學(xué)習(xí)過程中來并對上述4個標(biāo)志位的產(chǎn)生及意義都有了更為深刻的理解。

圖15 位全加器
1.2在“存儲器”教學(xué)中的應(yīng)用實(shí)踐文獻(xiàn)〔3〕指出主存儲器的組織和結(jié)構(gòu)是“計(jì)算機(jī)組成原理”課程的重點(diǎn)之一,在內(nèi)容組織與教學(xué)安排上,應(yīng)做到原理要講透、結(jié)構(gòu)要講清、設(shè)計(jì)要講細(xì)。對于存儲芯片結(jié)構(gòu)部分應(yīng)突出存儲器地址概念的物理內(nèi)涵、按地址訪問等基本特征,為學(xué)生建立主存儲器地址空間和存儲空間等概念奠定基礎(chǔ);存儲器擴(kuò)展部分突出地址空間的分配、片選信號的產(chǎn)生以及與CPU的連接等知識點(diǎn)。
針對上述要求,任課教師在授課過程中利用Logisim提供的隨機(jī)存儲器(RAM)模塊設(shè)計(jì)了存儲器讀寫電路(見圖2)來講解存儲器地址概念的物理內(nèi)涵、按地址訪問等基本特征。利用Logisim提供的隨機(jī)存儲器(RAM)模塊和譯碼器(Decode)設(shè)計(jì)了基于字位擴(kuò)展的存儲器容量擴(kuò)展電路(見圖3)來講解地址空間的分配、片選信號的產(chǎn)生以及與CPU的連接等知識點(diǎn)。

圖2 存儲器讀寫電路

圖3 存儲器容量擴(kuò)展電路
相比較未引入Logisim之前,僅通過理論課的講解、布置的習(xí)題以及基于實(shí)驗(yàn)箱的實(shí)驗(yàn)項(xiàng)目,大部分學(xué)生對于存儲器的讀寫、CPU與存儲器的連接與存儲器容量擴(kuò)展等概念還是感覺較為抽象、不易理解,更談不上實(shí)際應(yīng)用。引入Logisim之后,利用Logisim提供的RAM、ROM模塊,可以借助仿真將存儲器讀寫、容量擴(kuò)展的實(shí)現(xiàn)過程以直觀易懂的形式展現(xiàn)給學(xué)生,尤其是讀寫控制,片選信號生成,RAM與ROM的區(qū)別等學(xué)生普遍覺得不好理解的關(guān)鍵知識點(diǎn)。從而對于學(xué)生的學(xué)習(xí)及動手能力的培養(yǎng)起到事半功倍的效果,明顯提高了任課教師教學(xué)和學(xué)生學(xué)習(xí)的效率。
1.3在“中斷系統(tǒng)”教學(xué)中的應(yīng)用實(shí)踐在“中斷系統(tǒng)”教學(xué)過程中,學(xué)生對于中斷請求標(biāo)記、中斷判優(yōu)邏輯以及中斷屏蔽技術(shù)等關(guān)鍵概念覺得過于抽象,不好理解。針對這些問題,在授課過程中任課教師利用Logisim設(shè)計(jì)并仿真了具有屏蔽功能的排隊(duì)器電路(見圖4)。通過Logisim的仿真,對于中斷請求標(biāo)志、中斷判優(yōu)電路、優(yōu)先級中的排隊(duì)電路以及中斷屏蔽技術(shù)等問題均可以進(jìn)行直觀清晰的仿真。在仿真過程中,任課教師可以輕松實(shí)現(xiàn)多個中斷源按照各種先后順序提出中斷請求的仿真過程,學(xué)生可以非常直觀地看到排隊(duì)電路的響應(yīng)過程及排隊(duì)輸出的結(jié)果,可以看到屏蔽寄存器對于排隊(duì)輸出的控制過程及作用。這樣的仿真對于幫助學(xué)生理解重要概念起到了積極作用,也大大減輕了學(xué)生的學(xué)習(xí)難度,對于培養(yǎng)學(xué)生對計(jì)算機(jī)基本部件進(jìn)行設(shè)計(jì)的能力也起到了一定作用。

圖4 具有屏蔽功能的排隊(duì)器電路
基于傳統(tǒng)教學(xué)手段的“計(jì)算機(jī)組成原理”課程教學(xué)活動中,任課教師主要以課件為主來展開教學(xué)活動。在“數(shù)據(jù)的機(jī)器層次表示”“數(shù)值的機(jī)器運(yùn)算”等基礎(chǔ)性內(nèi)容教學(xué)過程中,由于大量涉及數(shù)據(jù)的表示、數(shù)值的算術(shù)與邏輯運(yùn)算、運(yùn)算器的設(shè)計(jì)等內(nèi)容,課件中有較多的定義及數(shù)學(xué)推導(dǎo)過程,學(xué)生容易將注意力集中在了各種定義及數(shù)學(xué)推導(dǎo)過程的理解記憶中,而忽略了計(jì)算機(jī)中采用二進(jìn)制來表示數(shù)據(jù)完全是由于數(shù)字計(jì)算機(jī)自身硬件特點(diǎn)所決定的。從而導(dǎo)致學(xué)生即使能夠聽懂并理解各種數(shù)學(xué)推導(dǎo)的過程,也仍然無法達(dá)到“掌握計(jì)算機(jī)的運(yùn)算特征,初步具備硬件系統(tǒng)設(shè)計(jì)能力”的課程大綱要求。
然而通過將Logisim引入教學(xué)活動中,利用Logisim中所提供的計(jì)數(shù)器(Counter)模塊就可以將補(bǔ)碼的實(shí)質(zhì)、“模”的相關(guān)概念以及如何借助補(bǔ)碼將減法運(yùn)算用加法實(shí)現(xiàn)等概念清楚直觀地展示給學(xué)生。對于運(yùn)算器的設(shè)計(jì),通過借助Logisim實(shí)現(xiàn)從邏輯電路設(shè)計(jì)到調(diào)試仿真的完整過程,依次將運(yùn)算器中算術(shù)運(yùn)算單元、邏輯運(yùn)算單元加以實(shí)現(xiàn),并可以由任課教師根據(jù)課堂上學(xué)生的反饋情況實(shí)時對設(shè)計(jì)方案進(jìn)行更改調(diào)試。真正做到以學(xué)生為主體,讓學(xué)生參與到教學(xué)活動中,并讓學(xué)生能從門電路級的仿真演示中對所學(xué)知識鮮明的硬件特征以及功能部件的設(shè)計(jì)實(shí)現(xiàn)的整個過程有直觀的認(rèn)識,便于學(xué)生從硬件的角度去理解所學(xué)知識,使學(xué)生可以做到舉一反三,能夠?qū)⑺鶎W(xué)知識在硬件功能部件設(shè)計(jì)中加以擴(kuò)展應(yīng)用。
基于傳統(tǒng)教學(xué)手段的教學(xué)活動中,在“存儲系統(tǒng)和結(jié)構(gòu)”“中央處理器”與“輸入輸出系統(tǒng)”等綜合性內(nèi)容教學(xué)過程中,任課教師在備課過程通常會借助相應(yīng)軟件實(shí)現(xiàn)具有一定交互性的動畫演示來講授教學(xué)內(nèi)容。但這些動畫一般很難在演示過程中實(shí)時進(jìn)行調(diào)整更改,或展示各功能部件的內(nèi)部組成細(xì)節(jié)以及動態(tài)工作過程,因此不便于學(xué)生從硬件的角度去理解所學(xué)內(nèi)容,也不利于學(xué)生理解部分與整體間的關(guān)系。然而通過將Logisim引入教學(xué)活動中,利用Logisim所提供的子電路(Subcircuit)工具、探查(Probe)工具、通道(Tunnel)工具與分割(Splitter)工具可以將各個功能部件封裝為獨(dú)立的子電路,然后通過總線連接為一個整體。在任課教師授課過程中可以根據(jù)課堂上學(xué)生的反饋情況,通過設(shè)置各功能模塊的控制信號對各種可能的情況進(jìn)行仿真演示,實(shí)時展示各功能部件內(nèi)部工作過程以及各總線上傳輸?shù)臄?shù)據(jù),具有很強(qiáng)的可控性和交互性。同時也能夠讓學(xué)生對于各功能模塊與總線之間的連接關(guān)系有清晰的認(rèn)識和理解,更容易形成計(jì)算機(jī)的整體概念,對于培養(yǎng)學(xué)生具備初步的硬件系統(tǒng)設(shè)計(jì)能力起到積極作用。
經(jīng)過近4年的教學(xué)實(shí)踐證明,Logisim能夠?qū)Α坝?jì)算機(jī)組成原理”中的重點(diǎn)和難點(diǎn)內(nèi)容進(jìn)行基于原理圖的設(shè)計(jì)與仿真,可以讓學(xué)生在學(xué)習(xí)過程中對所學(xué)知識有直觀的驗(yàn)證方法,讓知識點(diǎn)不再艱澀難懂。更為關(guān)鍵的是Logisim可以實(shí)現(xiàn)門級電路的設(shè)計(jì)及仿真,可以將學(xué)生在先修課程“數(shù)字邏輯電路”中所學(xué)的組合、時序邏輯電路的設(shè)計(jì)思想、方法得以充分展現(xiàn)與利用,能夠讓學(xué)生確實(shí)感受到學(xué)以致用。通過4年來的不斷完善積累,已針對74181ALU、原碼1位乘法、原碼加減交替除法、奇偶校驗(yàn)、漢明碼、多體并行系統(tǒng)等進(jìn)行了門電路級的設(shè)計(jì)與仿真,并應(yīng)用于教學(xué),取得了較好的效果。
如何進(jìn)一步完善已有的模塊并完成基于Logisim的高速緩沖存儲器、控制器等的設(shè)計(jì)與仿真,以實(shí)現(xiàn)將“計(jì)算機(jī)組成原理”課程中涉及的重點(diǎn)和要點(diǎn)全部涵蓋的目標(biāo);以及如何通過修訂實(shí)驗(yàn)內(nèi)容或通過開放實(shí)驗(yàn)將Logisim引入到“計(jì)算機(jī)組成原理”課程的實(shí)驗(yàn)教學(xué)中,是今后教學(xué)過程中需要重點(diǎn)考慮和急需解決的問題。
〔1〕唐朔飛.計(jì)算機(jī)組成原理〔M〕.北京:高等教育出版社,2008:5-10.
〔2〕鄧麗,鄧先瑞.計(jì)算機(jī)組成原理實(shí)驗(yàn)課程教學(xué)研究與實(shí)踐探討〔J〕.煤炭技術(shù),2010,29(3):233-235.
〔3〕唐朔飛,劉旭東,王誠,等.“計(jì)算機(jī)組成原理”課程教學(xué)實(shí)施方案〔J〕.中國大學(xué)教育,2010(11):42-45.
〔4〕教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會.高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)發(fā)展戰(zhàn)略研究報告暨專業(yè)規(guī)范(試行)〔M〕.北京:高等教育出版社,2006.
〔5〕BURCH C.Logisim〔EB∕OL〕.〔2016-01-23〕.http:∕∕www. cburch.com∕logisim∕.
〔6〕Minnie'sStuff.AnExampleHardwiredCPU〔EB∕OL〕.〔2016-01-23〕.http:∕∕minnie.tuhs.org∕CompArch∕Tutes∕week03. html.
Application and Practice of Teaching of"Computer Organization Principle"with Logisim
Wu Ronghai
(Dali University,Dali,Yunnan 671003,China)
This paper analyzes the exiting problem of lacking of direct verifying method in theoretical teaching of Computer Organization Principle,and proposes the application of Logisim into teaching.Through the comparison with traditional teaching method,the introduction of Logisim has a better result in helping students understand learning,lowering the learning difficulties, stimulating students'interest and improving teachers'teaching efficiency.
Computer Organization Principle;theoretical teaching;Logisim;design and simulation
TP32
A
2096-2266(2016)12-0096-05
10.3969∕j.issn.2096-2266.2016.12.021
(責(zé)任編輯 袁 霞)
大理大學(xué)教學(xué)質(zhì)量與教學(xué)改革工程項(xiàng)目(JGV-140)
2016-03-21
2016-08-03
吳榮海,講師,主要從事加權(quán)模糊Petri網(wǎng)應(yīng)用、計(jì)算機(jī)硬件研究.