計算機組成原理課程設(shè)計—硬布線控制器的設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  硬布線控制器的設(shè)計與調(diào)試</p><p>  教學(xué)目的、任務(wù)與實驗設(shè)備</p><p><b>  教學(xué)目的</b></p><p>  熟練掌握實驗5和硬布線控制器的組成原理與應(yīng)用。</p><p>  復(fù)習(xí)和應(yīng)用數(shù)據(jù)通路及邏輯表達式。</p><p>  學(xué)習(xí)運用ISP(

2、在系統(tǒng)編程)技術(shù)進行設(shè)計和調(diào)試的基本步驟和方法,熟悉集成開發(fā)軟件中設(shè)計調(diào)試工具的使用,體會ISP技術(shù)相對于傳統(tǒng)開發(fā)技術(shù)的優(yōu)點。</p><p><b>  教學(xué)任務(wù)</b></p><p>  按給定的數(shù)據(jù)格式和指令系統(tǒng),在所提供的器件范圍內(nèi),設(shè)計一臺硬布線控制器控制的模型計算機。</p><p>  根據(jù)設(shè)計圖紙,在通用實驗臺上進行組裝,并調(diào)

3、試成功。</p><p>  在組裝調(diào)試成功的基礎(chǔ)上,整理出設(shè)計圖紙和其他文件。</p><p><b>  實驗設(shè)備</b></p><p>  TEC-4計算機組成原理實驗系統(tǒng)一臺</p><p><b>  直流萬用表一只</b></p><p>  集成電路建議使用I

4、SP芯片(一片ispLSI1032)。采用ISP器件,則需要一臺PC機運行設(shè)計自動化軟件(例如ispEXPERT)作設(shè)計、編程和下載使用。</p><p>  總體設(shè)計思路(描述指令系統(tǒng),給數(shù)據(jù)通路)</p><p>  采用與模型計算機相同的指令系統(tǒng),即12條機器指令。實驗設(shè)計中采用該指令系統(tǒng)的子集:去掉中斷指令后的3條機器指令,只保留9條指令。</p><p>

5、  采用的數(shù)據(jù)通路和微程序控制器方案相同。</p><p>  ·數(shù)據(jù)通路圖和數(shù)據(jù)通路控制信號</p><p><b>  控制器的設(shè)計思路</b></p><p>  硬布線控制器能夠?qū)崿F(xiàn)控制功能,關(guān)鍵在于它的組合邏輯譯碼電路。譯碼電路的任務(wù)就是將一系列有關(guān)指令、時序等的輸入信號,轉(zhuǎn)化為一個個控制信號,輸出到各執(zhí)行部件中。</

6、p><p>  根據(jù)硬布線控制器的基本原理,針對每個控制信號S,可以列出它的譯碼函數(shù)S = f( Im, Mi, Tk, Bj )其中Im是機器指令操作碼譯碼器的輸出信號,Mi是節(jié)拍信號發(fā)生器的節(jié)拍信號,Tk是時序信號發(fā)生器的時序信號,Bj是狀態(tài)條件判斷信號。</p><p>  在TEC—4計算機組成原理實驗系統(tǒng)中,因為時序信號Tk(T1—T4)已經(jīng)直接輸送給數(shù)據(jù)通路,所以譯碼電路不需Tk作

7、為輸入。又因為機器指令系統(tǒng)比較簡單,操作碼只有4位,不需要專門的操作碼譯碼器,因此Im直接就是操作碼,即指令寄存器的IR4—IR7信號。Mi的來源就是時序模塊的節(jié)拍信號,例如W4—W1。Bj的信號包括:</p><p>  1.來自數(shù)據(jù)通路中運算器ALU的進位信號C;</p><p>  2.來自控制臺的開關(guān)信號SWC、SWB、SWA;</p><p><b&

8、gt;  3.其他信號。</b></p><p>  其中C、SWC、SWA和SWB信號在微程序控制器中同樣存在,不用加以解釋。由于硬布線控制器設(shè)計和微程序控制器設(shè)計的不同需求和特點以及控制器的設(shè)計方案的不同,可能需要其他信號,也可能不需要其他信號,根據(jù)設(shè)計方案而定。</p><p>  每個控制信號的函數(shù)式都是上述輸入信號的邏輯表達式,因此可以用各種組合邏輯構(gòu)造電路網(wǎng)絡(luò),實現(xiàn)

9、這些表達式的邏輯功能。理論上,只要對所有控制信號都設(shè)計出譯碼函數(shù),這個硬布線控制器的方案也就得到了。</p><p>  根據(jù)要求,列出所需的控制臺指令和機器指令</p><p>  老師提供的控制臺指令流程圖 :</p><p>  在這個控制臺里,我們將控制臺指令KRR,KRD,KWE,KLD,PR分別拆分為KRR1,KRR2,KRD1,KRD2,KWE1,KW

10、E2,KLD1,KLD2和PR1,PR2。每個小指令分別占用W1-W4四個節(jié)拍。分2次執(zhí)行完成。</p><p>  控制臺控制信號作用:</p><p><b>  設(shè)計方案</b></p><p>  設(shè)計硬布線控制器的控制流程,也就是解決Mi、Im、Bj如何起作用的問題。設(shè)計微程序控制器時可以使用流程圖,設(shè)計硬布線控制器同樣可以使用流程圖

11、。微程序控制器的控制信號以微指令周期為時間單位,硬布線控制器以節(jié)拍為時間單位,兩者本質(zhì)上是一樣的,1拍和1個微指令周期都是從時序T1的上升沿到</p><p>  T4的下降沿的一段時間。在微程序控制流程圖中,1個執(zhí)行框代表1個微指令周期,而在硬布線控制流程圖中,1個執(zhí)行框就代表1拍。</p><p>  執(zhí)行一條機器指令所需的微指令數(shù)目,在硬布線控制器中相當于機器指令所需的節(jié)拍數(shù)。決定執(zhí)

12、行一條指令需要的節(jié)拍數(shù),要根據(jù)所有指令而定。既不能只考慮某些需要最多節(jié)拍的指令,也不能只考慮節(jié)拍數(shù)最少的指令,一般要根據(jù)大多數(shù)機器指令所需的節(jié)拍數(shù)而定,設(shè)計才比較合理。在本實驗中,由于選用4拍對大多數(shù)指令就夠用,所以節(jié)拍發(fā)生器產(chǎn)生4個節(jié)拍信號(W1—W4)。統(tǒng)一用4拍執(zhí)行1條機器指令后,對于所需節(jié)拍較少的的指令,例如JMP指令只用2拍(忽略中斷),剩下2拍就無事可做了。這在可行性上當然沒有問題,但在性能上就打了折扣,因為多余的節(jié)拍都浪費

13、掉了。為減少浪費,在時序電路中加入了一個控制信號SKIP的輸入,該信號的作用是使節(jié)拍發(fā)生器在任意狀態(tài)下直接跳到最后1拍(W4)。這樣,設(shè)計控制流程時,在所需節(jié)拍較少的的指令流程的適當位置使SKIP控制信號有效,多余的節(jié)拍就可以跳過,從而提高了性能。</p><p>  機器指令選用四拍以后,將一條機器指令的執(zhí)行化為占用兩條(或者更多)機器指令的節(jié)拍,執(zhí)行一條指令就可以占用W1、W2、W3、W4、W1、W2、W3、

14、W4。為了區(qū)分一條指令的兩個不同階段,我們加了個ST內(nèi)部信號作為標志位,當ST=0時,標志執(zhí)行指令的前四個節(jié)拍,當ST=1時,標志執(zhí)行指令的后四個節(jié)拍。注意到只有CLR#到來后的第四拍時ST信號才發(fā)生翻轉(zhuǎn),所以又設(shè)了一個SSTO信號作為ST信號的觸發(fā)信號。</p><p>  具體實現(xiàn)ST-SSTO模塊如下:我們增加了一個標志位RUN,由于按CLR#按鈕復(fù)位后,實驗系統(tǒng)的時序停止在T4,W4,ST的值為0,這樣S

15、STO=!ST&W4的值為1.按QD啟動按鈕后,由于立即產(chǎn)生T1信號,在T1的上升沿使ST置1,在第一組W1,W2,W3,W4時,ST的值為1,這是我們不希望看到的。</p><p>  增加了標志位RUN后,按CLR#按鈕復(fù)位,使RUN為0。由于SSTO=!ST*W4*RUN,因此復(fù)位后的SSTO=0.按QD啟動按鈕,在T1的上升沿,使RUN=1。根據(jù)SSTO的布爾表達式,在W1,W2,W3時,SSTO

16、=0,直到W4時,才使SSTO=1,由于ST:=CLR#*SSTO#CLR*ST,在W4過后的下一個T1的上升沿,才使ST置1,從而將控制臺操作的兩種狀態(tài)區(qū)分開來。</p><p>  根據(jù)控制臺指令設(shè)計出的硬布線控制器:</p><p><b>  邏輯狀態(tài)表:</b></p><p>  根據(jù)硬布線指令流程圖畫出狀態(tài)表,然后根據(jù)表格,列寫出

17、每個信號的邏輯表達式,并寫出ABEL語言的源程序:</p><p>  設(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>  對程序進行編譯,無誤后下載到芯片。</p><p><b>  連線,調(diào)試,驗收</b></p><p>  連線按照ABEL程序里面對管腳的定義連線</p><p>  寄存器和內(nèi)存單元內(nèi)容:</p><p><b&g

38、t;  計算結(jié)果:</b></p><p><b>  個人感想</b></p><p>  實驗開始就很考驗我們的細心與操作,實驗5的連線很多,雖然能夠可以輕松的連出數(shù)據(jù)通路,但是在讀寄存器還有讀存儲器時候很容易忽略一些細節(jié)。尤其是寄存器的編號設(shè)置很容易忘記怎么設(shè),導(dǎo)致實驗進入誤區(qū),讀不出來正確的數(shù)據(jù)。</p><p>  編程我

39、們是通過參考網(wǎng)上的程序來完成的,雖然弄清楚怎么執(zhí)行的寫數(shù)據(jù)和讀數(shù)據(jù)的指令,但是跟自己一開始的思路還是差很多,網(wǎng)上的太過于簡便,反而容易誤導(dǎo)我們的思路,自己做的錯誤太多,只能和網(wǎng)上的一塊調(diào)試并應(yīng)用。需要注意的就是一開始寫數(shù)的時候,網(wǎng)上的可以直接邏輯拉下來,我們只能一個個去寫。這個步驟的連線沒什么難的,需要注意的就是最后那5個端口不能忘了。</p><p>  硬布線控制器最最重要的就是數(shù)據(jù)通路和邏輯表達式的應(yīng)用,不

40、管是檢測實驗電路還是最后實驗數(shù)據(jù)的輸出,都需要掌握這些知識。本實驗還涉及到了DP,DZ,DB的步驟順序控制方式,只要掌握好數(shù)據(jù)通路就可以輕松理解這些步驟。</p><p>  總的來說,小學(xué)期的實驗需要的不僅僅是時間還有耐心和以前所學(xué)的應(yīng)用,這次的實驗不僅告訴我們要牢牢掌握所學(xué)過的知識還是學(xué)會合作。</p><p><b>  參考文獻:</b></p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論