版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 硬布線控制器的設(shè)計(jì)與調(diào)試</p><p> 教學(xué)目的、任務(wù)與實(shí)驗(yàn)設(shè)備</p><p><b> 教學(xué)目的</b></p><p> 熟練掌握實(shí)驗(yàn)5和硬布線控制器的組成原理與應(yīng)用。</p><p> 復(fù)習(xí)和應(yīng)用數(shù)據(jù)通路及邏輯表達(dá)式。</p><p> 學(xué)習(xí)運(yùn)用ISP(
2、在系統(tǒng)編程)技術(shù)進(jìn)行設(shè)計(jì)和調(diào)試的基本步驟和方法,熟悉集成開發(fā)軟件中設(shè)計(jì)調(diào)試工具的使用,體會(huì)ISP技術(shù)相對(duì)于傳統(tǒng)開發(fā)技術(shù)的優(yōu)點(diǎn)。</p><p><b> 教學(xué)任務(wù)</b></p><p> 按給定的數(shù)據(jù)格式和指令系統(tǒng),在所提供的器件范圍內(nèi),設(shè)計(jì)一臺(tái)硬布線控制器控制的模型計(jì)算機(jī)。</p><p> 根據(jù)設(shè)計(jì)圖紙,在通用實(shí)驗(yàn)臺(tái)上進(jìn)行組裝,并調(diào)
3、試成功。</p><p> 在組裝調(diào)試成功的基礎(chǔ)上,整理出設(shè)計(jì)圖紙和其他文件。</p><p><b> 實(shí)驗(yàn)設(shè)備</b></p><p> TEC-4計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)一臺(tái)</p><p><b> 直流萬用表一只</b></p><p> 集成電路建議使用I
4、SP芯片(一片ispLSI1032)。采用ISP器件,則需要一臺(tái)PC機(jī)運(yùn)行設(shè)計(jì)自動(dòng)化軟件(例如ispEXPERT)作設(shè)計(jì)、編程和下載使用。</p><p> 總體設(shè)計(jì)思路(描述指令系統(tǒng),給數(shù)據(jù)通路)</p><p> 采用與模型計(jì)算機(jī)相同的指令系統(tǒng),即12條機(jī)器指令。實(shí)驗(yàn)設(shè)計(jì)中采用該指令系統(tǒng)的子集:去掉中斷指令后的3條機(jī)器指令,只保留9條指令。</p><p>
5、 采用的數(shù)據(jù)通路和微程序控制器方案相同。</p><p> ·數(shù)據(jù)通路圖和數(shù)據(jù)通路控制信號(hào)</p><p><b> 控制器的設(shè)計(jì)思路</b></p><p> 硬布線控制器能夠?qū)崿F(xiàn)控制功能,關(guān)鍵在于它的組合邏輯譯碼電路。譯碼電路的任務(wù)就是將一系列有關(guān)指令、時(shí)序等的輸入信號(hào),轉(zhuǎn)化為一個(gè)個(gè)控制信號(hào),輸出到各執(zhí)行部件中。</
6、p><p> 根據(jù)硬布線控制器的基本原理,針對(duì)每個(gè)控制信號(hào)S,可以列出它的譯碼函數(shù)S = f( Im, Mi, Tk, Bj )其中Im是機(jī)器指令操作碼譯碼器的輸出信號(hào),Mi是節(jié)拍信號(hào)發(fā)生器的節(jié)拍信號(hào),Tk是時(shí)序信號(hào)發(fā)生器的時(shí)序信號(hào),Bj是狀態(tài)條件判斷信號(hào)。</p><p> 在TEC—4計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)中,因?yàn)闀r(shí)序信號(hào)Tk(T1—T4)已經(jīng)直接輸送給數(shù)據(jù)通路,所以譯碼電路不需Tk作
7、為輸入。又因?yàn)闄C(jī)器指令系統(tǒng)比較簡單,操作碼只有4位,不需要專門的操作碼譯碼器,因此Im直接就是操作碼,即指令寄存器的IR4—IR7信號(hào)。Mi的來源就是時(shí)序模塊的節(jié)拍信號(hào),例如W4—W1。Bj的信號(hào)包括:</p><p> 1.來自數(shù)據(jù)通路中運(yùn)算器ALU的進(jìn)位信號(hào)C;</p><p> 2.來自控制臺(tái)的開關(guān)信號(hào)SWC、SWB、SWA;</p><p><b&
8、gt; 3.其他信號(hào)。</b></p><p> 其中C、SWC、SWA和SWB信號(hào)在微程序控制器中同樣存在,不用加以解釋。由于硬布線控制器設(shè)計(jì)和微程序控制器設(shè)計(jì)的不同需求和特點(diǎn)以及控制器的設(shè)計(jì)方案的不同,可能需要其他信號(hào),也可能不需要其他信號(hào),根據(jù)設(shè)計(jì)方案而定。</p><p> 每個(gè)控制信號(hào)的函數(shù)式都是上述輸入信號(hào)的邏輯表達(dá)式,因此可以用各種組合邏輯構(gòu)造電路網(wǎng)絡(luò),實(shí)現(xiàn)
9、這些表達(dá)式的邏輯功能。理論上,只要對(duì)所有控制信號(hào)都設(shè)計(jì)出譯碼函數(shù),這個(gè)硬布線控制器的方案也就得到了。</p><p> 根據(jù)要求,列出所需的控制臺(tái)指令和機(jī)器指令</p><p> 老師提供的控制臺(tái)指令流程圖 :</p><p> 在這個(gè)控制臺(tái)里,我們將控制臺(tái)指令KRR,KRD,KWE,KLD,PR分別拆分為KRR1,KRR2,KRD1,KRD2,KWE1,KW
10、E2,KLD1,KLD2和PR1,PR2。每個(gè)小指令分別占用W1-W4四個(gè)節(jié)拍。分2次執(zhí)行完成。</p><p> 控制臺(tái)控制信號(hào)作用:</p><p><b> 設(shè)計(jì)方案</b></p><p> 設(shè)計(jì)硬布線控制器的控制流程,也就是解決Mi、Im、Bj如何起作用的問題。設(shè)計(jì)微程序控制器時(shí)可以使用流程圖,設(shè)計(jì)硬布線控制器同樣可以使用流程圖
11、。微程序控制器的控制信號(hào)以微指令周期為時(shí)間單位,硬布線控制器以節(jié)拍為時(shí)間單位,兩者本質(zhì)上是一樣的,1拍和1個(gè)微指令周期都是從時(shí)序T1的上升沿到</p><p> T4的下降沿的一段時(shí)間。在微程序控制流程圖中,1個(gè)執(zhí)行框代表1個(gè)微指令周期,而在硬布線控制流程圖中,1個(gè)執(zhí)行框就代表1拍。</p><p> 執(zhí)行一條機(jī)器指令所需的微指令數(shù)目,在硬布線控制器中相當(dāng)于機(jī)器指令所需的節(jié)拍數(shù)。決定執(zhí)
12、行一條指令需要的節(jié)拍數(shù),要根據(jù)所有指令而定。既不能只考慮某些需要最多節(jié)拍的指令,也不能只考慮節(jié)拍數(shù)最少的指令,一般要根據(jù)大多數(shù)機(jī)器指令所需的節(jié)拍數(shù)而定,設(shè)計(jì)才比較合理。在本實(shí)驗(yàn)中,由于選用4拍對(duì)大多數(shù)指令就夠用,所以節(jié)拍發(fā)生器產(chǎn)生4個(gè)節(jié)拍信號(hào)(W1—W4)。統(tǒng)一用4拍執(zhí)行1條機(jī)器指令后,對(duì)于所需節(jié)拍較少的的指令,例如JMP指令只用2拍(忽略中斷),剩下2拍就無事可做了。這在可行性上當(dāng)然沒有問題,但在性能上就打了折扣,因?yàn)槎嘤嗟墓?jié)拍都浪費(fèi)
13、掉了。為減少浪費(fèi),在時(shí)序電路中加入了一個(gè)控制信號(hào)SKIP的輸入,該信號(hào)的作用是使節(jié)拍發(fā)生器在任意狀態(tài)下直接跳到最后1拍(W4)。這樣,設(shè)計(jì)控制流程時(shí),在所需節(jié)拍較少的的指令流程的適當(dāng)位置使SKIP控制信號(hào)有效,多余的節(jié)拍就可以跳過,從而提高了性能。</p><p> 機(jī)器指令選用四拍以后,將一條機(jī)器指令的執(zhí)行化為占用兩條(或者更多)機(jī)器指令的節(jié)拍,執(zhí)行一條指令就可以占用W1、W2、W3、W4、W1、W2、W3、
14、W4。為了區(qū)分一條指令的兩個(gè)不同階段,我們加了個(gè)ST內(nèi)部信號(hào)作為標(biāo)志位,當(dāng)ST=0時(shí),標(biāo)志執(zhí)行指令的前四個(gè)節(jié)拍,當(dāng)ST=1時(shí),標(biāo)志執(zhí)行指令的后四個(gè)節(jié)拍。注意到只有CLR#到來后的第四拍時(shí)ST信號(hào)才發(fā)生翻轉(zhuǎn),所以又設(shè)了一個(gè)SSTO信號(hào)作為ST信號(hào)的觸發(fā)信號(hào)。</p><p> 具體實(shí)現(xiàn)ST-SSTO模塊如下:我們?cè)黾恿艘粋€(gè)標(biāo)志位RUN,由于按CLR#按鈕復(fù)位后,實(shí)驗(yàn)系統(tǒng)的時(shí)序停止在T4,W4,ST的值為0,這樣S
15、STO=!ST&W4的值為1.按QD啟動(dòng)按鈕后,由于立即產(chǎn)生T1信號(hào),在T1的上升沿使ST置1,在第一組W1,W2,W3,W4時(shí),ST的值為1,這是我們不希望看到的。</p><p> 增加了標(biāo)志位RUN后,按CLR#按鈕復(fù)位,使RUN為0。由于SSTO=!ST*W4*RUN,因此復(fù)位后的SSTO=0.按QD啟動(dòng)按鈕,在T1的上升沿,使RUN=1。根據(jù)SSTO的布爾表達(dá)式,在W1,W2,W3時(shí),SSTO
16、=0,直到W4時(shí),才使SSTO=1,由于ST:=CLR#*SSTO#CLR*ST,在W4過后的下一個(gè)T1的上升沿,才使ST置1,從而將控制臺(tái)操作的兩種狀態(tài)區(qū)分開來。</p><p> 根據(jù)控制臺(tái)指令設(shè)計(jì)出的硬布線控制器:</p><p><b> 邏輯狀態(tài)表:</b></p><p> 根據(jù)硬布線指令流程圖畫出狀態(tài)表,然后根據(jù)表格,列寫出
17、每個(gè)信號(hào)的邏輯表達(dá)式,并寫出ABEL語言的源程序:</p><p> 設(shè)計(jì)的實(shí)現(xiàn)(ABEL-HDL)</p><p> ABEL語言源代碼如下:</p><p> MODULE Compute DECLARATIONS</p><p><b> "輸入管腳<
18、;/b></p><p> SWC, SWB, SWA PIN 3..5;</p><p> IR7, IR6, IR5, IR4 PIN 6..9;</p><p> MF,T1, W1,W2,W3,W4, C,CLR PIN 10..17;</p><p><b> "輸出管腳</b><
19、/p><p> ALU_BUS, AR1_INC, CEL, CER, LDAR1, LDAR2, LDDR1, LDDR2, LDER, LDIR, LDPC, LDR4,LRW PIN 29..41;</p><p> PC_INC,PC_ADD,RS_BUS,SW_BUS, WRD, SKIP, TJ, M1,M2,M3,M4,S0,S1,S2 PIN 45..58;</p&g
20、t;<p><b> "自定義</b></p><p> MF1,SSTO NODE ISTYPE 'COM';</p><p> RUN,ST NODE ISTYPE 'REG';</p><p> tKRR,tKRD,tKWE,tKLD,tPR NODE ISTYPE '
21、;COM';</p><p> KRR1,KRD1,KWE1,KLD1,PR1,KRR2,KRD2,KWE2,KLD2,PR2 NODE ISTYPE 'COM';</p><p> ADD,SUB,MUL,AND,LDA,STA,JMP,JC,STP NODE ISTYPE 'COM';</p><p><b>
22、; CLK=.C.;</b></p><p><b> EQUATIONS</b></p><p> MF1=!CLR&MF#T1&CLR;</p><p><b> RUN:=CLR;</b></p><p> RUN.CLK=MF1;</p>
23、<p> ST:=CLR&SSTO#CLR&ST;</p><p> ST.CLK=MF1;</p><p> SSTO=!ST&RUN&W4;</p><p><b> "指令譯碼部分</b></p><p> tKRR=SWC&!SWB&!
24、SWA;</p><p> tKRD=!SWC&!SWB&SWA;</p><p> tKWE=!SWC&SWB&!SWA;</p><p> tKLD=!SWC&SWB&SWA;</p><p> tPR=!SWC&!SWB&!SWA;</p><p
25、> KRR1=!ST&tKRR;</p><p> KRR2=ST&tKRR;</p><p> KRD1=!ST&tKRD;</p><p> KRD2=ST&tKRD;</p><p> KWE1=!ST&tKWE;</p><p> KWE2=ST&
26、;tKWE;</p><p> KLD1=!ST&tKLD;</p><p> KLD2=ST&tKLD;</p><p> PR1=!ST&tPR;</p><p> PR2=ST&tPR;</p><p> ADD=PR2&(!IR7)&(!IR6)&
27、;(!IR5)&(!IR4);</p><p> SUB=PR2&(!IR7)&(!IR6)&(!IR5)&(IR4);</p><p> MUL=PR2&(!IR7)&(!IR6)&(IR5)&(!IR4);</p><p> AND=PR2&(!IR7)&(!IR6)&
28、amp;(IR5)&(IR4);</p><p> LDA=PR2&(!IR7)&(IR6)&(!IR5)&(IR4);</p><p> STA=PR2&(!IR7)&(IR6)&(!IR5)&(!IR4);</p><p> JMP=PR2&(IR7)&(!IR6)&a
29、mp;(!IR5)&(!IR4);</p><p> JC=PR2&(IR7)&(!IR6)&(!IR5)&(IR4);</p><p> STP=PR2&(!IR7)&(IR6)&(IR5)&(!IR4);</p><p><b> "數(shù)據(jù)通路管腳譯碼</b&g
30、t;</p><p> ALU_BUS=(ADD#SUB#MUL#AND)&W3#(STA&W4);</p><p> AR1_INC=(KRD2#KWE2)&W4;</p><p> CEL=!((KRD2#KWE2#KLD2#KRR2)&W1#(W3&LDA)#(W4&STA));</p>&l
31、t;p> CER=(KLD2#KRR2)&W2#(W1&PR2);</p><p> LDAR1=W4&(KRR1#KRD1#KWE1#KLD1)#(W2&LDA)#(W2&STA);</p><p> LDAR2=W4&(KRR1#KLD1)#(PR2&W1);</p><p> LDDR1=W
32、2&(ADD#SUB#MUL#AND);</p><p> LDDR2=LDDR1#(W2&STA);</p><p> LDER=W3&(KLD2#ADD#SUB#MUL#AND#LDA);</p><p><b> LDIR=CER;</b></p><p> LDPC=W4&
33、(PR1#JMP#(JC&C));</p><p> LDR4=LDPC;</p><p> LRW=W1&KRD2#W3&LDA;</p><p> M1=!LDDR1;</p><p> M2=!LDDR2;</p><p> M3=W4&(KRR1#KLD1);</
34、p><p> M4=W4&(PR1#JMP);</p><p> PC_INC=W1&PR2;</p><p> PC_ADD=W4&JC&C;</p><p> RS_BUS=!(W2&(LDA#STA)#W4&(KRR2#JMP));</p><p> SW_B
35、US=!(W1&(KWE2#KLD2#KRR2)#(W3&KLD2)#(W4&!ST));</p><p> S0=SUB#STA;</p><p> S1=ADD#SUB;</p><p><b> S2=MUL;</b></p><p> SKIP=W1&!ST#(W1&
36、;(KRD2#KWE2))#(W2&(KRR2#STA))#W2&(JMP#JC#STP);</p><p> TJ=W1&KRD2#W2&KLD2#W4&(tKRR#tKWE#tKLD)#W4&STP;</p><p> WRD=W4&(KLD2#ADD#SUB#MUL#AND#LDA);</p><p>
37、;<b> END</b></p><p> 對(duì)程序進(jìn)行編譯,無誤后下載到芯片。</p><p><b> 連線,調(diào)試,驗(yàn)收</b></p><p> 連線按照ABEL程序里面對(duì)管腳的定義連線</p><p> 寄存器和內(nèi)存單元內(nèi)容:</p><p><b&g
38、t; 計(jì)算結(jié)果:</b></p><p><b> 個(gè)人感想</b></p><p> 實(shí)驗(yàn)開始就很考驗(yàn)我們的細(xì)心與操作,實(shí)驗(yàn)5的連線很多,雖然能夠可以輕松的連出數(shù)據(jù)通路,但是在讀寄存器還有讀存儲(chǔ)器時(shí)候很容易忽略一些細(xì)節(jié)。尤其是寄存器的編號(hào)設(shè)置很容易忘記怎么設(shè),導(dǎo)致實(shí)驗(yàn)進(jìn)入誤區(qū),讀不出來正確的數(shù)據(jù)。</p><p> 編程我
39、們是通過參考網(wǎng)上的程序來完成的,雖然弄清楚怎么執(zhí)行的寫數(shù)據(jù)和讀數(shù)據(jù)的指令,但是跟自己一開始的思路還是差很多,網(wǎng)上的太過于簡便,反而容易誤導(dǎo)我們的思路,自己做的錯(cuò)誤太多,只能和網(wǎng)上的一塊調(diào)試并應(yīng)用。需要注意的就是一開始寫數(shù)的時(shí)候,網(wǎng)上的可以直接邏輯拉下來,我們只能一個(gè)個(gè)去寫。這個(gè)步驟的連線沒什么難的,需要注意的就是最后那5個(gè)端口不能忘了。</p><p> 硬布線控制器最最重要的就是數(shù)據(jù)通路和邏輯表達(dá)式的應(yīng)用,不
40、管是檢測(cè)實(shí)驗(yàn)電路還是最后實(shí)驗(yàn)數(shù)據(jù)的輸出,都需要掌握這些知識(shí)。本實(shí)驗(yàn)還涉及到了DP,DZ,DB的步驟順序控制方式,只要掌握好數(shù)據(jù)通路就可以輕松理解這些步驟。</p><p> 總的來說,小學(xué)期的實(shí)驗(yàn)需要的不僅僅是時(shí)間還有耐心和以前所學(xué)的應(yīng)用,這次的實(shí)驗(yàn)不僅告訴我們要牢牢掌握所學(xué)過的知識(shí)還是學(xué)會(huì)合作。</p><p><b> 參考文獻(xiàn):</b></p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)-硬布線控制器的設(shè)計(jì)
- 計(jì)算機(jī)組成原理實(shí)驗(yàn)-2.9-硬布線控制器
- 組成原理課程設(shè)計(jì)--硬布線控制器的設(shè)計(jì)與調(diào)試
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--計(jì)算機(jī)組成原理算法實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--微程序控制器的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)-- 模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)——模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 《計(jì)算機(jī)組成原理》課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---模型機(jī)組成設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--簡單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡單計(jì)算機(jī)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---模型機(jī)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)--簡單計(jì)算機(jī)的設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)---簡單計(jì)算機(jī)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論