戚梅,張鵬
(山東科技大學(xué) 信息學(xué)院,山東 青島 266510)
《計(jì)算機(jī)組成原理》是計(jì)算機(jī)科學(xué)與工程技術(shù)類(lèi)專(zhuān)業(yè)的一門(mén)核心課程,是學(xué)習(xí)計(jì)算機(jī)硬件系統(tǒng)的關(guān)鍵課程。計(jì)算機(jī)組成原理涉及的知識(shí)面寬、跨度大、概念抽象,對(duì)實(shí)驗(yàn)教學(xué)提出很高的要求[1]。提高該課程的實(shí)驗(yàn)教學(xué)水平,加深學(xué)生對(duì)課程的理解,培養(yǎng)學(xué)生設(shè)計(jì)能力和創(chuàng)新能力具有重要的意義。隨著電子技術(shù)的不斷發(fā)展,數(shù)字系統(tǒng)的設(shè)計(jì)方法也在不斷地進(jìn)步,傳統(tǒng)的手工設(shè)計(jì)過(guò)程已經(jīng)被先進(jìn)的EDA工具所替代。計(jì)算機(jī)作為一個(gè)典型的復(fù)雜數(shù)字系統(tǒng),其設(shè)計(jì)方法發(fā)生了根本性的變革,因此,應(yīng)用EDA技術(shù)是計(jì)算機(jī)組成原理課程實(shí)驗(yàn)改革的方向。
“計(jì)算機(jī)組成原理”課程實(shí)驗(yàn)一般采用的是現(xiàn)成的計(jì)算機(jī)模型實(shí)驗(yàn)系統(tǒng),這類(lèi)實(shí)驗(yàn)系統(tǒng)已將CPU的各個(gè)組成部件全部做好,學(xué)生按要求連線(xiàn)、撥動(dòng)開(kāi)關(guān)或編寫(xiě)微程序就能完成實(shí)驗(yàn)。該類(lèi)系統(tǒng)對(duì)提高學(xué)生的動(dòng)手能力、提高學(xué)生對(duì)計(jì)算機(jī)整體和各組成部分的理解、提高學(xué)生的計(jì)算機(jī)綜合設(shè)計(jì)能力有很大幫助。但是在實(shí)驗(yàn)過(guò)程中,也發(fā)現(xiàn)這種實(shí)驗(yàn)方法局限性較大,器件的擴(kuò)展相對(duì)困難,學(xué)生的設(shè)計(jì)難以突破實(shí)驗(yàn)項(xiàng)的限制[2]。有些學(xué)生對(duì)實(shí)驗(yàn)過(guò)程不求甚解,缺乏對(duì)實(shí)驗(yàn)的主動(dòng)思考能力,僅關(guān)心盡快完成電路連接,對(duì)原理電路中功能和工作邏輯并不深究,只是按老師安排好的實(shí)驗(yàn)步驟完成實(shí)驗(yàn),而對(duì)于步驟的原因及電路結(jié)構(gòu)根本不加思索。這樣做實(shí)驗(yàn),無(wú)法真正做到理論與實(shí)際的結(jié)合,有時(shí)結(jié)果出來(lái)還不知道是怎么回事,也就很難培養(yǎng)出動(dòng)手能力強(qiáng)、有創(chuàng)新能力的學(xué)生。
EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線(xiàn)和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。在“計(jì)算機(jī)組成原理”課程中引入先進(jìn)的數(shù)字系統(tǒng)設(shè)計(jì)方法EDA,可以在一定程度上解決上述難題。EDA技術(shù)的出現(xiàn),使計(jì)算機(jī)組成原理實(shí)驗(yàn)可以通過(guò)可編程邏輯器件進(jìn)行修改和重構(gòu),實(shí)現(xiàn)系統(tǒng)編程和硬件邏輯設(shè)計(jì)的軟件化,設(shè)計(jì)方法較靈活,極大地提高了電路設(shè)計(jì)的效率和可靠性。
本實(shí)驗(yàn)系統(tǒng)中使用的大規(guī)??删幊踢壿嬈骷荓attice公司的ispLSI1032芯片。CPLD芯片具有 “在系統(tǒng)可編程功能”,這種功能可隨時(shí)對(duì)系統(tǒng)進(jìn)行邏輯重構(gòu)和修改。實(shí)驗(yàn)系統(tǒng)中采用ispDesignEXPERT軟件來(lái)對(duì)可編程邏輯器件進(jìn)行編程設(shè)計(jì)實(shí)現(xiàn),在該編譯器中可采用原理圖或硬件描述語(yǔ)言或這2種方法的混合輸入共3種方式來(lái)進(jìn)行設(shè)計(jì)輸入,并能對(duì)所設(shè)計(jì)的數(shù)字電子系統(tǒng)進(jìn)行功能仿真和時(shí)序仿真,其編譯器是軟件所需要的熔絲圖文件。 該軟件支持所有Lattice公司的 ispLSI器件[3]。
EDA技術(shù)在計(jì)算機(jī)組成原理實(shí)驗(yàn)中不僅可以進(jìn)行運(yùn)算器、存儲(chǔ)器、總線(xiàn)傳輸、組合邏輯控制器等部件單元實(shí)驗(yàn)設(shè)計(jì),還可以進(jìn)行綜合實(shí)驗(yàn)設(shè)計(jì),包括CPU設(shè)計(jì)、基本模型機(jī)設(shè)計(jì)等,充分體現(xiàn)了自主和自動(dòng)設(shè)計(jì)風(fēng)格。由于EDA設(shè)計(jì)非常靈活,考慮到計(jì)算機(jī)組成原理實(shí)驗(yàn)課不同于EDA設(shè)計(jì)課程,沒(méi)有更多的學(xué)時(shí)講授EDA設(shè)計(jì)方法,所以采用層次教學(xué)和開(kāi)放教學(xué)手段。實(shí)驗(yàn)在PLD綜合開(kāi)發(fā)工具ispDesignEXPERT軟件環(huán)境下進(jìn)行,只用少量學(xué)時(shí)進(jìn)行軟件基本功能使用培訓(xùn),如對(duì)大多數(shù)學(xué)生要求采用畫(huà)電路圖的方法進(jìn)行部件設(shè)計(jì),并不要求一定要學(xué)習(xí)ABEL語(yǔ)言和編程設(shè)計(jì)電路,對(duì)有能力的學(xué)生鼓勵(lì)采用ABEL語(yǔ)言編程設(shè)計(jì)[4]。
下面以“基于EDA技術(shù)設(shè)計(jì)CPU控制器”為例,通過(guò)設(shè)計(jì)五條機(jī)器指令(MOV、ADD、JMP、LOAD、STORE),利用大規(guī)??删幊踢壿嬈骷﨏PLD設(shè)計(jì)CPU的組合邏輯控制器,在編譯器中可采用原理圖與硬件描述語(yǔ)言混合輸入的方法來(lái)介紹EDA設(shè)計(jì)的過(guò)程[5]。
1)組合邏輯控制器原理圖
組合邏輯控制器本質(zhì)上就是一個(gè)組合電路,它將輸入邏輯信號(hào)轉(zhuǎn)換成一組輸出邏輯信號(hào),即控制信號(hào)。它是根據(jù)指令系統(tǒng)的操作時(shí)間表用組合邏輯線(xiàn)路形成的微命令序列。組合邏輯控制器的輸入信號(hào)有:指令譯碼器的輸出、時(shí)序信號(hào)和運(yùn)算結(jié)果標(biāo)志狀態(tài)信號(hào)等。輸出的就是所有各部件需要的各種微操作信號(hào)[6]。組合邏輯控制器結(jié)構(gòu)如圖1所示。
圖1 組合邏輯控制器Fig.1 Combinational logic controller
2)指令格式及指令的尋址方式
MOV、ADD、JMP 3條單字長(zhǎng)指令為單周期執(zhí)行完成,STORE、LOAD兩條雙字長(zhǎng)指令為兩周期執(zhí)行完成,A為存數(shù)或取數(shù)的直接地址,尋址方式采用寄存器尋址及直接尋址兩種方式。
3)頂層電路及程序描述
根據(jù)以上指令格式,在ispDesignEXPERT軟件設(shè)計(jì)環(huán)境下,組合邏輯控制器可由一個(gè)頂層模塊電路原理圖2來(lái)描述。用ABEL語(yǔ)言設(shè)計(jì)PLD子模塊的功能描述程序,編譯所設(shè)計(jì)的程序,將生成的JED文件下載至CPLD芯片ispLSI1032中。
圖2 CPLD頂層模塊電路原理圖Fig.2 The top module circuit principle of CPLD
根據(jù)控制信號(hào)時(shí)間安排,對(duì)每個(gè)控制信號(hào)進(jìn)行邏輯綜合和化簡(jiǎn),得到控制信號(hào)的最簡(jiǎn)邏輯表達(dá)式,用ABEL語(yǔ)言設(shè)計(jì)PLD子模塊的功能描述程序如下:
4)在該CPU的指令存儲(chǔ)器中設(shè)置以下程序
連接實(shí)驗(yàn)電路,聯(lián)上PC機(jī),將上述程序?qū)懭胂鄳?yīng)的地址單元中。單步執(zhí)行機(jī)器指令,可通過(guò)地址顯示燈檢查指令執(zhí)行的地址,運(yùn)行完成后通過(guò)PC機(jī)聯(lián)機(jī)軟件測(cè)試模型機(jī)的邏輯功能。
從以上例子可以看到,在EDA軟件的輔助下,可以從指令設(shè)計(jì)開(kāi)始,非常容易的設(shè)計(jì)出自己的CPU,并驗(yàn)證正確性。如果在教學(xué)過(guò)程中,融入EDA設(shè)計(jì)過(guò)程,將使學(xué)生對(duì)CPU的組成及工作原理有非常透徹的理解和領(lǐng)悟,同時(shí)也鞏固了邏輯電路的相關(guān)知識(shí)。EDA工具提供的是虛擬器件和儀器,學(xué)生在實(shí)驗(yàn)中就不存在損壞實(shí)驗(yàn)器件和儀器的可能,使學(xué)生可以放開(kāi)手腳大膽地進(jìn)行實(shí)驗(yàn);另一方面,由于EDA技術(shù)的引入,學(xué)生在課堂上完不成的實(shí)驗(yàn),可以存盤(pán)后利用課余時(shí)間繼續(xù)在自己的計(jì)算機(jī)上完成[7]。因此,利用EDA技術(shù),學(xué)生可很方便地開(kāi)展綜合性、設(shè)計(jì)性、自主性的實(shí)驗(yàn),進(jìn)而可完成大型硬件的原型設(shè)計(jì),或進(jìn)行創(chuàng)新性課題的研究,提高學(xué)生硬件設(shè)計(jì)能力,從而改變目前學(xué)生硬件動(dòng)手能力差的弱勢(shì)。
基于EDA技術(shù)的實(shí)驗(yàn)教學(xué),在鞏固學(xué)生計(jì)算機(jī)組成原理課程理論的學(xué)習(xí),熟悉CPU各個(gè)功能部件的工作情況,促進(jìn)學(xué)生的感性認(rèn)識(shí),培養(yǎng)學(xué)生計(jì)算機(jī)應(yīng)用能力和創(chuàng)新能力等方面起了積極的作用。采用EDA技術(shù)將為學(xué)生進(jìn)行自主實(shí)驗(yàn)、綜合實(shí)驗(yàn)和創(chuàng)新實(shí)驗(yàn)提供廣闊的發(fā)展空間的同時(shí),還全面提高了學(xué)生工程實(shí)踐能力和學(xué)習(xí)硬件設(shè)計(jì)的興趣。
[1]陳媛,黃賢英.基于EDA技術(shù)的計(jì)算機(jī)組成原理實(shí)驗(yàn)教學(xué)探索[J].重慶工學(xué)院學(xué)報(bào):自然科學(xué)版,2007,21(2):136-138.
CHEN Yuan,HUANG Xian-ying.Exploration on experimental teaching of “principle of computer organization”based on EDA technology[J].JournalofChongqing Institute of Technology,2007,21(2):136-138.
[2]李麗萍,盛琳陽(yáng).基于EDA技術(shù)的計(jì)算機(jī)組成原理實(shí)驗(yàn)課開(kāi)放性教學(xué)模式研究[J].計(jì)算機(jī)教育,2010(10):55-57.
LI Li-ping,SHENG Lin-yang.Research on open educational model of technology computer composition principle experiment class based on EDA[J].Computer Education,2010(10):55-57.
[3]戚梅,張鵬,東野長(zhǎng)磊.基于CPLD組合邏輯控制器模型機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2010,29(7):64-66.
QI Mei,ZHANG Peng,DONGYE Chang-lei.Design and realization of model machine based on CPLD combinational logic controller[J].Research and Exploration in Laboratory,2010,29(7):64-66.
[4]劉文英,李克文,紀(jì)友芳.基于EDA技術(shù)的計(jì)算機(jī)硬件體系實(shí)踐教學(xué)探索[J].計(jì)算機(jī)教育, 2008(14):160-162.
LIU Wen-ying,LI Ke-wen, JI You-fang.The study of practice teaching on computer hardware system B computer education[J].Computer Education,2008(14):160-162.
[5]戚梅,程勇.計(jì)算機(jī)組成原理實(shí)驗(yàn)教程[M].北京:北京航空航天大學(xué)出版社,2008:73-84.
[6]白中英.計(jì)算機(jī)組成原理[M].4版.北京:科學(xué)出版社,2008.
[7]郭連喜,王美妮.基于EDA技術(shù)實(shí)驗(yàn)教學(xué)環(huán)節(jié)的改革探討[J].高等農(nóng)業(yè)教育, 2005(3):55-56.
GUO Lian-xi, WANG Mei-ni.The reform study on experiment teaching base on EDA[J].Higher Agricultural Education, 2005(3):55-56.