陳 燕,王德成
(安徽新華學(xué)院)
基于Proteus的計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)研究*
陳 燕,王德成
(安徽新華學(xué)院)
針對(duì)目前計(jì)算機(jī)組成原理課程實(shí)驗(yàn)教學(xué)的現(xiàn)狀,在課程教學(xué)中引入基于Proteus的虛擬實(shí)驗(yàn),以加法器實(shí)驗(yàn)為例介紹實(shí)驗(yàn)設(shè)計(jì)及仿真過(guò)程,實(shí)驗(yàn)教學(xué)取得了良好的效果.
Proteus;實(shí)驗(yàn)教學(xué);虛擬實(shí)驗(yàn)
《計(jì)算機(jī)組成原理》作為計(jì)算機(jī)類各本科專業(yè)必開(kāi)的核心課程,在培養(yǎng)學(xué)生的計(jì)算機(jī)系統(tǒng)應(yīng)用能力中起著重要作用[1].通過(guò)該課程的學(xué)習(xí),學(xué)生能夠掌握計(jì)算機(jī)的組成和工作相關(guān)的概念、原理、設(shè)計(jì)與分析方法等,了解計(jì)算機(jī)系統(tǒng)中硬件、軟件的功能劃分和相互配合關(guān)系,能把在“數(shù)字電子技術(shù)”、“匯編語(yǔ)言程序設(shè)計(jì)”、“可編程邏輯器件”等課程中所學(xué)的軟、硬件知識(shí)有機(jī)地結(jié)合起來(lái),建立計(jì)算機(jī)整機(jī)系統(tǒng)的完整概念.但是本課程理論性較強(qiáng),知識(shí)點(diǎn)較多,并且有些抽象,所以學(xué)習(xí)起來(lái)比較枯燥,學(xué)生在學(xué)習(xí)過(guò)程中也比較吃力.為了幫助學(xué)生加深對(duì)理論知識(shí)的掌握,實(shí)驗(yàn)內(nèi)容就相對(duì)比較重要.
目前,計(jì)算機(jī)組成原理課程的實(shí)驗(yàn)開(kāi)設(shè)主要有兩種形式:
一是基于實(shí)驗(yàn)箱的.學(xué)生在固定的各種芯片上,將各種引腳通過(guò)總線進(jìn)行連接、使用開(kāi)關(guān)進(jìn)行控制、運(yùn)用微指令進(jìn)行編程等方式,實(shí)現(xiàn)與硬件系統(tǒng)的交互,達(dá)到了解計(jì)算機(jī)內(nèi)部結(jié)構(gòu)的目的.這種形式對(duì)于學(xué)生深入理解計(jì)算機(jī)各組成部件的硬件結(jié)構(gòu)、計(jì)算機(jī)的底層結(jié)構(gòu)與系統(tǒng)軟件之間的關(guān)系幫助不大,也不利于培養(yǎng)學(xué)生設(shè)計(jì)計(jì)算機(jī)硬件系統(tǒng)的能力[2].并且實(shí)驗(yàn)箱難于擴(kuò)展、更新遲緩,所以該形式限制了實(shí)驗(yàn)的改進(jìn)和發(fā)展,很難滿足教學(xué)需求.
二是基于FPGA的.運(yùn)用EDA技術(shù)和VHDL語(yǔ)言在FPGA芯片上進(jìn)行計(jì)算機(jī)組成部件的設(shè)計(jì)與仿真,來(lái)實(shí)現(xiàn)計(jì)算機(jī)組成原理課程的實(shí)驗(yàn)教學(xué)[2].但這種方式對(duì)三本或獨(dú)立學(xué)院的學(xué)生來(lái)說(shuō),由于學(xué)時(shí)限制和培養(yǎng)目標(biāo)的不同,實(shí)施起來(lái)較為困難.
針對(duì)實(shí)驗(yàn)箱開(kāi)設(shè)實(shí)驗(yàn)不足和VHDL+FPGA的難度大的問(wèn)題,結(jié)合學(xué)生的實(shí)際情況,筆者在計(jì)算機(jī)組成原理課程中引入虛擬實(shí)驗(yàn)項(xiàng)目.
在計(jì)算機(jī)技術(shù)的支持下,實(shí)驗(yàn)教學(xué)在發(fā)生著重要的變革,逐漸由實(shí)物實(shí)驗(yàn)教學(xué)向著虛擬實(shí)驗(yàn)教學(xué)轉(zhuǎn)變.虛擬實(shí)驗(yàn)的技術(shù)來(lái)源于理工類學(xué)科,所以在理工類專業(yè)的課程進(jìn)行虛擬實(shí)驗(yàn)教學(xué)具有重要的作用和意義.
國(guó)內(nèi)外,有許多大學(xué)建成了虛擬實(shí)驗(yàn)項(xiàng)目/實(shí)驗(yàn)室.例如:美國(guó)Johns Hopkins大學(xué)的虛擬工程/科學(xué)技術(shù)實(shí)驗(yàn)室、德國(guó)的漢諾威大學(xué)的虛擬自動(dòng)化實(shí)驗(yàn)室、浙江工業(yè)大學(xué)自動(dòng)化專業(yè)的控制系統(tǒng)虛擬實(shí)驗(yàn)室等.教育部辦公廳公布《關(guān)于批準(zhǔn)北京大學(xué)地球科學(xué)虛擬仿真實(shí)驗(yàn)教學(xué)中心等100個(gè)國(guó)家級(jí)虛擬仿真實(shí)驗(yàn)教學(xué)中心的通知》.這些具有示范、引領(lǐng)作用的仿真實(shí)驗(yàn)教學(xué)中心的建設(shè),是實(shí)驗(yàn)教學(xué)的一個(gè)新的發(fā)展方向,也對(duì)促進(jìn)本課程教學(xué)理念與教學(xué)方法的變革起著重要作用[3].
在計(jì)算機(jī)組成原理的虛擬實(shí)驗(yàn)教學(xué)中引入Proteus軟件,充分利用Proteus軟件的在仿真方面性能,設(shè)計(jì)虛擬實(shí)驗(yàn)項(xiàng)目,既能脫離實(shí)物演示實(shí)驗(yàn),又能使整個(gè)教學(xué)過(guò)程生動(dòng)形象.
Proteus軟件是 EDA工具軟件的一種,是目前世界上最先進(jìn)、最完整的系統(tǒng)設(shè)計(jì)與仿真平臺(tái)[4],國(guó)內(nèi)不少高校近幾年陸續(xù)開(kāi)始使用.Proteus是一種功能強(qiáng)大的電子設(shè)計(jì)自動(dòng)化軟件,包括混合式仿真子系統(tǒng)、PCB設(shè)計(jì)子系統(tǒng)和智能原理圖設(shè)計(jì)子系統(tǒng).
Proteus非常適合實(shí)驗(yàn)教學(xué),讓學(xué)生在潛移默化中學(xué)會(huì)使用Proteus設(shè)計(jì)計(jì)算機(jī)系統(tǒng),并在虛擬平臺(tái)上對(duì)計(jì)算機(jī)系統(tǒng)功能進(jìn)行仿真.Proteus不僅虛擬調(diào)試界面友好而且性能較高,不需要配置較高的硬件支持,從而使得學(xué)生在沒(méi)有實(shí)物芯片、功能芯片以及接插件等設(shè)備時(shí)候,可以自由、靈活地學(xué)習(xí)和設(shè)計(jì)計(jì)算機(jī)系統(tǒng).硬件實(shí)驗(yàn)與Proteus虛擬實(shí)驗(yàn)的區(qū)別見(jiàn)表1.
表1 硬件實(shí)驗(yàn)與虛擬實(shí)驗(yàn)的比較[5]
利用Proteus進(jìn)行虛擬實(shí)驗(yàn)驗(yàn)證實(shí)驗(yàn)或綜合性、設(shè)計(jì)性實(shí)驗(yàn)項(xiàng)目時(shí),改變了傳統(tǒng)實(shí)驗(yàn)箱實(shí)驗(yàn)方式的迷茫、反復(fù)、甚至全部失敗的過(guò)程.使學(xué)生設(shè)計(jì)原理圖、選擇元器件,測(cè)試性能,動(dòng)態(tài)仿真,分析實(shí)驗(yàn)結(jié)果與生成實(shí)驗(yàn)報(bào)告等整個(gè)過(guò)程變得方便無(wú)比,可以隨時(shí)對(duì)出現(xiàn)的問(wèn)題進(jìn)行分析、修改.基于Proteus虛擬實(shí)驗(yàn)系統(tǒng)實(shí)驗(yàn)過(guò)程,可按圖1所示流程進(jìn)行.
圖1 Proteus虛擬實(shí)驗(yàn)流程
圖2 四位并行加法器
加法是計(jì)算機(jī)運(yùn)算的基礎(chǔ),計(jì)算機(jī)機(jī)內(nèi)所有的運(yùn)算都可以借助加法來(lái)完成,下面以加法器實(shí)驗(yàn)為例,講述電路圖設(shè)計(jì)及仿真過(guò)程.該實(shí)驗(yàn)由淺入深,先從一位全加器開(kāi)始,到四位的串行,然后到并行加法器(如圖2所示).
根據(jù)課程學(xué)習(xí),全加器有三個(gè)輸入端和兩個(gè)輸出端,其邏輯表達(dá)式為:
S=A⊕B⊕C
C+1=AB+(A⊕B) C
根據(jù)邏輯關(guān)系,加上開(kāi)關(guān)模擬三個(gè)輸入端,加上燈模擬輸出端,其電路圖如圖3所示.
圖3 一位全加器
圖4 四位串行加法器
把四個(gè)全加器串接在一起,在每個(gè)全加器的B輸入端加入異或關(guān)系,然后借助八位開(kāi)關(guān)輸入兩個(gè)四位數(shù)據(jù)(高四位表示數(shù)據(jù)A,低四位表示數(shù)據(jù)B),借助單個(gè)開(kāi)關(guān)控制加減控制(0做加法,1做減法),并加入溢出判斷電路(高兩位的全加器進(jìn)位相異或,0無(wú)溢出,1有溢出),即可形成四位串行加法器,電路圖如圖4所示.
串行加法器電路設(shè)計(jì)比較簡(jiǎn)單,但是速度比較慢,高位全加器的工作要依賴低位的進(jìn)位,所以要逐位等待,為了提高運(yùn)算速度,設(shè)計(jì)并行加法器,以先行進(jìn)位為例設(shè)計(jì),該加法器,是通過(guò)把進(jìn)位提前形成,克服串行加法器的逐位等待,進(jìn)位的邏輯表達(dá)式如下:
假設(shè):Gi=AiBi,Pi=Ai⊕Bi
那么:
C1=G1+P1C0
C2=G2+P2G1+P2P1C0
C3=G3+P3G2+P3P2G1+P3P2P1C0
C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
電路圖如圖2所示.
啟動(dòng)仿真,驗(yàn)證功能,用開(kāi)關(guān)或者開(kāi)關(guān)組給定數(shù)據(jù)驗(yàn)證功能,經(jīng)驗(yàn)證,功能正常,圖3顯示是輸入端均是0的結(jié)果,S和C+1都是0;圖4顯示的是1100+0011的結(jié)果F;圖2顯示的是1100-0011的結(jié)果6,四位加法中當(dāng)給定數(shù)據(jù)相加或則相減出現(xiàn)溢出時(shí),溢出標(biāo)志燈會(huì)點(diǎn)亮.
在計(jì)算機(jī)組成原理課程中設(shè)計(jì)一些虛擬實(shí)驗(yàn)是實(shí)驗(yàn)教學(xué)改革的要求.基于Proteus的虛擬實(shí)驗(yàn)方式成本不高,實(shí)驗(yàn)難度也符合學(xué)生的實(shí)際,并能激發(fā)學(xué)生進(jìn)行綜合性、設(shè)計(jì)性實(shí)驗(yàn)的興趣.如何指導(dǎo)學(xué)生進(jìn)行整機(jī)實(shí)驗(yàn),甚至建立硬件課程群的一體化的虛擬實(shí)驗(yàn)體系是我們需要進(jìn)一步研究的方向.
[1] 楊澤雪,閔莉,王建偉.計(jì)算機(jī)組成原理課程實(shí)驗(yàn)教學(xué)探討[J].計(jì)算機(jī)教育,2015(4):107-110.
[2] 蔡曉燕,袁春風(fēng),張澤生.計(jì)算機(jī)組成原理實(shí)驗(yàn)初探[J].計(jì)算機(jī)教育,2013(21):74-78.
[3] 蘇珉.虛擬現(xiàn)實(shí)技術(shù)在高校實(shí)驗(yàn)教學(xué)中的應(yīng)用研究[J].中國(guó)教育信息化,2011(7):66-67
[4] 唐曉慧,韋萍萍.基于Protues軟件的單片機(jī)軟硬件仿真實(shí)驗(yàn)[J].畢節(jié)學(xué)院學(xué)報(bào),2012(8):96-99.
[5] 潘昕暢.PROTEUS軟件平臺(tái)在中職單片機(jī)課程實(shí)驗(yàn)教學(xué)中的研究與應(yīng)用[D].天津:天津師范大學(xué),2012.
Abstract:Aiming at the present situation of the experimental teaching of computer composition principle,virtual experiment based on Proteus is introduced in the course of teaching.As an example of the adder experiment,the design and Simulation of the experimental process is introduced.Good results of experimental teaching are achieved.
Keywords:Proteus; Experimental teaching; Virtual experiment
(責(zé)任編輯:季春陽(yáng))
ResearchonVirtualExperimentofComputerOrganizationPrincipleBasedonProteus
Chen Yan,Wang Decheng
(Anhui Xinhua University)
TP391.9
A
1000-5617(2017)02-0087-03
2017-01-30
*安徽新華學(xué)院質(zhì)量工程項(xiàng)目(2014jy010、2012jpkcx04、2014jgkcx04)