趙鵬濤++楊友紅
摘要:分析計(jì)算機(jī)組成原理課程特性,實(shí)驗(yàn)教學(xué)現(xiàn)狀,引入Proteus仿真軟件對(duì)《計(jì)算機(jī)組成原理》課程實(shí)驗(yàn)教學(xué)進(jìn)行仿真,描述Proteus仿真8位運(yùn)算器的具體設(shè)計(jì)過(guò)程,深入了解和掌握計(jì)算機(jī)硬件構(gòu)成、計(jì)算機(jī)體系結(jié)構(gòu)、計(jì)算機(jī)的設(shè)計(jì)理念,培養(yǎng)學(xué)生的創(chuàng)新能力和自主設(shè)計(jì)能力。
關(guān)鍵詞:計(jì)算機(jī)組成原理;Proteus;ALU
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)30-0148-02
1 概述
計(jì)算機(jī)組成原理是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的核心專業(yè)課,是一門(mén)重要的專業(yè)必修課程,也是計(jì)算機(jī)專業(yè)考研必考的課程之一,課程重點(diǎn)講授計(jì)算機(jī)系統(tǒng)的組成、工作原理和邏輯實(shí)現(xiàn)設(shè)計(jì)方法等知識(shí)。課程教學(xué)具有知識(shí)面廣,內(nèi)容多、難度大、更新快等特點(diǎn)[1]。而實(shí)驗(yàn)教學(xué)環(huán)節(jié)不僅可以幫助學(xué)生加深理論知識(shí)的理解和掌握,同時(shí)可以提高學(xué)生對(duì)計(jì)算機(jī)系統(tǒng)的自主設(shè)計(jì)和創(chuàng)新能力。
2 現(xiàn)狀分析
目前,多數(shù)高校的計(jì)算機(jī)組成原理實(shí)踐教學(xué)仍然采用傳統(tǒng)的硬件實(shí)驗(yàn)箱來(lái)完成,根據(jù)計(jì)算機(jī)硬件的五大功能模塊和三大類總線為基礎(chǔ)來(lái)進(jìn)行硬件的驗(yàn)證性實(shí)驗(yàn),這類實(shí)驗(yàn)箱硬件固定、更新速度慢,學(xué)生只能通過(guò)實(shí)驗(yàn)系統(tǒng)中原有的結(jié)構(gòu)進(jìn)行簡(jiǎn)單的連線,通過(guò)控制開(kāi)關(guān)實(shí)現(xiàn)模塊功能,這類實(shí)驗(yàn)箱對(duì)學(xué)生的基礎(chǔ)要求很低,即便是沒(méi)有學(xué)習(xí)過(guò)計(jì)算機(jī)組成原理課程,經(jīng)過(guò)講解也能實(shí)現(xiàn)實(shí)驗(yàn)的基礎(chǔ)功能,但是對(duì)于計(jì)算機(jī)硬件結(jié)構(gòu)、功能部件運(yùn)行流程、邏輯電路執(zhí)行情況、微程序執(zhí)行流程等不能夠直觀的進(jìn)行查看,達(dá)不到學(xué)生加深理論知識(shí)的理解和掌握的目的,學(xué)生的自主創(chuàng)新能力也收到制約。同時(shí)硬件實(shí)驗(yàn)平臺(tái)隨著時(shí)間的增加,損壞率逐年遞增,硬件的維修成本不斷增加,導(dǎo)致投入的成本和實(shí)驗(yàn)的實(shí)際效果不成正比。
基于FPGA的計(jì)算機(jī)硬件實(shí)驗(yàn)箱是目前計(jì)算機(jī)組成原理實(shí)驗(yàn)平臺(tái)的主流,可以自主設(shè)計(jì)CPU系統(tǒng)架構(gòu),靈活性較高,但是,F(xiàn)PGA對(duì)學(xué)生基礎(chǔ)知識(shí)的要求較高,要求學(xué)生熟練掌握EDA設(shè)計(jì)和可編程邏輯語(yǔ)言HDL,這對(duì)多數(shù)高校的學(xué)生來(lái)說(shuō),難度很大。
Proteus仿真軟件的出現(xiàn),很好地解決了這個(gè)問(wèn)題,學(xué)生只要有基礎(chǔ)的數(shù)字\邏輯電路基礎(chǔ),了解邏輯門(mén)電路的基礎(chǔ)知識(shí),就可以根據(jù)要求設(shè)計(jì)出基礎(chǔ)的邏輯原理圖,并進(jìn)行仿真,對(duì)學(xué)生的基礎(chǔ)知識(shí)要求很低,借助于計(jì)算機(jī)平臺(tái),能夠隨時(shí)隨地地使用軟件進(jìn)行計(jì)算機(jī)組成原理的仿真設(shè)計(jì)。
3 Proteus軟件介紹
Proteus軟件是英國(guó)Lab Center Electronics公司出版的EDA工具軟件。它不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái)[2]。
4 Proteus仿真應(yīng)用
通過(guò)仿真軟件可實(shí)現(xiàn)實(shí)驗(yàn)數(shù)字\邏輯基礎(chǔ)電路仿真,在掌握基本數(shù)字\邏輯基礎(chǔ)電路的基礎(chǔ)上,根據(jù)計(jì)算硬件設(shè)計(jì)的目的,并能夠在后續(xù)課程微機(jī)原理與接口技術(shù)中通過(guò)自己搭建的CPU來(lái)進(jìn)行接口仿真實(shí)驗(yàn)。在計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)過(guò)程中,學(xué)生可以圍繞計(jì)算機(jī)系統(tǒng)的五大功能模塊和三大類總線進(jìn)行系統(tǒng)設(shè)計(jì),了解并掌握計(jì)算機(jī)硬件系統(tǒng)設(shè)計(jì)的全過(guò)程。下面以74LS181芯片搭建八位運(yùn)算器為例介紹Proteus在計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)中的應(yīng)用。
4.1 設(shè)計(jì)原理
利用Proteus 8.4進(jìn)行多功能算術(shù)/邏輯運(yùn)算器(ALU)的設(shè)計(jì)和仿真,利用DIPSWC_8八位撥碼開(kāi)關(guān)實(shí)現(xiàn)二進(jìn)制數(shù)據(jù)輸入,三態(tài)門(mén)(74LS245)控制輸出接口輸出數(shù)據(jù)到數(shù)據(jù)總線,兩片74LS181以并/串形式構(gòu)成8位字長(zhǎng)的ALU,兩片74LS273鎖存器鎖存運(yùn)算數(shù)據(jù),根據(jù)表1中控制端M控制運(yùn)算器進(jìn)行算術(shù)運(yùn)算或邏輯運(yùn)算,CN控制是否進(jìn)位,S3、S2、S1、S0控制運(yùn)算器進(jìn)行具體運(yùn)算,8位運(yùn)算器邏輯電路如圖1所示。
4.2 仿真數(shù)據(jù)驗(yàn)證
根據(jù)表1查詢,通過(guò)控制M、CN、S3、S2、S1、S0可以實(shí)現(xiàn)32種不同的運(yùn)算,設(shè)置M=0,CN=1,S3S2S1S0=1110,運(yùn)算器進(jìn)行算術(shù)運(yùn)算F=A加B,原理圖中A=65H,B=A7,運(yùn)算結(jié)果為F=0CH。設(shè)置M=1運(yùn)算器進(jìn)行邏輯運(yùn)算,S3S2S1S0=1110,,F(xiàn)=A+B,運(yùn)算結(jié)果F=E7,表2中記錄運(yùn)算器進(jìn)行的32種運(yùn)算結(jié)果,其中M=0,CN=0控制運(yùn)算器進(jìn)行有進(jìn)位的算術(shù)運(yùn)算部分實(shí)在無(wú)進(jìn)位算術(shù)運(yùn)算的基礎(chǔ)上加1構(gòu)成,在這里不在詳細(xì)描述,經(jīng)過(guò)驗(yàn)證,邏輯表中運(yùn)算器的運(yùn)算結(jié)果均正確。從圖中不難看出,利用仿真可以直接查看八位運(yùn)算器的邏輯電路通路,各個(gè)部件的高低電平狀態(tài),以及各個(gè)部件和數(shù)據(jù)總線的連接方式。利用Proteus仿真過(guò)程中,不僅可以直觀地看到各個(gè)芯片引腳的工作狀態(tài),還可以通過(guò)數(shù)碼管直接讀出運(yùn)算的結(jié)果。這些是在硬件實(shí)驗(yàn)箱平臺(tái)上無(wú)法實(shí)現(xiàn)的。
4.3 實(shí)驗(yàn)擴(kuò)展
在完成運(yùn)算器搭建的基礎(chǔ)上,加入74LS374芯片構(gòu)建通用寄存器組,通過(guò)寄存器組和運(yùn)算單元相結(jié)合,實(shí)現(xiàn)多數(shù)據(jù)運(yùn)算。利用Proteus中豐富的元器件庫(kù),比如74LS299、74LS374、6116,74LS163等芯片,可以實(shí)現(xiàn)移位寄存器、通用寄存器、存儲(chǔ)器、程序計(jì)數(shù)器、微程序控制器、計(jì)算機(jī)硬布線、流水線CPU設(shè)計(jì)、等實(shí)驗(yàn)項(xiàng)目,在完成基礎(chǔ)性模塊試驗(yàn)項(xiàng)目的基礎(chǔ)上,通過(guò)總線對(duì)各個(gè)模塊進(jìn)行連接整合,設(shè)計(jì)出完整的計(jì)算機(jī)模型。
5 結(jié)束語(yǔ)
計(jì)算機(jī)組成原理具有理論性較強(qiáng)且抽象的特點(diǎn),實(shí)驗(yàn)教學(xué)環(huán)節(jié)在整個(gè)教學(xué)環(huán)節(jié)中就顯得舉足輕重,傳統(tǒng)的硬件實(shí)驗(yàn)平臺(tái)更新速度慢,結(jié)構(gòu)固定,維護(hù)成本較高,且受到實(shí)驗(yàn)室開(kāi)放時(shí)間和地域的限制,而Proteus仿真軟件的應(yīng)用不僅可以打破實(shí)驗(yàn)室硬件平臺(tái)的局限,隨時(shí)隨地都能夠進(jìn)行仿真,更加方便同學(xué)們之間的交流合作,培養(yǎng)獨(dú)自解決問(wèn)題的能力,同時(shí)也能夠更加直觀的了解計(jì)算機(jī)體系結(jié)構(gòu)的設(shè)計(jì)過(guò)程和各個(gè)模塊工作的狀態(tài),通過(guò)學(xué)生可以根據(jù)需求自主設(shè)計(jì)系統(tǒng),這對(duì)進(jìn)一步激發(fā)學(xué)生的學(xué)習(xí)興趣,提高創(chuàng)新能力和實(shí)際動(dòng)手能力,同時(shí)也為新形勢(shì)下高校實(shí)驗(yàn)教學(xué)提供新的思路,為高校落實(shí)應(yīng)用型人才培養(yǎng)提供新的思路和方法。
參考文獻(xiàn):
[1] 白中英.計(jì)算機(jī)組成原理[M].5版.北京:科學(xué)技術(shù)出版社,2013.
[2] 白中英.計(jì)算機(jī)體系結(jié)構(gòu)[M].3版.北京:科學(xué)技術(shù)出版社,2010.
[3] 王建新,張麗媛,盛羽,劉麗娟.基于組件的計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)室的設(shè)計(jì)與實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào), 2008(9).
[4] 張磊,鄭榕,田軍峰.計(jì)算機(jī)組成原理理論實(shí)驗(yàn)教學(xué)無(wú)縫結(jié)合的新方法[J].實(shí)驗(yàn)室研究與探索,2013(5).
[5] 肖娟,張?chǎng)╇儯踽?,?虛擬實(shí)驗(yàn)系統(tǒng)在計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)改革中的應(yīng)用[J].計(jì)算機(jī)教育,2014(14):33-36.
[6] 袁春風(fēng),陳貴海,黃宜華,等.“計(jì)算機(jī)組織與系統(tǒng)結(jié)構(gòu)”課程的教學(xué)現(xiàn)狀和改革思路[J].計(jì)算機(jī)教育,2009(16).endprint