




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)組成原理
實(shí)驗(yàn)指導(dǎo)書
許高攀編著廈門理工學(xué)院出版2009.2目錄TOC\o"1-5"\h\z第1章運(yùn)算器 -4-基本運(yùn)算器實(shí)驗(yàn) -4-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-4\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -4-\o"CurrentDocument"實(shí)驗(yàn)原理 -4-\o"CurrentDocument"實(shí)驗(yàn)步驟 -7-超前進(jìn)位加法器設(shè)計(jì)實(shí)驗(yàn) -9-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-9-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -9-\o"CurrentDocument"實(shí)驗(yàn)原理 -9-\o"CurrentDocument"實(shí)驗(yàn)步驟 -13-陣列乘法器設(shè)計(jì)實(shí)驗(yàn) -15-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-15-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -15-\o"CurrentDocument"實(shí)驗(yàn)原理 -15-\o"CurrentDocument"實(shí)驗(yàn)步驟 -16-第2章存儲(chǔ)系統(tǒng) -17-靜態(tài)隨機(jī)存儲(chǔ)器實(shí)驗(yàn) -17-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-17-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -17-\o"CurrentDocument"實(shí)驗(yàn)原理 -17-\o"CurrentDocument"實(shí)驗(yàn)步驟 -19Cache控制器設(shè)計(jì)實(shí)驗(yàn) -22-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-22-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -22-\o"CurrentDocument"實(shí)驗(yàn)原理 -22-\o"CurrentDocument"實(shí)驗(yàn)步驟 -24-第3章控制器 -27-時(shí)序發(fā)生器設(shè)計(jì)實(shí)驗(yàn) -27-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -27-\o"CurrentDocument"實(shí)驗(yàn)原理 -27-\o"CurrentDocument"實(shí)驗(yàn)步驟 -28-微程序控制器設(shè)計(jì)實(shí)驗(yàn) -30-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-30-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -30-\o"CurrentDocument"實(shí)驗(yàn)原理 -30-\o"CurrentDocument"實(shí)驗(yàn)步驟 -36-第4章系統(tǒng)總線與總線接口 -39-系統(tǒng)總線和具有基本輸入輸出功能的總線接口實(shí)驗(yàn) -39-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-39-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -39-\o"CurrentDocument"實(shí)驗(yàn)原理 -39-\o"CurrentDocument"實(shí)驗(yàn)步驟 -40-具有中斷控制功能的總線接口實(shí)驗(yàn) -44-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康? -44-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -44-\o"CurrentDocument"實(shí)驗(yàn)原理 -44-\o"CurrentDocument"實(shí)驗(yàn)步驟 -45-具有DMA控制功能的總線接口實(shí)驗(yàn) -46-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-46-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -46-\o"CurrentDocument"實(shí)驗(yàn)原理 -46-\o"CurrentDocument"實(shí)驗(yàn)步驟 -47-第5章模型計(jì)算機(jī) -48CPU與簡單模型機(jī)設(shè)計(jì)實(shí)驗(yàn) -48-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-48-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -48-\o"CurrentDocument"實(shí)驗(yàn)原理 -48-\o"CurrentDocument"實(shí)驗(yàn)步驟 -52-硬布線控制器模型機(jī)設(shè)計(jì)實(shí)驗(yàn) -56-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-56-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -56-\o"CurrentDocument"實(shí)驗(yàn)原理 -56-復(fù)雜模型機(jī)設(shè)計(jì)實(shí)驗(yàn) -60-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-60-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -60-\o"CurrentDocument"實(shí)驗(yàn)原理 -60-\o"CurrentDocument"總體設(shè)計(jì) -62-\o"CurrentDocument"實(shí)驗(yàn)步驟 -68-第6章輸入輸出系統(tǒng) -74-帶中斷處理能力的模型機(jī)設(shè)計(jì)實(shí)驗(yàn) -74-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-74-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -74-\o"CurrentDocument"實(shí)驗(yàn)原理 -74-帶DMA控制功能的模型機(jī)設(shè)計(jì)實(shí)驗(yàn) -89-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-89-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -89-\o"CurrentDocument"實(shí)驗(yàn)原理 -89-\o"CurrentDocument"實(shí)驗(yàn)步驟 -93-典型I/。接口8253擴(kuò)展設(shè)計(jì)實(shí)驗(yàn) -95-實(shí)驗(yàn)?zāi)康?-95-實(shí)驗(yàn)設(shè)備 -95-實(shí)驗(yàn)原理 -95-\o"CurrentDocument"實(shí)驗(yàn)步驟 -97-第7章精簡指令系統(tǒng)計(jì)算機(jī) -98-計(jì)算機(jī)的指令系統(tǒng) -99-基于RISC技術(shù)的模型計(jì)算機(jī)設(shè)計(jì)實(shí)驗(yàn) -101-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-102-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -102-\o"CurrentDocument"實(shí)驗(yàn)原理 -102-\o"CurrentDocument"實(shí)驗(yàn)步驟 -105-\o"CurrentDocument"性能評(píng)測(cè) -105-第8章重疊處理機(jī) -107-重疊的基本原理和思想 -107-重疊的基本思想及實(shí)現(xiàn) -107-\o"CurrentDocument"相關(guān)處理 -108-基于重疊技術(shù)的模型計(jì)算機(jī)設(shè)計(jì)實(shí)驗(yàn) -109-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-109-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -109-\o"CurrentDocument"實(shí)驗(yàn)原理 -109-\o"CurrentDocument"實(shí)驗(yàn)步驟 -115-\o"CurrentDocument"性能評(píng)測(cè) -117-第9章流水線處理機(jī) -118-流水線的原理及基本思想 -118-流水的基本概念 -118-\o"CurrentDocument"流水線的特點(diǎn) -119-\o"CurrentDocument"相關(guān)處理 -119-基于流水技術(shù)的模型計(jì)算機(jī)設(shè)計(jì)實(shí)驗(yàn) -120-\o"CurrentDocument"實(shí)驗(yàn)?zāi)康?-120-\o"CurrentDocument"實(shí)驗(yàn)設(shè)備 -120-\o"CurrentDocument"實(shí)驗(yàn)原理 -120-\o"CurrentDocument"實(shí)驗(yàn)步驟 -123-\o"CurrentDocument"性能評(píng)測(cè) -125-第1章運(yùn)算器計(jì)算機(jī)的一個(gè)最主要的功能就是處理各種算術(shù)和邏輯運(yùn)算,這個(gè)功能要由CPU中的運(yùn)算器來完成,運(yùn)算器也稱作算術(shù)邏輯部件ALU。本章首先安排一個(gè)基本的運(yùn)算器實(shí)驗(yàn),了解運(yùn)算器的基本結(jié)構(gòu),然后再設(shè)計(jì)一個(gè)加法器和一個(gè)乘法器?;具\(yùn)算器實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康牧私膺\(yùn)算器的組成結(jié)構(gòu)。(2)掌握運(yùn)算器的工作原理。實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。實(shí)驗(yàn)原理本實(shí)驗(yàn)的原理如圖ITT所示。運(yùn)算器內(nèi)部含有三個(gè)獨(dú)立運(yùn)算部件,分別為算術(shù)、邏輯和移位運(yùn)算部件,要處理的數(shù)據(jù)存于暫存器A和暫存器B,三個(gè)部件同時(shí)接受來自A和B的數(shù)據(jù)(有些處理器體系結(jié)構(gòu)把移位運(yùn)算器放于算術(shù)和邏輯運(yùn)算部件之前,如ARM),各部件對(duì)操作數(shù)進(jìn)行何種運(yùn)算由控制信號(hào)S3…SO和CN來決定,任何時(shí)候,多路選擇開關(guān)只選擇三部件中一個(gè)部件的結(jié)果作為ALU的輸出。如果是影響進(jìn)位的運(yùn)算,還將置進(jìn)位標(biāo)志FC,在運(yùn)算結(jié)果輸出前,置ALU零標(biāo)志。ALU中所有模塊集成在一片CPLD中。邏輯運(yùn)算部件由邏輯門構(gòu)成,較為簡單,而后面又有專門的算術(shù)運(yùn)算部件設(shè)計(jì)實(shí)驗(yàn),在此對(duì)這兩個(gè)部件不再贅述。移位運(yùn)算采用的是桶形移位器,?般采用交叉開關(guān)矩陣來實(shí)現(xiàn),交叉開關(guān)的原理如圖1-1-2所示。圖中顯示的是一個(gè)4X4的矩陣(系統(tǒng)中是一個(gè)8X8的矩陣)。每一個(gè)輸入都通過開關(guān)與一個(gè)輸出相連,把沿對(duì)角線的開關(guān)導(dǎo)通,就可實(shí)現(xiàn)移位功能,即:(1)對(duì)于邏輯左移或邏輯右移功能,將一條對(duì)角線的開關(guān)導(dǎo)通,這將所有的輸入位與所使用的輸出分別相連,而沒有同任何輸入相連的則輸出連接0。(2)對(duì)于循環(huán)右移功能,右移對(duì)角線同互補(bǔ)的左移對(duì)角線一起激活。例如,在4位矩陣中使用‘右1'和‘左3'對(duì)角線來實(shí)現(xiàn)右循環(huán)1位。⑶對(duì)于未連接的輸出位,移位時(shí)使用符號(hào)擴(kuò)展或是0填充,具體由相應(yīng)的指令控制。使用另外的邏輯進(jìn)行移位總量譯碼和符號(hào)判別。
圖L1-1運(yùn)算器原理圖運(yùn)算器部件由一片CPLD實(shí)現(xiàn)。ALU的輸入和輸出通過三態(tài)門74LS245連到CPU內(nèi)總線上,另外還有指示燈標(biāo)明進(jìn)位標(biāo)志FC和零標(biāo)志FZ。請(qǐng)注意:實(shí)驗(yàn)箱上凡絲印標(biāo)注有馬蹄形標(biāo)記'',表示這兩根排針之間是連通的。圖中除T4和CLR,其余信號(hào)均來自于ALU單元的排線座,實(shí)驗(yàn)箱中所有單元的Tl、T2、T3、T4都連接至控制總線單元的Tl、T2、T3、T4,CLR都連接至CON單元的CLR按鈕。T4山時(shí)序單元的TS4提供(時(shí)序單元的介紹見附錄二),其余控制信號(hào)均由CON單元的二進(jìn)制數(shù)據(jù)開關(guān)模擬給出??刂菩盘?hào)中除T4為脈沖信號(hào)外,其余均為電平信號(hào),其中ALU_B為低有效,其余為高有效。圖1-1-2交叉開關(guān)梯形移位器原理圖暫存器A和暫存器B的數(shù)據(jù)能在LED燈上實(shí)時(shí)顯示,原理如圖1-1-3所示(以A0為例,其它相同)。進(jìn)位標(biāo)志FC、零標(biāo)志FZ和數(shù)據(jù)總線D7…DO的顯示原理也是如此。
VCC| (=] Df 0<]——AO圖1-1-3AO旦示原理圖ALU和外圍電路的連接如圖1T-4所示,圖中的小方框代表排針座。運(yùn)算器的邏輯功能表如表1-1-1所示,其中S3s2S1SOCN為控制信號(hào),F(xiàn)C為進(jìn)位標(biāo)志,F(xiàn)Z為運(yùn)算器零標(biāo)志,表中功能欄內(nèi)的FC、FZ表示當(dāng)前運(yùn)算會(huì)影響到該標(biāo)志。7..n圖I-L4ALU和外圍電邇接原琰圖?1-M運(yùn)算卷邏■功能表運(yùn)算類型S3S2SISOCN功能邏輯運(yùn)算0000XF=A(真通)0001XF=B(克通)0010XF=AB (FZ)0011XF=A-B (FZ)0100XF-/A (FZ)移位運(yùn)算0101XF=A不帶進(jìn)位循環(huán)右移B(取低3位)位 (FZ)01100F?A邏輯右移一位 (FZ)1F-A帶進(jìn)位循環(huán)右移一位 (FC,FZ)01110F-A邏輯左移一位 (FZ)1F-A帶進(jìn)位循環(huán)左移一位 (FC,FZ)算術(shù)運(yùn)算1000X置FC-CN (FC)1001XF=A加B (FC,FZ)1010XF=A加B加FC (FC,FZ)1011XF-AMB (FC,FZ)1100XF=A?1 (FC,FZ)1101XF=A加1 (FC,FZ)1110X(保留)1111X(保留)*表中“x”為任意態(tài),下同1.1.4實(shí)驗(yàn)步驟(1)按圖1T-5連接實(shí)驗(yàn)電路,并檢查無誤。圖中將用戶需要連接的信號(hào)用圓圈標(biāo)明(其它實(shí)驗(yàn)相同)。圖1-1-5實(shí)驗(yàn)接線圖(2)將時(shí)序與操作臺(tái)單元的開關(guān)KK2置為‘單拍'檔,開關(guān)KK1、KK3置為‘運(yùn)行'檔。(3)打開電源開關(guān),如果聽到有,嘀,報(bào)警聲,說明有總線競爭現(xiàn)象,應(yīng)立即關(guān)閉電源,重新檢查接線,直到錯(cuò)誤排除。然后按動(dòng)CON單元的CLR按鈕,將運(yùn)算器的A、B和FC、FZ清零。(4)用輸入開關(guān)向暫存器A置數(shù)。①撥動(dòng)CON單元的SD27…SD20數(shù)據(jù)開關(guān),形成二進(jìn)制數(shù)01100101(或其它數(shù)值),數(shù)據(jù)顯示亮為'1',滅為‘0'。②置LDA=1,LDB=O,連續(xù)按動(dòng)時(shí)序單元的ST按鈕,產(chǎn)生一個(gè)T4上沿,則將二進(jìn)制數(shù)01100101置入暫存器A中,暫存器A的值通過ALU單元的A7…A0八位LED燈顯示。(5)用輸入開關(guān)向暫存器B置數(shù)。①撥動(dòng)CON單元的SD27…SD20數(shù)據(jù)開關(guān),形成二進(jìn)制數(shù)10100111(或其它數(shù)值)。②置LDA=O,LDB=1,連續(xù)按動(dòng)時(shí)序單元的ST按鈕,產(chǎn)生一個(gè)T4上沿,則將二進(jìn)制數(shù)10100111置入暫存器B中,暫存器B的值通過ALU單元的B7…B0八位LED燈顯示。(6)改變運(yùn)算器的功能設(shè)置,觀察運(yùn)算器的輸出。置ALU_B=O、LDA=O、LDB=O,然后按表ITT置S3、S2、SI、SO和Cn的數(shù)值,并觀察數(shù)據(jù)總線LED顯示燈顯示的結(jié)果。如置S3、S2、SI、S0為0010,運(yùn)算器作邏輯與運(yùn)算,置S3、S2、SI、S0為1001,運(yùn)算器作加法運(yùn)算。如果實(shí)驗(yàn)箱和PC聯(lián)機(jī)操作,則可通過軟件中的數(shù)據(jù)通路圖來觀測(cè)實(shí)驗(yàn)結(jié)果(軟件使用說明請(qǐng)看附錄一),方法是:打開軟件,選擇聯(lián)機(jī)軟件的“【實(shí)驗(yàn)】一【運(yùn)算器實(shí)驗(yàn)】",打開運(yùn)算器實(shí)驗(yàn)的數(shù)據(jù)通路圖,如圖1-1-6所示。進(jìn)行上面的手動(dòng)操作,每按動(dòng)一次ST按鈕,數(shù)據(jù)通路圖會(huì)有數(shù)據(jù)的流動(dòng),反映當(dāng)前運(yùn)算器所做的操作,或在軟件中選擇“【調(diào)試】一【單節(jié)拍】”,其作用相當(dāng)于將時(shí)序單元的狀態(tài)開關(guān)KK2置為‘單拍’檔后按動(dòng)了一次ST按鈕,數(shù)據(jù)通路圖也會(huì)反映當(dāng)前運(yùn)算器所做的操作。重復(fù)上述操作,并完成表1T-2。然后改變A、B的值,驗(yàn)證FC、FZ的鎖存功能。
圖LL6數(shù)據(jù)通珞圖*1-1-2???**ABS3S2S1S0CN笫景度較運(yùn)“65A70000XF=(65)FC=()FZ=(65A70001XFx(A7)FC=()FZx(0010XF=( )K>()FZ=(0011XFs()FC=()ns(0100XF?( )FCs()FZ=(移位運(yùn)算0101XFx()FCs()FZx(01100Fx()TC=()FZ=()1Fx()R>()FZ=(01110F=()FC=()FZ=(1F=()FC=()FZ=()“術(shù)運(yùn)算1000XF=()FC=()FZ=()1001XF=( )FC=()FZ=(1010(FC=0)XF=()FC=()FZ=(1010(FC=1)XF=()FC=()FZ=(1011XF=()FC=()FZ=(1100XF=( )R>()FZ=(1101XF=()FC=()FZ=(超前進(jìn)位加法器設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?1)掌握超前進(jìn)位加法器的原理及其設(shè)計(jì)方法。(2)熟悉CPLD應(yīng)用設(shè)計(jì)及EDA軟件的使用。實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。實(shí)驗(yàn)原理加法器是執(zhí)行二進(jìn)制加法運(yùn)算的邏輯部件,也是CPU運(yùn)算器的基本邏輯部件(減法可以通過補(bǔ)碼相加來實(shí)現(xiàn))。加法器又分為半加器和全加器(FA),不考慮低位的進(jìn)位,只考慮兩個(gè)二進(jìn)制數(shù)相加,得到和以及向高位進(jìn)位的加法器為半加器,而全加器是在半加器的基礎(chǔ)上又考慮了低位過來的進(jìn)位信號(hào)。*1-2-1*入*出ABCiSCo000C000110010100110110010101011100111111A、B為2個(gè)1位的加數(shù),Ci為來自低位的進(jìn)位,S為和,Co為向高位的進(jìn)位,根據(jù)表1-2-1所示的真值表,可得到全加器的邏輯表達(dá)式為:S=ABCi+ABCi+ABCi+ABCiCo?AB+ACi+BCi根據(jù)邏輯表達(dá)式,可得到如圖1-2-1所示的邏輯電路圖。有了1位全加器,就可以用它來構(gòu)造多位加法器,加法器根據(jù)電路結(jié)構(gòu)的不同,可以分為串行加法器和并行加法器兩種。串行加法器低位全加器產(chǎn)生的進(jìn)位要依次串行地向高位進(jìn)位,其電路簡單,占用資源較少,但是串行加法器每位和以及向高位的進(jìn)位的產(chǎn)生都依賴于低位的進(jìn)位,導(dǎo)致完成加法運(yùn)算的延遲時(shí)間較長,效率并不高。圖1-2-11位全加器(FA)邏輯電路圖串行加法器運(yùn)算速度慢,其根本原因是每一位的結(jié)果都要依賴于低位的進(jìn)位,因而可以通過并行進(jìn)位的方式來提高效率。只要能設(shè)計(jì)出專門的電路,使得每一位的進(jìn)位能夠并行地產(chǎn)生而與低位的運(yùn)算情況無關(guān),就能解決這個(gè)問題??梢詫?duì)加法器進(jìn)位的邏輯表達(dá)式做進(jìn)一步的推導(dǎo):C?-0Cr*l=AjBb-AiCa-BoCj=AiBc—(Ai+Bi)Ci設(shè)gi=A3i則有:=gi+p?(^l-pHCH)=目+p?(史+聲1@2+/Q")=g>+p p?-x(go+poCo).)))=百+pi&l+ppi<]g><2+…+P4>rlpigo+ppi-l.pipoCo由于gi、pi只和Ai、Bi有關(guān),這樣由+1就只和Ai、Ai-1、…、AO,Bi、Bi-1、…、BO及CO有關(guān)。所以各位的進(jìn)位Ci、Ci-l、…、Cl就可以并行地產(chǎn)生,這種進(jìn)位就叫超前進(jìn)位。根據(jù)上面的推導(dǎo),隨著加法器位數(shù)的增加,越是高位的進(jìn)位邏輯電路就會(huì)越復(fù)雜,邏輯器件使用也就越多。事實(shí)上我們可以繼續(xù)推導(dǎo)進(jìn)位的邏輯表達(dá)式,使得某些基本邏輯單元能夠復(fù)用,且能照顧到進(jìn)位位的并行產(chǎn)生。定義Gdj=gi+pigi-1-ppi騏+…+Pdi…prig)Rj=pijh-i...pj*ipj則有Gu=giPu=piGij=GlI-Rj=PuA-ijCri?Gij+PijCj從而可以得到表1-2-2所示的算法,該算法為超前進(jìn)位算法的擴(kuò)展算法,這里實(shí)現(xiàn)的是一個(gè)8位加法器的算法。
*1-2-2Gi.o=gi+pigoPx.o二pxpoGa.o二Go.2+Ps.aGioP3.0二P3.2P1,0Gt.o二仇,+Pt.o=Pr.tPs.oGa.s=g3+pag:P3.2=psp24=go+P6g€Pi.4二p?piGt.4=Gt,6+Pt,^4Pt.4=Pr.ePiiGr.s=gr+P?g6Pr.s=prpeCa=G7,o+Pt.oCo從上表可以看出,本算法的核心思想是把8位加法器分成兩個(gè)4位加法器,先求出低4位加法器的各個(gè)進(jìn)位,特別是向高4位加法器的進(jìn)位C4。然后,高4位加法器把C4作為初始進(jìn)位,使用低4位加法器相同的方法來完成計(jì)算。每一個(gè)4位加法器在計(jì)算時(shí),又分成了兩個(gè)2位的加法器。如此遞歸,如圖1-2-2所示。AT87ST ACXSC A58S JUMS4 A383S3 ASESS3 M81S AOBOSOIII 111 lit Ilf 111 111 III 1114CIS|圖1-2-2超前進(jìn)位擴(kuò)展算法示意圖這樣,在超前進(jìn)位擴(kuò)展算法的邏輯電路實(shí)現(xiàn)中,需要設(shè)計(jì)兩種電路。模塊A邏輯電路需要完成如下計(jì)算邏輯,其原理圖如圖1-2-3所示。Gu=AiBiPU=Ai*B>Si-ABCi+ABCi-ABCi+ABCi模塊B邏輯電路需要完成如下計(jì)算邏輯,其原理圖如圖1-2-4所示Gdj=Guk+PiJtGk-l.jPq=PkkPk-ijOi=Gij+RjCj按圖1-2-2將這兩種電路連接起來,就可以得到一個(gè)8位的超前進(jìn)位的加法器。
圖1-2-3模塊A原理圖PIO圖1-2-3模塊A原理圖PIO圖L2T模塊B原理圖從圖中可以看到Gi,i和Pi,i既參與了每位上進(jìn)位的計(jì)算,又參與了下一級(jí)Gi,i和Pi,i的計(jì)算。這樣就復(fù)用了這些電路,使得需要的總邏輯電路數(shù)大大減少?超前進(jìn)位加法器的運(yùn)算速度較快,但是,與串行進(jìn)位加法器相比,邏輯電路比較復(fù)雜,使用的邏輯器件較多,這些是為提高運(yùn)算速度付出的代價(jià)。本實(shí)驗(yàn)在CPLD單元上進(jìn)行,CPLD單元由由兩大部分組成,一是LED顯示燈,兩組16只,供調(diào)試時(shí)觀測(cè)數(shù)據(jù),LED燈為正邏輯,1時(shí)亮,0時(shí)滅。另外是一片MAXIIEPM1270T144及其外圍電路。EPM1270T144有144個(gè)引腳,分成四個(gè)塊,即BANK1-BANK4,將每個(gè)塊的通用I/O腳加以編號(hào),就形成A01…A24、B01…B30等I/O號(hào),如圖125所示。CPLD單元排針的絲印分為兩部分,一是I/O號(hào),以A、B、C、D打頭,如A15,一是芯片引腳號(hào),是純數(shù)字,如21,它們表示的是同一個(gè)引腳。在Quartusll軟件中分配I/O時(shí)用的是引腳號(hào),而在實(shí)驗(yàn)接線圖中,都以I/O號(hào)來描述。
ooooooooAVooooooVoAoooooooooAVoooooo10t107108G1043310110099M"96M?493n?190t9M?7M”*4:3n?1KK7?“7?7s7473
OOOOOOOOAVOOOOOOVmAmoooooxoooooooooTopView10t107108G1043310110099M"96M?493n?190t9M?7M”*4:3n?1KK7?“7?7s7473
OOOOOOOOAVOOOOOOVmAmoooooxoooooooooMAXIIEPM1270T144C5OOOOOOOOA^VOOOOOOSA^mooooA^VOOOOOOCCCO
1:34s,78910-1112”“151cs1?1?2021u£3s42s26MRKX31gaxMM圖1-2-5EPM1270T144引OOOOOOOOA^VOOOOOOSA^mooooA^VOOOOOOCCCO
1:34s,78910-1112”“151cs1?1?2021u£3s42s26MRKX31gaxMM-二n【8n§n§nC8n
68n5n
3n8n
8-二n【8n§n§nC8n
68n5n
3n8n
8nsnsnansgn68n■£n
czn
ssn
3dn
ydnUMdsu§u33u?susu05u2UuSvu2Ju?Jusususu3usuzeeu*8u9禽u800u2?u29uu2。u3Wu?圖1-2-6JP座LO分配圖實(shí)驗(yàn)步驟(1)根據(jù)上述加法器的邏輯原理使用QuartusII軟件編輯相應(yīng)的電路原理圖并進(jìn)行編譯,其在EPM1270芯片中對(duì)應(yīng)的引腳如圖『2-7所示,框外文字表示1/0號(hào),框內(nèi)文字
表示該引腳的含義(本實(shí)驗(yàn)例程見'安裝路徑\Cpld\Adder\Adder.qpf'工程)。A23 A01...A08Co S7...S0EPM1270Ci A7...A0 B7...B0D25 DO9...D16 D17...D24ffl1-2-7引腳分配圖(2)關(guān)閉實(shí)驗(yàn)系統(tǒng)電源,按圖1-2-8連接實(shí)驗(yàn)電路,圖中將用戶需要連接的信號(hào)用圓圈標(biāo)明。鼻A23L8CPLD單元AOI...A08鼻A23L8CPLD單元AOI...A08D25 D09...D16D17...D24口[ ]] ]VCCGNDIT屣單元F7SD17...SD1OSD07...SDOOVCCGNDIT屣單元CON單元圖1-2-8實(shí)驗(yàn)接線圖(3)打開實(shí)驗(yàn)系統(tǒng)電源,將生成的POF文件下載到EPM1270中去。(4)以CON單元中的SD17…SD1O八個(gè)二進(jìn)制開關(guān)為被加數(shù)A,SD07…SDOO八個(gè)二進(jìn)制開關(guān)為加數(shù)B,K7用來模擬來自低位的進(jìn)位信號(hào),相加的結(jié)果在CPLD單元的L7…L0八個(gè)LED燈顯示,相加后向高位的進(jìn)位用CPLD單元的L8燈顯示。給A和B置不同的數(shù),觀察相加的結(jié)果。
陣列乘法器設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?1)掌握乘法器的原理及其設(shè)計(jì)方法。(2)熟悉CPLD應(yīng)用設(shè)計(jì)及EDA軟件的使用。實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。實(shí)驗(yàn)原理硬件乘法器常規(guī)的設(shè)計(jì)是采用“串行移位”和“并行加法”相結(jié)合的方法,這種方法并不需要很多的器件,然而“加法?移位”的方法畢竟太慢。隨著大規(guī)模集成電路的發(fā)展,采用高速的單元陣列乘法器,無論從計(jì)算機(jī)的計(jì)算速度,還是從提高計(jì)算效率,都是十分必要的。陣列乘法器分帶符號(hào)和不帶符號(hào)的陣列乘法器,本節(jié)只討論不帶符號(hào)陣列乘法。高速組合陣列乘法器,采用標(biāo)準(zhǔn)加法單元構(gòu)成乘法器,即利用多個(gè)一位全加器(FA)實(shí)現(xiàn)乘法運(yùn)算。對(duì)于一個(gè)4位二進(jìn)制數(shù)相乘,有如下算式:A3A2AlA0X B3B2BlB0A3B0A2B0A1B0AOBOA3B1A3B2A2B2A3B1A3B2A2B2A3B3A2B3A1B3A1B2A0B2A0B3P2 Plp0P7P6P5P4P3P2 Plp0P7P6P5P4P3這個(gè)4X4陣列乘法器的原理如圖1-3-1所示。圖1-3-14<4陣列乘法器原理圖FA(全加器)的斜線方向?yàn)檫M(jìn)位輸出,豎線方向?yàn)楹洼敵觥D中陣列的最后一行構(gòu)成了一個(gè)串行進(jìn)位加法器。由于FA一級(jí)是無需考慮進(jìn)位的,它的進(jìn)位被暫時(shí)保留下來不往前傳遞,因此同一極中任意一位FA加法器的進(jìn)位輸出與和輸出幾乎是同時(shí)形成的,與“串行移位”相比可大大減少同級(jí)間的進(jìn)位傳遞延遲,所以送往最后一行串行加法器的輸入延遲僅與FA的級(jí)數(shù)(行數(shù))有關(guān),即與乘數(shù)位數(shù)有關(guān)。本實(shí)驗(yàn)用CPLD來設(shè)計(jì)一個(gè)4X4位加法器,且全部采用原理圖方式實(shí)現(xiàn)。1.3.4實(shí)驗(yàn)步驟(1)根據(jù)上述陣列乘法器的原理,使用QuartusII軟件編輯相應(yīng)的電路原理圖并進(jìn)行編譯,其在EPM1270芯片中對(duì)應(yīng)的引腳如圖1-3-2所示,框外文字表示I/O號(hào),框內(nèi)文字表示該引腳的含義(本實(shí)驗(yàn)例程見'安裝路徑\Cpld\Multipl八Multiply,qpf'工程)。AOI...A08P7...P0EPM1270A3...AOB3...B0D13...D16 D21...D24圖1-頭2引腳分配圖(2)關(guān)閉實(shí)驗(yàn)系統(tǒng)電源,按圖1-3-3連接實(shí)驗(yàn)電路,圖中將用戶需要連接的信號(hào)用圓圈標(biāo)明。(3)打開實(shí)驗(yàn)系統(tǒng)電源,將生成的POF文件下載到EPM1270中去,CPLD單元介紹見實(shí)驗(yàn)1.2。圖1-,3陣列乘法卷實(shí)驗(yàn)接線圖(4)以CON單元中的SD10…SD13四個(gè)二進(jìn)制開關(guān)為乘數(shù)A,SD14-SD17四個(gè)二進(jìn)制開關(guān)為被乘數(shù)B,而相乘的結(jié)果在CPLD單元的L7…L0八個(gè)LED燈顯示。給A和B置不同的數(shù),觀察相乘的結(jié)果。第2章存儲(chǔ)系統(tǒng)存儲(chǔ)器是計(jì)算機(jī)各種信息存儲(chǔ)與交換的中心。在程序執(zhí)行過程中,所要執(zhí)行的指令是從存儲(chǔ)器中獲取,運(yùn)算器所需要的操作數(shù)是通過程序中的訪問存儲(chǔ)器指令從存儲(chǔ)器中得到,運(yùn)算結(jié)果在程序執(zhí)行完之前又必須全部寫到存儲(chǔ)器中,各種輸入輸出設(shè)備也直接與存儲(chǔ)器交換數(shù)據(jù)。把程序和數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中,是馮?諾依曼型計(jì)算機(jī)的基本特征,也是計(jì)算機(jī)能夠自動(dòng)、連續(xù)快速工作的基礎(chǔ)。本章安排了兩個(gè)實(shí)驗(yàn):靜態(tài)隨機(jī)存儲(chǔ)器實(shí)驗(yàn)及Cache控制器設(shè)計(jì)實(shí)驗(yàn)。靜態(tài)隨機(jī)存儲(chǔ)器實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康恼莆侦o態(tài)隨機(jī)存儲(chǔ)器RAM工作特性及數(shù)據(jù)的讀寫方法。實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。實(shí)驗(yàn)原理實(shí)驗(yàn)所用的靜態(tài)存儲(chǔ)器由一片6116(2KX8bit)構(gòu)成(位于MEM單元),如圖2-1-1所示。6116有三個(gè)控制線:CS(片選線)、0E(讀線)、WE(寫線),其功能如表2TT所示,當(dāng)片選有效(CS=O)時(shí),0E=0時(shí)進(jìn)行讀操作,WE=O時(shí)進(jìn)行寫操作,本實(shí)驗(yàn)將CS常接地。VccASA9UTOEA10CS107106105104103RAM(6U6)A7A6A5A4A3A2AlAOIOOIO1102GND圖2-1-1SRAM611691WS由于存儲(chǔ)器(MEM)最終是要掛接到CPU上,所以其還需要一個(gè)讀寫控制邏輯,使得CPU能控制MEM的讀寫,實(shí)驗(yàn)中的讀寫控制邏輯如圖2-1.2所示,由于T3的參與,可以保證MEM的寫脈寬與T3--致,T3由時(shí)序單元的TS3給出(時(shí)序單元的介紹見附錄2)。IOM用來選擇是對(duì)I/O還是對(duì)MEM進(jìn)行讀寫操作,RD=1時(shí)為讀,WR=1時(shí)為寫。
表2-L1SRAM6116功能表CS-元功能1*X不選擇00讀°°1寫000寫圖2-1-2讀寫拄制邏輯實(shí)驗(yàn)原理圖如圖2-1-3所示,存儲(chǔ)器數(shù)據(jù)線接至數(shù)據(jù)總線,數(shù)據(jù)總線上接有8個(gè)LED燈顯示D7…DO的內(nèi)容。地址線接至地址總線,地址總線上接有8個(gè)LED燈顯示A7-A0的內(nèi)容,地址由地址鎖存器(74LS273,位于PC&AR單元)給出。數(shù)據(jù)開關(guān)(位于IN單元)經(jīng)一個(gè)三態(tài)門(74LS245)連至數(shù)據(jù)總線,分時(shí)給出地址和數(shù)據(jù)。地址寄存器為8位,接入6116的地址A7…A0,6116的高三位地址A10?“A8接地,所以其實(shí)際容量為256字節(jié)。圖2-1-3存儲(chǔ)器實(shí)驗(yàn)原理圖實(shí)驗(yàn)箱中所有單元的時(shí)序都連接至?xí)r序與操作臺(tái)單元,CLR都連接至CON單元的CLR按鈕。實(shí)驗(yàn)時(shí)T3由時(shí)序單元給出,其余信號(hào)由CON單元的二進(jìn)制開關(guān)模擬給出,其中IOM應(yīng)為低(即MEM操作),RD、WR高有效,MR和MW低有效,LDAR高有效。
實(shí)驗(yàn)步驟(1)關(guān)閉實(shí)驗(yàn)系統(tǒng)電源,按圖2-1-4連接實(shí)驗(yàn)電路,并檢查無誤,圖中將用戶需要連接的信號(hào)用圓圈標(biāo)明。(2)將時(shí)序與操作臺(tái)單元的開關(guān)KK1、KK3置為運(yùn)行檔、開關(guān)KK2置為‘單步'檔(時(shí)序單元的介紹見附錄二)。(3)將CON單元的I0R開關(guān)置為1(使IN單元無輸出),打開電源開關(guān),如果聽到有‘嘀'報(bào)警聲,說明有總線競爭現(xiàn)象,應(yīng)立即關(guān)閉電源,重新檢查接線,直到錯(cuò)誤排除????.DCN中。it作占單(TS1「TS2(KMl17舊口7?.DCN中。it作占單(TS1「TS2(KMl17舊r-ir-itsi檸材心也xmxwr控MS*VRROionIJMRKtAR朝元IJMR圖2-L4實(shí)驗(yàn)接線圖(4)給存儲(chǔ)器的OOH、01H,02H、03H、04H地址單元中分別寫入數(shù)據(jù)UH、12H、13H、14H、15Ho由前面的存儲(chǔ)器實(shí)驗(yàn)原理圖(圖2-1-3)可以看出,由于數(shù)據(jù)和地址由同一個(gè)數(shù)據(jù)開關(guān)給出,因此數(shù)據(jù)和地址要分時(shí)寫入,先寫地址,具體操作步驟為:先關(guān)掉存儲(chǔ)器的讀寫(WR=O,RD=O),數(shù)據(jù)開關(guān)輸出地址(I0R=0),然后打開地址寄存器門控信號(hào)(LDAR=1),按動(dòng)ST產(chǎn)生T3脈沖,即將地址打入到AR中。再寫數(shù)據(jù),具體操作步驟為:先關(guān)掉存儲(chǔ)器的讀寫(WR=O,RD=O)和地址寄存器門控信號(hào)(LDAR=O),數(shù)據(jù)開關(guān)輸出要寫入的數(shù)據(jù),打開輸入三態(tài)門(I0R=0),然后使存儲(chǔ)器處于寫狀態(tài)(WR=1,RD=O,I0M=0),按動(dòng)ST產(chǎn)生T3脈沖,即將數(shù)據(jù)打入到存儲(chǔ)器中。寫存儲(chǔ)器的流程如圖2-1-5所示(以向00地址單元寫入U(xiǎn)H為例):
地批打入帆—?00010001—?00010061:IN小幾置地址:noooo(M?圖2-1-5寫存儲(chǔ)器流程圖(5)依次讀出第00、01、02、03、04號(hào)單元中的內(nèi)容,觀察上述各單元中的內(nèi)容是否與前面寫入的一致。同寫操作類似,也要先給出地址,然后進(jìn)行讀,地址的給出和前面一樣,而在進(jìn)行讀操作時(shí),應(yīng)先關(guān)閉IN單元的輸出(IOR=1),然后使存儲(chǔ)器處于讀狀態(tài)(WR=0,RD=1,I0M=0),此時(shí)數(shù)據(jù)總線上的數(shù)即為從存儲(chǔ)器當(dāng)前地址中讀出的數(shù)據(jù)內(nèi)容。讀存儲(chǔ)器的流程如圖2T-6所示(以從00地址單元讀出11H為例):孕兒、地址?地址打MR—*關(guān)聞IN單兒愉出?設(shè)出喊:喊期M0I0M1:圖2-1-6讀存儲(chǔ)器流程圖如果實(shí)驗(yàn)箱和PC聯(lián)機(jī)操作,則可通過軟件中的數(shù)據(jù)通路圖來觀測(cè)實(shí)驗(yàn)結(jié)果(軟件使用說明請(qǐng)看附錄1),方法是:打開軟件,選擇聯(lián)機(jī)軟件的“【實(shí)驗(yàn)】一【存儲(chǔ)器實(shí)驗(yàn)】",打開存儲(chǔ)器實(shí)驗(yàn)的數(shù)據(jù)通路圖,如圖2-1-7所示。進(jìn)行上面的手動(dòng)操作,每按動(dòng)一次ST按鈕,數(shù)據(jù)通路圖會(huì)有數(shù)據(jù)的流動(dòng),反映當(dāng)前存儲(chǔ)器所做的操作(即使是對(duì)存儲(chǔ)器進(jìn)行讀,也應(yīng)按動(dòng)一次ST按鈕,數(shù)據(jù)通路圖才會(huì)有數(shù)據(jù)流動(dòng)),或在軟件中選擇“【調(diào)試】一【單周期】",其作用相當(dāng)于將時(shí)序單元的狀態(tài)開關(guān)置為'單步'檔后按動(dòng)了一次ST按鈕,數(shù)據(jù)通路圖也會(huì)反映當(dāng)前存儲(chǔ)器所做的操作,借助于數(shù)據(jù)通路圖,仔細(xì)分析SRAM的讀寫過程。XMRD圖2?L7數(shù)據(jù)通圖Cache控制器設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?1)掌握Cache控制器的原理及其設(shè)計(jì)方法。(2)熟悉CPLD應(yīng)用設(shè)計(jì)及EDA軟件的使用。實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。實(shí)驗(yàn)原理本實(shí)驗(yàn)采用的地址變換是直接映象方式,這種變換方式簡單而直接,硬件實(shí)現(xiàn)很簡單,訪問速度也比較快,但是塊的沖突率比較高。其主要原則是:主存中一塊只能映象到Cache的一個(gè)特定的塊中。假設(shè)主存的塊號(hào)為B,Cache的塊號(hào)為b,則它們之間的映象關(guān)系可以表示為:b=BmodCb其中,Cb是Cache的塊容量。設(shè)主存的塊容量為Mb,區(qū)容量為Me,則直接映象方法的關(guān)系如圖2-2-1所示。把主存按Cache的大小分成區(qū),一般主存容量為Cache容量的整數(shù)倍,主存每一個(gè)分區(qū)內(nèi)的塊數(shù)與Cache的總塊數(shù)相等。直接映象方式只能把主存各個(gè)區(qū)中相對(duì)塊號(hào)相同的那些塊映象到Cache中同一塊號(hào)的那個(gè)特定塊中。例如,主存的塊0只能映象到Cache的塊0中,主存的塊1只能映象到Cache的塊1中,同樣,主存區(qū)1中的塊Cb(在區(qū)1中的相對(duì)塊號(hào)是0)。ffl2-2-1直接相聯(lián)映象方式也只能映象到Cache的塊0中。根據(jù)上面給出的地址映象規(guī)則,整個(gè)Cache地址與主存地址的低位部分是完全相同的。直接映象方式的地址變換過程如圖2-2-2所示,主存地址中的塊號(hào)B與Cache地址中的塊號(hào)b是完全相同的。同樣,主存地址中的塊內(nèi)地址W與Cache地址中的塊內(nèi)地址w也是完全相同的,主存地址比Cache地址長出來的部分稱為區(qū)號(hào)E。也表存儡&圖2-2-2直按相聯(lián)地址交換在程序執(zhí)行過程中,當(dāng)要訪問Cache時(shí),為了實(shí)現(xiàn)主存塊號(hào)到Cache塊號(hào)的變換,需要有一個(gè)存放主存區(qū)號(hào)的小容量存儲(chǔ)器,這個(gè)存儲(chǔ)器的容量與Cache的塊數(shù)相等,字長為主存地址中區(qū)號(hào)E的長度,另外再加一個(gè)有效位。在主存地址到Cache地址的變換過程中,首先用主存地址中的塊號(hào)去訪問區(qū)號(hào)存儲(chǔ)器(按地址訪問)。把讀出來的區(qū)號(hào)與主存地址中的區(qū)號(hào)E進(jìn)行比較,根據(jù)比較結(jié)果和與區(qū)號(hào)在同一存儲(chǔ)字中的有效位情況作出處理。如果區(qū)號(hào)比較結(jié)果相等,有效位為‘1',則Cache命中,表示要訪問的那一塊已經(jīng)裝入到Cache中了,這時(shí)Cache地址(與主存地址的低位部分完全相同)是正確的。用這個(gè)Cache地址去訪問Cache,把讀出來的數(shù)據(jù)送往CPU。其他情況均為Cache沒有命中,或稱為Cache失效,表示要訪問的那個(gè)塊還沒有裝入到Cache中,這時(shí),要用主存地址去訪問主存儲(chǔ)器,先把該地址所在的塊讀到Cache中,然后CPU從Cache中讀取該地址中的數(shù)據(jù)。本實(shí)驗(yàn)要在CPLD中實(shí)現(xiàn)Cache及其地址變換邏輯(也叫Cache控制器),采用直接相聯(lián)地址變換,只考慮CPU從Cache讀數(shù)據(jù),不考慮CPU從主存中讀數(shù)據(jù)和寫回?cái)?shù)據(jù)的情況,CacheCPU以及存儲(chǔ)器的關(guān)系如圖2-2-3所示。Cache控制器頂層模塊如圖2-2-4所示,主存地址為A7…A0,共8位,區(qū)號(hào)E取3
位,這樣Cache地址還剩5位,所以Cache容量為32個(gè)單元,塊號(hào)B取3位,那么Cache分為8塊,塊內(nèi)地址W取2位,則每塊為4個(gè)單元。圖2-2-4中,WCT為寫Cache塊表信號(hào),CLR為系統(tǒng)總清零信號(hào),A7…A0為CPU訪問內(nèi)存的地址,M為Cache失效信號(hào),CA4—CA0為Cache地址,MD7-MDO為主存送Cache的數(shù)據(jù),D7…DO為Cache送CPU數(shù)據(jù),T2為系統(tǒng)時(shí)鐘,RD為CPU訪問內(nèi)存讀信號(hào),LA1和LAO為塊內(nèi)地址。圖2-2-4Cache拄制套頂層模塊圖在Quartusll軟件中先實(shí)現(xiàn)一個(gè)8位的存儲(chǔ)單元(見例程中的MemCell.bdf),然后用這個(gè)8位的存儲(chǔ)單元來構(gòu)成一個(gè)32X8位的Cache(見例程中的CacheMem.bdf),這樣就實(shí)現(xiàn)了Cache的存儲(chǔ)體。再實(shí)現(xiàn)一個(gè)4位的存儲(chǔ)單元(見例程中的TableCelLbdf),然后用這個(gè)4位的存儲(chǔ)單元來構(gòu)成一個(gè)8X4位的區(qū)表存儲(chǔ)器,用來存放區(qū)號(hào)和有效位(見例程中的CacheTable.bdf),在這個(gè)文件中,還實(shí)現(xiàn)了一個(gè)區(qū)號(hào)比較器,如果主存地址的區(qū)號(hào)E和區(qū)表中相應(yīng)單元中的區(qū)號(hào)相等,且有效位為1,則Cache命中,否則Cache失效,標(biāo)志為M,M為0時(shí)表示Cache失效。當(dāng)Cache命中時(shí),就將Cache存儲(chǔ)體中相應(yīng)單元的數(shù)據(jù)送往CPU,這個(gè)過程比較簡單。當(dāng)Cache失效時(shí),就將主存中相應(yīng)塊中的數(shù)據(jù)讀出寫入Cache中,這樣Cache控制器就要產(chǎn)生訪問主存儲(chǔ)器的地址和主存儲(chǔ)器的讀信號(hào),由于每塊占四個(gè)單元,所以需要連續(xù)訪問四次主存,這就需要一個(gè)低地址發(fā)生器,即一個(gè)2位計(jì)數(shù)器(見例程中的Counter.vhd),將低2位和CPU給出的高6位地址組合起來,形成訪問主存儲(chǔ)器的地址。M就可以做為主存的讀信號(hào),這樣,在時(shí)鐘的控制下,就可以將主存中相應(yīng)的塊寫入到Cache的相應(yīng)塊中,最后再修改區(qū)表(見例程中的(CacheCtrl.bdf)。實(shí)驗(yàn)步驟(1)使用QuartusII軟件編輯實(shí)現(xiàn)相應(yīng)的邏輯并進(jìn)行編譯,直到編譯通過,Cache控制
器在EPM1270芯片中對(duì)應(yīng)的引腳如圖2-2-5所示,框外文字表示I/O號(hào),框內(nèi)文字表示該引腳的含義(本實(shí)驗(yàn)例程見'安裝路徑\Cpld\CacheCtrl\CacheCtrl.qpf工程)A23A24AOI...A08B23...B3OMoMRMA7...D7...DOEPM1270RDCLRT2MD7...MDOA7...AOD26D27D28D09...D16D17...D24圖2-2-5引腳分配圖(2)關(guān)閉實(shí)驗(yàn)系統(tǒng)電源,按圖2-2-6連接實(shí)驗(yàn)電路,并檢查無誤,圖中將用戶需要連接的信號(hào)用圓圈標(biāo)明。(3)打開實(shí)驗(yàn)系統(tǒng)電源,將生成的POF文件下載到EMP1270中去,CPLD單元介紹見實(shí)驗(yàn)1.2,,(4)將時(shí)序與操作臺(tái)單元的開關(guān)KK3置為‘運(yùn)行'檔,CLR信號(hào)由CON單元的CLR模擬給出,按動(dòng)CON單元的CLR按鈕,清空區(qū)表。(5)預(yù)先往主存寫入數(shù)據(jù):聯(lián)機(jī)軟件提供了機(jī)器程序下載功能,以代替手動(dòng)讀寫主存,機(jī)器程序以指定的格式寫入到以TXT為后綴的文件中,機(jī)器指令的格式如下:機(jī)器指令格式說明:SPXXXX-T匚機(jī)器折令代碼1 十六進(jìn)制地址 機(jī)器指令"I.如$P1F11,表示機(jī)器指令的地址為1FH,指令值為11H,本次實(shí)驗(yàn)只初始化OO-OFH共16個(gè)單元,初始數(shù)據(jù)如下,程序中分號(hào)'為注釋符,分號(hào)后面的內(nèi)容在下載時(shí)將被忽略掉。圖2-24實(shí)驗(yàn)接線圖
;〃**************************************//TOC\o"1-5"\h\z;// //;// Cache控制器實(shí)驗(yàn)指令文件 〃;// //;// ByTangDuCO.,LTD //;〃 //;〃**************************************//DD用聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】一【裝載】”功能將該格式(*.TXT)文件裝載入實(shí)驗(yàn)系統(tǒng)。裝入過程中,在軟件的輸出區(qū)的‘結(jié)果'欄會(huì)顯示裝載信息,如當(dāng)前正在裝載的是機(jī)器指令還是微指令,還剩多少條指令等。(6)聯(lián)機(jī)軟件在啟動(dòng)時(shí)會(huì)讀取所有機(jī)器指令和微指令,在指令區(qū)顯示,軟件啟動(dòng)后,也可以選擇菜單命令"【轉(zhuǎn)儲(chǔ)】一【刷新指令區(qū)】"讀取下位機(jī)指令,并在指令區(qū)顯示。點(diǎn)擊指令區(qū)的‘主存'TAB按鈕,兩列數(shù)據(jù)中顯示了主存的所有數(shù)據(jù),第一列為主存地址,第二列為該地址中的數(shù)據(jù)。對(duì)上面文件檢查機(jī)器程序是否正確,如果不正確,則說明寫入操作失敗,應(yīng)重新寫入,可以通過聯(lián)機(jī)軟件單獨(dú)修改某個(gè)單元的指令,單擊需修改單元的數(shù)據(jù),此時(shí)該單元變?yōu)榫庉嬁颍斎?位數(shù)據(jù)并回車,編輯框消失,寫入數(shù)據(jù)以紅色顯示。⑺CPU訪問主存地址由CON單元的SD17…SD1O模擬給出,如00000001。CPU訪問主存的讀信號(hào)由CON單元的K7模擬給出,置K7為低,可以觀察到CPLD單元上的L8指示燈亮,LO-L7指示燈滅,表示Cache失效。此時(shí)按動(dòng)KK按鈕四次,注意CPU內(nèi)總線上指示燈的變化情況,地址會(huì)依次加一,數(shù)據(jù)總線上顯示的是當(dāng)前主存數(shù)據(jù),按動(dòng)四次KK按鈕后,L8指示燈變滅,L0-L7上顯示的值即為Cache送往CPU的數(shù)據(jù)。(8)重新給出主存訪問地址,如00000011,L8指示燈變滅,表示Cache命中,說明第0塊數(shù)據(jù)已寫入Cache。(9)記住01H單元的數(shù)據(jù),然后通過聯(lián)機(jī)軟件,修改01H單元的數(shù)據(jù),重新給出主存訪間地址00000001,再次觀察L0-L7指示燈表示的值是01H單元修改前的值,說明送往CPU的數(shù)據(jù)是由Cache給出的。(10)重新給出大于03H地址,體會(huì)Cache控制器的工作過程。第3章控制器控制器是計(jì)算機(jī)的核心部件,計(jì)算機(jī)的所有硬件都是在控制器的控制下,完成程序規(guī)定的操作??刂破鞯幕竟δ芫褪前褭C(jī)器指令轉(zhuǎn)換為按照一定時(shí)序控制機(jī)器各部件的工作信號(hào),使各部件產(chǎn)生一系列動(dòng)作,完成指令所規(guī)定的任務(wù)。本章安排了兩個(gè)實(shí)驗(yàn):時(shí)序發(fā)生器設(shè)計(jì)實(shí)驗(yàn)和微程序控制器實(shí)驗(yàn)。時(shí)序發(fā)生器設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?1)掌握時(shí)序發(fā)生器的原理及其設(shè)計(jì)方法。(2)熟悉CPLD應(yīng)用設(shè)計(jì)及EDA軟件的使用。實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。實(shí)驗(yàn)原理計(jì)算機(jī)的工作是按照時(shí)序分步地執(zhí)行。這就需要能產(chǎn)生周期節(jié)拍、脈沖等時(shí)序信號(hào)的部件,稱為時(shí)序發(fā)生器。如圖3-1-1所示。1T抽電位工作脈沖圖3-1-1時(shí)序發(fā)生器時(shí)序部件包括:(1)脈沖源:又稱主震蕩器,為計(jì)算機(jī)提供基準(zhǔn)時(shí)鐘信號(hào)。(2)脈沖分配器:對(duì)主頻脈沖進(jìn)行分頻,產(chǎn)生節(jié)拍電位和脈沖信號(hào)。時(shí)鐘脈沖經(jīng)過脈沖發(fā)生器產(chǎn)生時(shí)標(biāo)脈沖、節(jié)拍電位及周期狀態(tài)電位。一個(gè)周期狀態(tài)電位包含多個(gè)節(jié)拍電位,而一個(gè)節(jié)拍單位又包含多個(gè)時(shí)標(biāo)脈沖。(3)啟停控制電路:用來控制主脈沖的啟動(dòng)和停止。本實(shí)驗(yàn)是用VHDL語言來實(shí)現(xiàn)一個(gè)時(shí)序發(fā)生器,輸出如圖3-1-2所示T1-T4四個(gè)節(jié)拍信號(hào)。時(shí)序發(fā)生器需要一個(gè)脈沖源,由時(shí)序單元的6提供(時(shí)序單元的介紹見附錄二),一個(gè)總清零CLR,為低時(shí),T1…T4輸出低。一個(gè)停機(jī)信號(hào)STOP,當(dāng)T4的下沿到來時(shí),且STOP為低,TL“T4輸出低。一個(gè)啟動(dòng)信號(hào)START,當(dāng)START、T1-T4都為低,且STOP為高,T1-T4輸出環(huán)形脈沖。),_njTji_rTnrLrLJ_L-TOC\o"1-5"\h\zn—1 -????b rn m__T4 1 1 —* CPU周期 41 CTC冏朗 ?圖3-1-2時(shí)序狀態(tài)圖可通過4位循環(huán)移位寄存器來實(shí)現(xiàn)T4-T1,CLR為總清零信號(hào),STOP為低時(shí)在T4脈沖下沿清零時(shí)序,時(shí)序發(fā)生器啟動(dòng)后,移位寄存器在時(shí)鐘的上沿循環(huán)左移一位,移位寄存器的輸出端即為T4-Tlo3.1.4實(shí)驗(yàn)步驟(1)參照上面的實(shí)驗(yàn)原理,用VHDL語言來具體設(shè)計(jì)一個(gè)時(shí)序發(fā)生器。使用QuartusII軟件編輯VHDL文件并進(jìn)行編譯,時(shí)序發(fā)生器在EPM1270芯片中對(duì)應(yīng)的引腳如圖3T-3所示,框外文字表示I/O號(hào),框內(nèi)文字表示該引腳的含義(本實(shí)驗(yàn)例程見'安裝路徑\Cpld\Timer\Timer.qpf*工程)。A22A21 A20A19T3T2TlTOEPM1270CLKCLRSTOPSTARTD28 D27 D26 D25圖3?L3實(shí)驗(yàn)接線圖(2)關(guān)閉實(shí)驗(yàn)系統(tǒng)電源,按圖3-1-4連接實(shí)驗(yàn)電路,并檢查無誤,圖中將用戶需要連接的信號(hào)用圓圈標(biāo)明。CPLD單元A22A21AZOA19VCCGND注rA22A21AZOA19VCCGND注rVCCGND獷展單元圖3-1-4實(shí)驗(yàn)接線圖(3)打開實(shí)驗(yàn)系統(tǒng)電源,將生成的POF文件下載到EPM1270中去,CPLD單元介紹見實(shí)驗(yàn)1.2,,(4)將CON單元的K7(START)、K6(STOP)開關(guān)置'1',K5(CLR)開關(guān)置'1-0T',使T1…T4輸出低。運(yùn)行聯(lián)機(jī)軟件,選擇“【波形】一【打開】"打開邏輯示波器窗口,然后選擇“【波形】一【運(yùn)行】"啟動(dòng)邏輯示波器,邏輯示波器窗口顯示T1…T4四路時(shí)序信號(hào)波形。(5)將CON單元的K7(START)開關(guān)置'1-0-1',啟動(dòng)T1…T4時(shí)序,示波器窗口顯示T1…T4波形,如圖37-5所示。圖)1-5時(shí)序波形圖(6)將CON單元的K6(STOP)開關(guān)置'0',停止T1…T4時(shí)序,示波器窗口顯示T1…T4波形均變?yōu)榈汀?.2微程序控制器設(shè)計(jì)實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?1)掌握微程序控制器的組成原理。(2)掌握微程序的編制、寫入,觀察微程序的運(yùn)行過程。實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái),TD-CMA實(shí)驗(yàn)系統(tǒng)一套。實(shí)驗(yàn)原理微程序控制器的基本任務(wù)是完成當(dāng)前指令的翻譯和執(zhí)行,即將當(dāng)前指令的功能轉(zhuǎn)換成可以控制的硬件邏輯部件工作的微命令序列,完成數(shù)據(jù)傳送和各種處理操作。它的執(zhí)行方法就是將控制各部件動(dòng)作的微命令的集合進(jìn)行編碼,即將微命令的集合仿照機(jī)器指令一樣,用數(shù)字代碼的形式表示,這種表示稱為微指令。這樣就可以用一個(gè)微指令序列表示一條機(jī)器指令,這種微指令序列稱為微程序。微程序存儲(chǔ)在一種專用的存儲(chǔ)器中,稱為控制存儲(chǔ)器,微程序控制器原理框圖如圖3-2-1所示。圖)2-1量程序拄制器組成原理梅圖控制器是嚴(yán)格按照系統(tǒng)時(shí)序來工作的,因而時(shí)序控制對(duì)于控制器的設(shè)計(jì)是非常重要的,從前面的實(shí)驗(yàn)可以很清楚地了解時(shí)序電路的工作原理,本實(shí)驗(yàn)所用的時(shí)序由時(shí)序單元來提供,分為四拍TSI、TS2,TS3、TS4,時(shí)序單元的介紹見附錄2。微程序控制器的組成見圖3-2-2,其中控制存儲(chǔ)器采用3片2816的E2PR0M,具有掉電保護(hù)功能,微命令寄存器18位,用兩片8D觸發(fā)器(273)和一片4D(175)觸發(fā)器組成。微地址寄存器6位,用三片正沿觸發(fā)的雙D觸發(fā)器(74)組成,它們帶有清“0”端和預(yù)置端。在不判別測(cè)試的情況下,T2時(shí)刻打入微地址寄存器的內(nèi)容即為下一條微指令地址。當(dāng)T4時(shí)刻進(jìn)行測(cè)試判別時(shí),轉(zhuǎn)移邏輯滿足條件后輸出的負(fù)脈沖通過強(qiáng)置端將某一觸發(fā)器置為“1”狀態(tài),完成地址修改。
SM-2WS83SM-2WS83在實(shí)驗(yàn)平臺(tái)中設(shè)有一組編程控制開關(guān)KK3、KK4、KK5(位于時(shí)序與操作臺(tái)單元),可實(shí)現(xiàn)對(duì)存儲(chǔ)器(包括存儲(chǔ)器和控制存儲(chǔ)器)的三種操作:編程、校驗(yàn)、運(yùn)行??紤]到對(duì)于存儲(chǔ)器(包括存儲(chǔ)器和控制存儲(chǔ)器)的操作大多集中在一個(gè)地址連續(xù)的存儲(chǔ)空間中,實(shí)驗(yàn)平臺(tái)提供了便利的手動(dòng)操作方式。以向00H單元中寫入332211為例,對(duì)于控制存儲(chǔ)器進(jìn)行編輯的具體操作步驟如下:首先將KK1撥至‘停止'檔、KK3撥至'編程'檔、KK4撥至‘控存'檔、KK5撥至'置數(shù)'檔,由CON單元的SD05——SDOO開關(guān)給出需要編輯的控存單元首地址(000000),IN單元開關(guān)給出該控存單元數(shù)據(jù)的低8位(00010001),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)單元的開關(guān)ST(第一次按動(dòng)后MC單元低8位顯示該單元以前存儲(chǔ)的數(shù)據(jù),第二次按動(dòng)后顯示當(dāng)前改動(dòng)的數(shù)據(jù)),此時(shí)MC單元的指示燈MA5 MA0顯示當(dāng)前地址(000000),M7 M0顯示當(dāng)前數(shù)據(jù)(00010001)。然后將KK5撥至'加1'檔,IN單元開關(guān)給出該控存單元數(shù)據(jù)的中8位(00100010),
連續(xù)兩次按動(dòng)開關(guān)ST,完成對(duì)該控存單元中8位數(shù)據(jù)的修改,此時(shí)MC單元的指示燈MA5 MAO顯示當(dāng)前地址(000000),M15 M8顯示當(dāng)前數(shù)據(jù)(00100010):再由IN單元開關(guān)給出該控存單元數(shù)據(jù)的高8位(00110011),連續(xù)兩次按動(dòng)開關(guān)ST,完成對(duì)該控存單元高8位數(shù)據(jù)的修改此時(shí)MC單元的指示燈MA5——MA0顯示當(dāng)前地址(000000),M23——M16顯示當(dāng)前數(shù)據(jù)(00110011)?此時(shí)被編輯的控存單元地址會(huì)自動(dòng)加l(01H),由IN單元開關(guān)依次給出該控存單元數(shù)據(jù)的低8位、中8位和高8位配合每次開關(guān)ST的兩次按動(dòng),即可完成對(duì)后續(xù)單元的編輯。1彈兀置敷射中毗(001000K)火址兀'置敖州;/(00110011)fN-1彈兀置敷射中毗(001000K)火址兀'置敖州;/(00110011)fN-00I0001CKK1?停止KKr-總內(nèi)KK4=校存KKF”加1\st-jin00IIM11停止通用校存EIJIJT/《nooooo>Z單兀w也出㈣(DOOIDCOI)^sco5-sro(i-000)00IN?0(X)10001皿■停止KK?■虻田KK4-控存KKr\stnn/編輯完成后需進(jìn)行校驗(yàn),以確保編輯的正確。以校驗(yàn)00H單元為例,對(duì)于控制存儲(chǔ)器進(jìn)行校驗(yàn)的具體操作步驟如下:首先將KK1撥至‘停止'檔、KK3撥至‘校驗(yàn)’檔、KK4撥至'控存'檔、KK5撥至'置數(shù)’檔。由CON單元的SD05——SDOO開關(guān)給出需要校驗(yàn)的控存單元地址(000000),連續(xù)兩次按動(dòng)開關(guān)ST,MC單元指示燈M7M0顯示該單元低8位數(shù)據(jù)(00010001);KK5撥至'加1'檔,再連續(xù)兩次按動(dòng)開關(guān)ST,MC單元指示燈M15 M8顯示該單元中8位數(shù)據(jù)(00100010);再連續(xù)兩次按動(dòng)開關(guān)ST,MC單元指示燈M23——M16顯示該單元高8位數(shù)據(jù)(00110011),再連續(xù)兩次按動(dòng)開關(guān)ST,地址加1,MC單元指示燈M7——M0顯示01H單元低8位數(shù)據(jù)。如校驗(yàn)的微指令出錯(cuò),則返回輸入操作,修改該單元的數(shù)據(jù)后再進(jìn)行校驗(yàn),直至確認(rèn)輸入的微代碼全部準(zhǔn)確無誤為止,完成對(duì)微指令的輸入。cmM兀置地址cmM兀置地址
c(MXNMX1:
?4兀Muni小曲州
中毗
(刖加:■MCT兀Ml 乂小也斛頤(Mime:SmXMC-IWMWIW-(XKIIOODISmXMC-IWMWIW-(XKIIOODIKKl■停止KK?-校裝KM■控存KM■Wtt\st-An./KKl-悍比KKH■校?KM-惶存KKH■El\STJlTL/出116。00110011KKl-停止KR?校心KM■校存KMUli\stnjt/位于實(shí)驗(yàn)平臺(tái)MC單元左上角一列三個(gè)指示燈MC2>MC1>MC0用來指示當(dāng)前操作的微程序字段,分別對(duì)應(yīng)M23——M16、M15——M8、M7——M0。實(shí)驗(yàn)平臺(tái)提供了比較靈活的手動(dòng)操作方式,比如在上述操作中在對(duì)地址置數(shù)后將開關(guān)KK4撥至'減1'檔,則每次隨著開關(guān)ST的兩次撥動(dòng)操作,字節(jié)數(shù)依次從高8位到低8位遞減,減至低8位后,再按動(dòng)兩次開關(guān)ST,微地址會(huì)自動(dòng)減一,繼續(xù)對(duì)下一個(gè)單元的操作。微指令字長共24位,控制位順序如表3-2-1:
?3-2-1微指令格式2321201918-1514-1211-98-65-0M23WRRDI四S3-S0A字段B字段C字段NIA5-MA0A字段 B字段 C字段行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,從而實(shí)現(xiàn)完成對(duì)指令的識(shí)別,并實(shí)現(xiàn)微程序的分支,本系統(tǒng)上的指令譯碼原理如圖3-2-3所示,圖中17…12為指令寄存器的第7…2位輸出,SE5-SE0為微控器單元微地址鎖存器的強(qiáng)置端輸出,指令譯碼邏輯在IR單元的INS_DEC(GAL20V8)中實(shí)現(xiàn)。從圖3-2-2中也可以看出,微控器產(chǎn)生的控制信號(hào)比表3-2-1中的要多,這是因?yàn)閷?shí)驗(yàn)的不同,所需的控制信號(hào)也不一樣,本實(shí)驗(yàn)只用了部分的控制信號(hào)。本實(shí)驗(yàn)除了用到指令寄存器(IR)和通用寄存器R0外,還要用到IN和OUT單元,從微控器出來的信號(hào)中只有IOM、WR和RD三個(gè)信號(hào),所以對(duì)這兩個(gè)單元的讀寫信號(hào)還應(yīng)先經(jīng)過譯碼,其譯碼原理如圖3-2-4所示。IR單元的原理圖如圖3-2-5所示,R0單元原理如圖3-2-7所示,IN單元的原理圖見圖2-1-3所示,OUT單元的原理圖見圖3-2-6所示。指令譯碼原理圖圖3-2-4讀寫拄制邏輯圖頭2-53單元原理圖u?txm匕度敝碼忡。;T"RT烽碼也路rp...m指令譯碼原理圖圖3-2-4讀寫拄制邏輯圖頭2-53單元原理圖u?txm匕度敝碼忡。;T"RT烽碼也路rp...mw_nIMT4S3-2-7R0原理圖UMkAttOI:TT烽碼電路it?..,r>ior...no收批總線圖3-2-6OUT單元原理圖本實(shí)驗(yàn)安排了四條機(jī)器指令,分別為ADD(00000000),IN(00100000)、OUT(00110000)和HLT(01010000),括號(hào)中為各指令的二進(jìn)制代碼,指令格式如下:助記符機(jī)器指令碼說明IN00100000INfR0ADD00000000R0-R0->R0OUT00110000ROTOUTHLT01010000停機(jī)實(shí)驗(yàn)中機(jī)器指令由CON單元的二進(jìn)制開關(guān)手動(dòng)給出,其余單元的控制信號(hào)均由微程序控制器自動(dòng)產(chǎn)生,為此可以設(shè)計(jì)出相應(yīng)的數(shù)據(jù)通路圖,見圖3-2-8所示。
幾條機(jī)器指令對(duì)應(yīng)的參考微程序流程圖如圖3-2-9所示。圖中一個(gè)矩形方框表示一條微指令,方框中的內(nèi)容為該指令執(zhí)行的微操作,右上角的數(shù)字是該條指令的微地址,右下角的數(shù)字是該條指令的后續(xù)微地址,所有微地址均用16進(jìn)制表示。向下的箭頭指出了下?條要執(zhí)行的指令。P<1>為測(cè)試字,根據(jù)條件使微程序產(chǎn)生分支。狀寺務(wù)杵Aiu.e*ALU=xxLDPO圖3-2-8數(shù)據(jù)通路圖T:xxOUT?xxT3IOW#狀寺務(wù)杵Aiu.e*ALU=xxLDPO圖3-2-8數(shù)據(jù)通路圖T:xxOUT?xxT3IOW#I0R4圖3-2-9微程序流程圖將全部微程序按微指令格式變成二進(jìn)制微代碼,可得到表3-2-2的二進(jìn)制代碼表。*3-2-2二進(jìn)制微代碼表地址十六進(jìn)制高五位S3-S0A字段B字段C字段MA5-、IA00000000100000000000000000000000101007070000000000111000001110000040024050000000000100100000001010504B201000001001011001000000001300014040000000000010100000001003218300100011000001100000000000133280401001010000000010000000001350000350000000000000000001101013.2.4實(shí)驗(yàn)步驟1.按圖3-2T0所示連接實(shí)驗(yàn)線路,仔細(xì)查線無誤后接通電源。如果有‘滴’報(bào)警聲,說明總線有競爭現(xiàn)象,應(yīng)關(guān)閉電源,檢查接線,直到錯(cuò)誤排除。IVQ--O-JCR內(nèi)總歧7PI/制;改8元0-0-*'展單元17IVQ--O-JCR內(nèi)總歧7PI/制;改8元0-0-*'展單元17WQ--O-O—E—…HSJ,葉0 葉[]"-P O--TIirmCTN單元圖3-2-10實(shí)驗(yàn)接線圖.對(duì)微控器進(jìn)行讀寫操作,分兩種情況:手動(dòng)讀寫和聯(lián)機(jī)讀寫。1)手動(dòng)讀寫(1)手動(dòng)對(duì)微控器進(jìn)行編程(寫)①將時(shí)序與操作臺(tái)單元的開關(guān)KK1置為‘停止'檔,KK3置為‘編程’檔,KK4置為'控存'檔,KK5置為'置數(shù)’檔。②使用CON單元的SD05——SDOO給出微地址,IN單元給出低8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的低8位。③將時(shí)序與操作臺(tái)單元的開關(guān)KK5置為‘加1'檔。④IN單元給出中8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的中8位。IN單元給出高8位應(yīng)寫入的數(shù)據(jù),連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,將IN單元的數(shù)據(jù)寫到該單元的高8位。⑤重復(fù)①、②、③、④四步,將表3-2-2的微代碼寫入2816芯片中。(2)手動(dòng)對(duì)微控器進(jìn)行校驗(yàn)(讀)①將時(shí)序與操作臺(tái)單元的開關(guān)KK1置為‘停止'檔,KK3置為'校驗(yàn)'檔,KK4置為'控存'檔,KK5置為‘置數(shù)’檔。②使用CON單元的SD05——SDOO給出微地址,連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,MC單元的指數(shù)據(jù)指示燈M7——M0顯示該單元的低8位。③將時(shí)序與操作臺(tái)單元的開關(guān)KK5置為‘加1'檔。④連續(xù)兩次按動(dòng)時(shí)序與操作臺(tái)的開關(guān)ST,MC單元的指數(shù)據(jù)指示燈M15——M8顯示該單元的中8位,MC單元的指數(shù)據(jù)指示燈M23 M16顯示該單元的高8位。⑤重復(fù)①、②、③、④四步,完成對(duì)微代碼的校驗(yàn)。如果校驗(yàn)出微代碼寫入錯(cuò)誤,重新寫入、校驗(yàn),直至確認(rèn)微指令的輸入無誤為止。2)聯(lián)機(jī)讀寫(1)將微程序?qū)懭胛募?lián)機(jī)軟件提供了微程序下載功能,以代替手動(dòng)讀寫微控器,但微程序得以指定的格式寫入到以TXT為后綴的文件中,微程序的格式如下:微指令格式說明:SMXXXXXXXX一T-微指令代碼' 十六進(jìn)制地址 微指令標(biāo)志如$乂1F112233,表示微指令的地址為1FH,微指令值為11H(高)、22H(中)、33H(低),本次實(shí)驗(yàn)的微程序如下,其中分號(hào)';'為注釋符,分號(hào)后面的內(nèi)容在下載時(shí)將被忽略掉。(2)寫入微程序用聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】一【裝載】”功能將該格式(*.TXT)文件裝載入實(shí)驗(yàn)系統(tǒng)。裝入過程中,在軟件的輸出區(qū)的‘結(jié)果'欄會(huì)顯示裝載信息,如當(dāng)前正在裝載的是機(jī)器指令還是微指令,還剩多少條指令等。(3)校驗(yàn)微程序選擇聯(lián)機(jī)軟件的“【轉(zhuǎn)儲(chǔ)】-【刷新指令區(qū)】"可以讀出下位機(jī)所有的機(jī)器指令和微指令,并在指令區(qū)顯示。檢查微控器相應(yīng)地址單元的數(shù)據(jù)是否和表3-2-2中的十六進(jìn)制數(shù)據(jù)相同,如果不同,則說明寫入操作失敗,應(yīng)重新寫入,可以通過聯(lián)機(jī)軟件單獨(dú)修改某個(gè)單元的微指令,先用鼠標(biāo)左鍵單擊指令區(qū)的‘微存'TAB按鈕,然后再單擊需修改單元的數(shù)據(jù),此時(shí)該單元變?yōu)榫庉嬁颍斎?位數(shù)據(jù)并回車,編輯框消失,并以紅色顯示寫入的數(shù)據(jù)。
;〃****************************?*****?****//;////TOC\o"1-5"\h\z;// 微控器實(shí)驗(yàn)指令文件 〃;// //;// ByTangDuCO.rLTD //;// //;〃*********m**************m**一〃;〃*,**StartOfMicrocontrollerData,,**〃$M00000001$M$M00000001$M01007070$M04002405$M0504B201$M30001404$M32183001$M33280401$M35000035;〃…**EndOf;CON(INS)->IRrP<1>;R0->B;A加B->R0;R0->A;IN->R0;R0->OUT;NOPMicrocontrollerData.運(yùn)行微程序運(yùn)行時(shí)也分兩種情況:本機(jī)運(yùn)行和聯(lián)機(jī)運(yùn)行。1)本機(jī)運(yùn)行①將時(shí)序與操作臺(tái)單元的開關(guān)KK1、KK3置為'運(yùn)行'檔,按動(dòng)CON單元的CLR按鈕,將微地址寄存器(MAR)清零,同時(shí)也將指令寄存器(IR)、ALU單元的暫存器A和暫存器B清零。②將時(shí)序與操作臺(tái)單元的開關(guān)KK2置為‘單拍'檔,然后按動(dòng)ST按鈕,體會(huì)系統(tǒng)在T1、T2、T3、T4節(jié)拍中各做的工作。T2節(jié)拍微控器將后續(xù)微地址(下條執(zhí)行的微指令的地址)打入微地址寄存器,當(dāng)前微指令打入微指令寄存器,并產(chǎn)生執(zhí)行部件相應(yīng)的控制信號(hào);T3、T4節(jié)拍根據(jù)T2節(jié)拍產(chǎn)生的控制信號(hào)做出相應(yīng)的執(zhí)行動(dòng)作,如果測(cè)試位有效,還要根據(jù)機(jī)器指令及當(dāng)前微地址寄存器中的內(nèi)容進(jìn)行譯碼,使微程序轉(zhuǎn)入相應(yīng)的微地址入口,實(shí)現(xiàn)微程序的分支。③按動(dòng)CON單元的CLR按鈕,清微地址寄存器(MAR)等,并將時(shí)序與單元的開關(guān)KK2置為'單步’檔。④置IN單元數(shù)據(jù)為00100011,按動(dòng)ST按鈕,當(dāng)MC單元后續(xù)微地址顯示為000001時(shí),在CON單元的SD27…SD20模擬給出IN指令00100000并繼續(xù)單步執(zhí)行,當(dāng)MC單元后續(xù)微地址顯示為000001時(shí),說明當(dāng)前指令已執(zhí)行完;在CON單元的SD27…SD20給出ADD指令00000000,該指令將會(huì)在下個(gè)T3被打入指令寄存器(IR),它將R0中的數(shù)據(jù)和其自身相加后送R0;接下來在CON單元的SD27…SD20給出OUT指令00110000并繼續(xù)單步執(zhí)行,在MC單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省婁底市2025屆數(shù)學(xué)三下期末質(zhì)量檢測(cè)試題含解析
- 2024-2025學(xué)年洛陽市老城區(qū)數(shù)學(xué)五年級(jí)第二學(xué)期期末達(dá)標(biāo)檢測(cè)模擬試題含答案
- 跨境電子商務(wù)的稅收政策與市場(chǎng)分析
- 山東醫(yī)學(xué)高等專科學(xué)?!妒称钒踩c營養(yǎng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆河南省洛陽市數(shù)學(xué)三下期末經(jīng)典試題含解析
- 數(shù)據(jù)庫查詢結(jié)果緩存規(guī)則
- 湖南生物機(jī)電職業(yè)技術(shù)學(xué)院《現(xiàn)代設(shè)備管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海旅游高等??茖W(xué)?!痘Q性與技術(shù)測(cè)量B》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年福建省龍巖市溪南教育集團(tuán)數(shù)學(xué)四下期末檢測(cè)試題含解析
- 惠州學(xué)院《合唱與指揮》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年河北石家莊同濟(jì)醫(yī)學(xué)中等專業(yè)學(xué)校招聘教師考試真題
- 2025年河南工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫審定版
- 施工現(xiàn)場(chǎng)應(yīng)對(duì)極端天氣的措施
- 江蘇2025年01月江蘇省揚(yáng)州生態(tài)科技新城管委會(huì)2025年招考6名勞務(wù)派遣人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年內(nèi)蒙古呼倫貝爾農(nóng)墾拉布大林上庫力三河蘇沁農(nóng)牧場(chǎng)招聘115人歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 中學(xué)創(chuàng)客教育教學(xué)活動(dòng)計(jì)劃
- 《移動(dòng)通信市場(chǎng)推廣策略》課件
- 2025年四川成都職業(yè)技術(shù)學(xué)院招聘筆試參考題庫含答案解析
- 2025年國家藥品監(jiān)督管理局藥品審評(píng)中心招聘11人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年廣東省《輔警招聘考試必刷500題》考試題庫含必背答案
- 餐飲企業(yè)牛奶產(chǎn)品推廣方案
評(píng)論
0/150
提交評(píng)論