【摘 要】計(jì)算機(jī)組成與結(jié)構(gòu)實(shí)驗(yàn)課程是計(jì)算機(jī)專業(yè)以及相關(guān)專業(yè)學(xué)生要學(xué)習(xí)的一門必修課程,在這門課程中應(yīng)用EDA技術(shù)進(jìn)行教學(xué),不僅能加深學(xué)生對計(jì)算機(jī)組成與結(jié)構(gòu)課程的理解,也將有利于提高學(xué)生進(jìn)行自主學(xué)習(xí)的能力以及創(chuàng)新的綜合設(shè)計(jì)能力。正是符合了該課程的預(yù)期目的。
【關(guān)鍵詞】計(jì)算機(jī)組成與結(jié)構(gòu);EDA技術(shù);實(shí)驗(yàn);應(yīng)用
計(jì)算機(jī)及其相關(guān)專業(yè)的學(xué)生在學(xué)習(xí)過程中,除了要對理論知識加以了解,更重要的是要提升自己的動手能力。計(jì)算機(jī)組成與結(jié)構(gòu)實(shí)驗(yàn)教學(xué),就是計(jì)算機(jī)專業(yè)學(xué)生的必修課,通過課程設(shè)計(jì)把理論知識運(yùn)用到實(shí)踐中,可以起到拓展知識的作用。
一、EDA技術(shù)概述
EDA也就是電子設(shè)計(jì)自動化,EDA技術(shù)的發(fā)展經(jīng)歷了計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助制造、計(jì)算機(jī)輔助測試以及計(jì)算機(jī)輔助工程。EDA技術(shù)的工具就是計(jì)算機(jī),在EDA軟件平臺上,設(shè)計(jì)者常常用硬件描述語言HDL來完成具體的課程設(shè)計(jì)文件,然后再在計(jì)算機(jī)平臺上自動完成邏輯編譯、分割、優(yōu)化、布局、仿真等多個(gè)步驟。
EDA技術(shù)最大的優(yōu)勢在于用軟件的方法來實(shí)現(xiàn)硬件的實(shí)際功效。一項(xiàng)設(shè)計(jì)最重要的部分是仿真和調(diào)試,采用EDA技術(shù)進(jìn)行設(shè)計(jì)時(shí),從設(shè)計(jì)的高層次上對設(shè)計(jì)進(jìn)行全局縱覽,有助于早期改造結(jié)構(gòu)設(shè)計(jì)上的毛病,避免工作量的增加,也可以減少進(jìn)行邏輯功效仿真的工作量,增加設(shè)計(jì)的成功率。
二、將EDA技術(shù)應(yīng)用于計(jì)算機(jī)組成與結(jié)構(gòu)課程設(shè)計(jì)
計(jì)算機(jī)是一個(gè)典型的復(fù)雜數(shù)字系統(tǒng),如果在計(jì)算機(jī)設(shè)計(jì)系統(tǒng)開發(fā)中加入EDA技術(shù)的軟硬件設(shè)計(jì)平臺,不僅可以提高系統(tǒng)設(shè)計(jì)與調(diào)試的斂率,也可以節(jié)約硬件開發(fā)成本,縮短設(shè)計(jì)周期。因此在計(jì)算機(jī)組成與結(jié)構(gòu)的實(shí)踐教學(xué)中,要不斷提高學(xué)生利用現(xiàn)代化的電子技術(shù)手段進(jìn)行設(shè)計(jì)的能力。當(dāng)然,EDA技術(shù)將成為計(jì)算機(jī)組成與結(jié)構(gòu)實(shí)驗(yàn)教學(xué)的發(fā)展方向。
(一)課程的實(shí)施方案
課程設(shè)計(jì)是要完成模型計(jì)算機(jī)的設(shè)計(jì)以及FPGA的實(shí)現(xiàn),而課程實(shí)驗(yàn)則是用來驗(yàn)證計(jì)算機(jī)的各個(gè)組成部件以及其具體的邏輯功能的。這兩種課程內(nèi)容都是為了讓學(xué)生能夠掌握計(jì)算機(jī)的硬件系統(tǒng)中各個(gè)部件的具體組成原理、邏輯實(shí)現(xiàn)方法及其具體的設(shè)計(jì)方法,從而建立一種整體的概念,提高學(xué)生在學(xué)習(xí)過程中進(jìn)行獨(dú)立分析設(shè)計(jì)的能力。計(jì)算機(jī)組成與結(jié)構(gòu)的課程設(shè)計(jì)中運(yùn)用了多門課程,比如計(jì)算機(jī)組成原理、VHDL、匯編語言程序設(shè)計(jì)等,這些課程都能對學(xué)生的自學(xué)能力有很好的提高。因?yàn)樵撜n程設(shè)計(jì)不僅在理論上要求學(xué)生有扎實(shí)的理論基礎(chǔ),在實(shí)踐上則要求學(xué)生具有電路分析與設(shè)計(jì)、能進(jìn)行完整實(shí)驗(yàn)的能力。
(二)課程設(shè)計(jì)的內(nèi)容
計(jì)算機(jī)組成與結(jié)構(gòu)實(shí)驗(yàn)教學(xué)中,進(jìn)行課程設(shè)計(jì)的內(nèi)容主要有以下幾個(gè)方面。首先是進(jìn)行系統(tǒng)的總體設(shè)計(jì),畫出模型機(jī)的數(shù)據(jù)通路框圖;其次是設(shè)計(jì)微程序控制器或者硬聯(lián)線控制器的邏輯結(jié)構(gòu)框圖;開始設(shè)計(jì)機(jī)器指令格式和指令系統(tǒng);由給出的課程題目和設(shè)計(jì)指令系統(tǒng)來編寫相應(yīng)的匯編語言,進(jìn)行仿真等。
三、將EDA技術(shù)應(yīng)用于計(jì)算機(jī)組成與結(jié)構(gòu)課程實(shí)驗(yàn)
進(jìn)行課程設(shè)計(jì)之后就可以進(jìn)行具體的課程實(shí)踐。在進(jìn)行課程實(shí)踐之前,要掌握具體的設(shè)計(jì)方法。計(jì)算機(jī)的CPU包含基本的功能模塊以及與基本功能模塊相連的數(shù)據(jù)通路。在進(jìn)行課程設(shè)計(jì)實(shí)踐時(shí)要掌握基本功能模塊的具體功能以及各自的特點(diǎn),再對每個(gè)模塊進(jìn)行設(shè)計(jì)、調(diào)試、軟件仿真和硬件設(shè)計(jì)等。計(jì)算機(jī)組成與結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)中采用的CPU采用大多是單總線系統(tǒng)結(jié)構(gòu)的16位CISC CPU,EDA軟件大多是可編程邏輯器件設(shè)計(jì)工具軟件。
(一)基本模犁計(jì)算機(jī)的設(shè)計(jì)
在具體的課程設(shè)計(jì)中,為了保證清晰的系統(tǒng)結(jié)構(gòu),一般在系統(tǒng)的頂層結(jié)構(gòu)采用原理圖輸入法,而在其他的模塊都采用VHDL語言進(jìn)行設(shè)計(jì)。對各個(gè)模塊進(jìn)行處理時(shí)要在文本編輯器中輸入每一個(gè)單元模塊所對應(yīng)的VHDL源程序,并且要對各個(gè)源程序進(jìn)行編譯,可以產(chǎn)生相應(yīng)的圖元,供頂層的電路調(diào)用使用。各個(gè)模塊的圖元可以生成圖元庫,運(yùn)用EDA技術(shù)進(jìn)行實(shí)驗(yàn)課程,很重要的一步就是要進(jìn)行軟件仿真,而仿真的元器件就來源于圖元庫。在圖形編輯器中可以對圖元庫中的各種圖元進(jìn)行調(diào)用,再根據(jù)數(shù)據(jù)通路的總體框架圖連接成頂層電路圖,就可以進(jìn)行電路的仿真。計(jì)算機(jī)組成與結(jié)構(gòu)實(shí)驗(yàn)所設(shè)計(jì)的CISC模型機(jī)的頂層電路圖中有很多基本器件模塊,比如時(shí)序信號發(fā)生器、程序計(jì)數(shù)器、算術(shù)邏輯運(yùn)算單元、移位寄存器、指令寄存器、比較器、地址寄存器、一個(gè)控制單元等。而這些模塊也共用一組16位的三態(tài)數(shù)據(jù)總線。
系統(tǒng)結(jié)構(gòu)中的存儲模塊是一個(gè)重要的組成部分,存儲元件由嵌入式陣列塊構(gòu)成,通過調(diào)用宏模塊并設(shè)置模塊相關(guān)的參數(shù)來實(shí)現(xiàn)存儲功能。系統(tǒng)的各個(gè)部分都承擔(dān)了不同的功能,其中,存儲CPU主要是對指令和數(shù)據(jù)進(jìn)行執(zhí)行,具體的過程是處理器從存儲元件中讀取相應(yīng)的指令,CPU再執(zhí)行指令來運(yùn)行下行的各種程序,整個(gè)過程中的指令都被存儲在指令寄存器中。譯碼過程由控制單元完成,控制單元主要是控制相應(yīng)的信號進(jìn)行相互作用,并且控制各個(gè)處理單元來執(zhí)行這些指令。
系統(tǒng)結(jié)構(gòu)中的控制模塊其實(shí)是一個(gè)狀態(tài)機(jī),它主要控制CPU的各項(xiàng)動作之間的順序,比如取指令、譯碼、執(zhí)行指令,控制模塊進(jìn)行操作時(shí)要針對各個(gè)動作發(fā)出具體的時(shí)序控制信號,使得計(jì)算機(jī)內(nèi)部的各個(gè)動作都能進(jìn)行協(xié)調(diào)的工作,進(jìn)而完成各個(gè)指令的具體功能。這種方法與微程序設(shè)計(jì)方法不同,微程序設(shè)計(jì)法主要在控制存儲器中寫入微指令,通過控制微程序來執(zhí)行具體的控制指令。
(二)軟件設(shè)計(jì)
當(dāng)系統(tǒng)CPU得到一個(gè)復(fù)位信號后,系統(tǒng)即開始進(jìn)行復(fù)制操作,復(fù)位信號是使CPU內(nèi)部狀態(tài)復(fù)位的一個(gè)信號操作。一般說來,系統(tǒng)的每個(gè)寄存器都有不同的功能,寄存器1主要存放模塊的的起始地址,寄存器2主要存放系統(tǒng)目標(biāo)區(qū)的起始地址,而寄存器6則主要存放被復(fù)制模塊的末地址。在具體的操作過程中要判斷數(shù)據(jù)模塊的復(fù)制工作是否已經(jīng)結(jié)束,若已經(jīng)滿足結(jié)束條件則可以停止運(yùn)行,否則要繼續(xù)記數(shù)直至數(shù)據(jù)模塊復(fù)制完成。
將設(shè)計(jì)的程序輸入并且進(jìn)行編譯之后,還有一個(gè)重要的步驟就是仿真,仿真也是對設(shè)計(jì)進(jìn)行驗(yàn)證的一個(gè)重要步驟,若在仿真中發(fā)現(xiàn)不符合要求的地方,則要及時(shí)找出原因進(jìn)行改正,以保證最終結(jié)果的正確性。
結(jié)語
計(jì)算機(jī)組成與結(jié)構(gòu)課程是鍛煉學(xué)生積極思考以及提升其思維能力的重要課程,不同的設(shè)計(jì)對象和內(nèi)容導(dǎo)致設(shè)計(jì)的具體內(nèi)容完全不同,這也考驗(yàn)了學(xué)生獨(dú)立思考的能力,由于EDA技術(shù)與計(jì)算機(jī)輸入技術(shù)、邏輯編程和仿真等方面都有緊密的聯(lián)系,而且在硬件實(shí)驗(yàn)之后有具體的圖像可以進(jìn)行對比,因此在實(shí)驗(yàn)教學(xué)中具有很好的靈活性和可操作性。也能提高學(xué)生進(jìn)行軟件開發(fā)的能力,可以達(dá)到課程設(shè)計(jì)的效果。
參考文獻(xiàn)
[1]陳智勇.計(jì)算機(jī)原理課程設(shè)計(jì)的改革與實(shí)踐[J].電氣電子教學(xué)學(xué)報(bào),2005,27(5):71—73
[2]周華,王斐.EDA技術(shù)的特點(diǎn)與發(fā)展趨勢[J].西安航空技術(shù)高等??茖W(xué)校學(xué)報(bào),2009(03):98-99
[3]張亮.應(yīng)用EDA技術(shù)改革“計(jì)算機(jī)組成原理”課程設(shè)計(jì)[J].計(jì)算機(jī)教育,2009(19)::753