吳榮海
(大理大學,云南大理 671003)
Logisim在“計算機組成原理”教學中的應用實踐
吳榮海
(大理大學,云南大理 671003)
分析了計算機組成原理在理論教學中存在的缺乏對知識點直觀驗證方法的問題,提出將Logisim引入教學活動中并進行了應用實踐。通過與傳統(tǒng)教學手段相比較,Logisim的引入對于學生理解所學的知識、降低課程學習的難度、激發(fā)學生學習的興趣以及提高教師理論教學的效率等方面起到較好的效果。
計算機組成原理;理論教學;Logisim;設計與仿真
“計算機組成原理”是計算機科學與技術專業(yè)的學位課程之一,在“數(shù)字邏輯電路”“匯編語言程序設計”等先修課程與“單片機技術及應用”“微機原理和接口技術”等后續(xù)課程之間起著承上啟下的重要作用。一方面,在“計算機組成原理”課程學習過程中,涉及大量將“數(shù)字邏輯電路”課程中的組合、時序邏輯基本單元組合成為具有特定功能的計算機部件的實例;另一方面,從多層次結構的計算機系統(tǒng)〔1〕引入計算機系統(tǒng)軟硬件交界界面的概念,對學生理解計算機系統(tǒng)硬件和軟件設計思想產(chǎn)生深刻的影響。
由于“計算機組成原理”課程教學內容顯得分散,要求掌握的技術性、過程性問題較多,在學科形態(tài)上,理論、抽象、設計均有適當?shù)姆至?,多年來一直被認為是一門既難教又難學的課程〔2-4〕。如何通過引入好的教學手段對抽象的知識點進行直觀的展示及驗證,以提高學生學習的興趣、激發(fā)學生學習的主動性等問題,是“計算機組成原理”課程教學必須解決的問題。
Logisim〔5〕作為一個數(shù)字邏輯電路的設計與仿真軟件相比較EWB、LabVIEW、Multisim、ELVIS、Proteus等軟件,具有開源免費可二次開發(fā)、無需安裝即可運行、軟件使用簡單易學、仿真結果直觀易于理解等優(yōu)點,適合用于數(shù)字邏輯電路的設計與仿真。而“計算機組成原理”中大量由基本門電路組合而成的計算機部件實例適合利用Logisim軟件來設計及仿真〔6〕。
1.1在“運算方法和運算器”教學中的應用實踐“計算機的運算方法和運算器”部分通過數(shù)據(jù)的機器表示、運算方法及運算部件組成等問題的講解,使學生掌握計算機的運算特征。在這部分內容的講授過程中,學生對于運算器中基于補碼表示的兩個操作數(shù)通過加法器如何實現(xiàn)加減運算以及如何形成在機器指令執(zhí)行過程中起到重要作用的零標志位(Zero)、符號標志位(Sign)、溢出標志位(Overflow)與進位標志位(Carry)等問題缺乏直觀驗證的過程,導致對于知識的理解要么覺得艱澀難懂,要么概念混淆不清。
針對存在的問題,任課教師在授課過程中完全可以利用Logisim對加法器電路(見圖1)進行基于原理圖的門電路級設計和仿真。首先,先修課程“數(shù)字邏輯電路”中已經(jīng)系統(tǒng)地介紹過基于真值表、邏輯函數(shù)表達式設計邏輯電路的方法,在Logisim中利用其提供的通過真值表或邏輯表達式生成仿真電路的操作,能夠將先修課程中講授過的知識點得以延續(xù),能夠減輕學生的畏難情緒,讓學生感覺容易上手;其次,在加法器中要能夠進行減法計算,需要設計專門的電路部分實現(xiàn)通過〔X〕補得到〔-X〕補的功能。在設計過程中如何將理論推導得到的“〔-X〕補由〔X〕補連同符號位在內,每位取反,末位加1而得”〔1〕的變補計算法則在硬件上實現(xiàn)對于學生來說是一個抽象難懂的過程。利用如圖1所示異或門與控制位(Sub∕Add)來實現(xiàn)并利用Logisim仿真驗證,讓學生完整地看到了將一個抽象的計算法則通過一個具體的邏輯電路實現(xiàn)其功能的過程,對培養(yǎng)學生的基本功能電路的設計能力起到了一定作用;最后,利用Logisim中仿真電路易于修改,仿真過程簡潔方便,仿真結果直觀易懂的特點,在授課過程中,任課教師可以根據(jù)學生的反饋情況,及時方便地對仿真電路進行修改、擴展,并且可以通過針對仿真電路的討論、修改與完善來增強和學生的互動,使學生的學習興趣、積極性得到充分調動。例如:由于在課程配套的運算器脫機實驗中,大部分學生對于CZVS 4個標志位的作用及生成過程理解都不到位,達不到實驗要求。那么,在理論課中任課教師就可以有針對性的利用Logisim對上述4個標志位的生成電路進行仿真,在仿真過程中以學生為主,任課教師為輔。對于學生提出的方案,任課教師可以在Logisim中即刻加以仿真實現(xiàn)以驗證其可行性,這樣可以明顯活躍課程氣氛,讓學生積極主動地參與到學習過程中來并對上述4個標志位的產(chǎn)生及意義都有了更為深刻的理解。
圖15 位全加器
1.2在“存儲器”教學中的應用實踐文獻〔3〕指出主存儲器的組織和結構是“計算機組成原理”課程的重點之一,在內容組織與教學安排上,應做到原理要講透、結構要講清、設計要講細。對于存儲芯片結構部分應突出存儲器地址概念的物理內涵、按地址訪問等基本特征,為學生建立主存儲器地址空間和存儲空間等概念奠定基礎;存儲器擴展部分突出地址空間的分配、片選信號的產(chǎn)生以及與CPU的連接等知識點。
針對上述要求,任課教師在授課過程中利用Logisim提供的隨機存儲器(RAM)模塊設計了存儲器讀寫電路(見圖2)來講解存儲器地址概念的物理內涵、按地址訪問等基本特征。利用Logisim提供的隨機存儲器(RAM)模塊和譯碼器(Decode)設計了基于字位擴展的存儲器容量擴展電路(見圖3)來講解地址空間的分配、片選信號的產(chǎn)生以及與CPU的連接等知識點。
圖2 存儲器讀寫電路
圖3 存儲器容量擴展電路
相比較未引入Logisim之前,僅通過理論課的講解、布置的習題以及基于實驗箱的實驗項目,大部分學生對于存儲器的讀寫、CPU與存儲器的連接與存儲器容量擴展等概念還是感覺較為抽象、不易理解,更談不上實際應用。引入Logisim之后,利用Logisim提供的RAM、ROM模塊,可以借助仿真將存儲器讀寫、容量擴展的實現(xiàn)過程以直觀易懂的形式展現(xiàn)給學生,尤其是讀寫控制,片選信號生成,RAM與ROM的區(qū)別等學生普遍覺得不好理解的關鍵知識點。從而對于學生的學習及動手能力的培養(yǎng)起到事半功倍的效果,明顯提高了任課教師教學和學生學習的效率。
1.3在“中斷系統(tǒng)”教學中的應用實踐在“中斷系統(tǒng)”教學過程中,學生對于中斷請求標記、中斷判優(yōu)邏輯以及中斷屏蔽技術等關鍵概念覺得過于抽象,不好理解。針對這些問題,在授課過程中任課教師利用Logisim設計并仿真了具有屏蔽功能的排隊器電路(見圖4)。通過Logisim的仿真,對于中斷請求標志、中斷判優(yōu)電路、優(yōu)先級中的排隊電路以及中斷屏蔽技術等問題均可以進行直觀清晰的仿真。在仿真過程中,任課教師可以輕松實現(xiàn)多個中斷源按照各種先后順序提出中斷請求的仿真過程,學生可以非常直觀地看到排隊電路的響應過程及排隊輸出的結果,可以看到屏蔽寄存器對于排隊輸出的控制過程及作用。這樣的仿真對于幫助學生理解重要概念起到了積極作用,也大大減輕了學生的學習難度,對于培養(yǎng)學生對計算機基本部件進行設計的能力也起到了一定作用。
圖4 具有屏蔽功能的排隊器電路
基于傳統(tǒng)教學手段的“計算機組成原理”課程教學活動中,任課教師主要以課件為主來展開教學活動。在“數(shù)據(jù)的機器層次表示”“數(shù)值的機器運算”等基礎性內容教學過程中,由于大量涉及數(shù)據(jù)的表示、數(shù)值的算術與邏輯運算、運算器的設計等內容,課件中有較多的定義及數(shù)學推導過程,學生容易將注意力集中在了各種定義及數(shù)學推導過程的理解記憶中,而忽略了計算機中采用二進制來表示數(shù)據(jù)完全是由于數(shù)字計算機自身硬件特點所決定的。從而導致學生即使能夠聽懂并理解各種數(shù)學推導的過程,也仍然無法達到“掌握計算機的運算特征,初步具備硬件系統(tǒng)設計能力”的課程大綱要求。
然而通過將Logisim引入教學活動中,利用Logisim中所提供的計數(shù)器(Counter)模塊就可以將補碼的實質、“?!钡南嚓P概念以及如何借助補碼將減法運算用加法實現(xiàn)等概念清楚直觀地展示給學生。對于運算器的設計,通過借助Logisim實現(xiàn)從邏輯電路設計到調試仿真的完整過程,依次將運算器中算術運算單元、邏輯運算單元加以實現(xiàn),并可以由任課教師根據(jù)課堂上學生的反饋情況實時對設計方案進行更改調試。真正做到以學生為主體,讓學生參與到教學活動中,并讓學生能從門電路級的仿真演示中對所學知識鮮明的硬件特征以及功能部件的設計實現(xiàn)的整個過程有直觀的認識,便于學生從硬件的角度去理解所學知識,使學生可以做到舉一反三,能夠將所學知識在硬件功能部件設計中加以擴展應用。
基于傳統(tǒng)教學手段的教學活動中,在“存儲系統(tǒng)和結構”“中央處理器”與“輸入輸出系統(tǒng)”等綜合性內容教學過程中,任課教師在備課過程通常會借助相應軟件實現(xiàn)具有一定交互性的動畫演示來講授教學內容。但這些動畫一般很難在演示過程中實時進行調整更改,或展示各功能部件的內部組成細節(jié)以及動態(tài)工作過程,因此不便于學生從硬件的角度去理解所學內容,也不利于學生理解部分與整體間的關系。然而通過將Logisim引入教學活動中,利用Logisim所提供的子電路(Subcircuit)工具、探查(Probe)工具、通道(Tunnel)工具與分割(Splitter)工具可以將各個功能部件封裝為獨立的子電路,然后通過總線連接為一個整體。在任課教師授課過程中可以根據(jù)課堂上學生的反饋情況,通過設置各功能模塊的控制信號對各種可能的情況進行仿真演示,實時展示各功能部件內部工作過程以及各總線上傳輸?shù)臄?shù)據(jù),具有很強的可控性和交互性。同時也能夠讓學生對于各功能模塊與總線之間的連接關系有清晰的認識和理解,更容易形成計算機的整體概念,對于培養(yǎng)學生具備初步的硬件系統(tǒng)設計能力起到積極作用。
經(jīng)過近4年的教學實踐證明,Logisim能夠對“計算機組成原理”中的重點和難點內容進行基于原理圖的設計與仿真,可以讓學生在學習過程中對所學知識有直觀的驗證方法,讓知識點不再艱澀難懂。更為關鍵的是Logisim可以實現(xiàn)門級電路的設計及仿真,可以將學生在先修課程“數(shù)字邏輯電路”中所學的組合、時序邏輯電路的設計思想、方法得以充分展現(xiàn)與利用,能夠讓學生確實感受到學以致用。通過4年來的不斷完善積累,已針對74181ALU、原碼1位乘法、原碼加減交替除法、奇偶校驗、漢明碼、多體并行系統(tǒng)等進行了門電路級的設計與仿真,并應用于教學,取得了較好的效果。
如何進一步完善已有的模塊并完成基于Logisim的高速緩沖存儲器、控制器等的設計與仿真,以實現(xiàn)將“計算機組成原理”課程中涉及的重點和要點全部涵蓋的目標;以及如何通過修訂實驗內容或通過開放實驗將Logisim引入到“計算機組成原理”課程的實驗教學中,是今后教學過程中需要重點考慮和急需解決的問題。
〔1〕唐朔飛.計算機組成原理〔M〕.北京:高等教育出版社,2008:5-10.
〔2〕鄧麗,鄧先瑞.計算機組成原理實驗課程教學研究與實踐探討〔J〕.煤炭技術,2010,29(3):233-235.
〔3〕唐朔飛,劉旭東,王誠,等.“計算機組成原理”課程教學實施方案〔J〕.中國大學教育,2010(11):42-45.
〔4〕教育部高等學校計算機科學與技術教學指導委員會.高等學校計算機科學與技術專業(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
(責任編輯 袁 霞)
大理大學教學質量與教學改革工程項目(JGV-140)
2016-03-21
2016-08-03
吳榮海,講師,主要從事加權模糊Petri網(wǎng)應用、計算機硬件研究.