微程序控制器實驗_第1頁
微程序控制器實驗_第2頁
微程序控制器實驗_第3頁
微程序控制器實驗_第4頁
微程序控制器實驗_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1計算機組成原理實驗實驗中心組成原理課題組2授課教師及實驗課地點介紹l張政凱 l辦公室電話:87571561l辦公室: C區(qū)408南門 l遲宗正l劉金鵬l于成l辦公室電話:87571613l辦公室:C區(qū)413l高新巖l辦公室:C區(qū)403&407l實驗課地點:C區(qū)409-411(硬件實驗室)3為什么要做組成原理實驗?l在學習過計算機組成之后,需要通過實驗的實踐部分了解計算機的各硬件部分的工作原理,諸如:運算器的工作原理,存儲器的工作原理,串口等外設的工作原理,CPU的兩種控制邏輯(硬布線控制邏輯和微程序控制邏輯)l通過實驗實現:l加深對理論的理解l提高實踐的能力4教學目標l通過實驗更加深

2、刻的理解計算機的組成 l加深對計算機各個部件功能的認識以及各個部件之間的協(xié)同關系l掌握運算器.控制器的工作原理,掌握微程序控制邏輯下的控制器并了解基于硬布線邏輯的控制器5課程主要內容l清華實驗箱l基礎匯編語言程序設計l脫機運算器實驗l存儲器擴展實驗l中斷實驗lI/O接口實驗lFPGA程序設計l復旦實驗箱l微程序控制器部件教學實驗共計9個實驗:(分兩個實驗箱完成)6課程主要內容安排原因l1 采用清華實驗箱做簡單部件實驗,是因為各部件的開關和信號燈十分完善能夠清楚的觀察到實驗的結果;但對于微程序控制器實驗的設計存在一定的不可操作性,對大家理解微程序控制下的控制器工作不夠明確。l2 采用復旦實驗箱完

3、成微程序控制器部件實驗,能夠充分利用實驗箱上的鍵盤和微型打印機得到所見即所得的打印結果,并且能夠細致觀察到微程序下每條微指令的控制信號,能夠將運算器工作更加細化。7課程的評分l本課程共36學時,1.5學分,共9個單元。l期末成績由平時成績累加l沒有考試l實驗報告l實驗結果檢查l課堂表現、考勤、遵守實驗室紀律情況8教材與參考書l教學資料l講稿(PPT文件)及微信公眾平臺推送信息l課程網站:7l百度云盤:http:/ 提取碼:mftrl參考教材l軟件學院綜合實驗教程計算機硬件綜合實驗l大家上學期學過的計算機組成原理教材 9對大家的期望和要求l實驗前要作充分的準備l閱

4、讀相關的文獻資料,找出完成實驗題目的方法l強調自學自學的能力l實驗中要勤于動手動腦l強調獨立解決問題獨立解決問題的能力l實驗后要作深入的總結l強調寫作寫作的能力10特別強調的一些規(guī)則1 實驗報告如有抄襲現象,一經發(fā)現取消當次實驗成績,兩次及兩次以上抄襲者取消課程成績。2 禁止在實驗室內進食,飲用水必須放在教師指定位置,嚴禁將水帶至實驗臺及飲用,違者從總成績中遞增減分。3 禁止穿拖鞋進入實驗室,禁止在實驗課上上網聊天及游戲,違者從總成績中遞增減分。 4 實驗結束后,必須將實驗箱及桌椅復位,告知教師檢查后方可離開,否則取消當次實驗課堂成績。11特別強調的一些規(guī)則(續(xù))5 遲到30分鐘及早退將被視為

5、曠課處理,病事假持假條請假,曠課3次取消課程成績。6 在實驗過程中必須積極配合教師對實驗結果的檢查。7 未經教師授權或同意,不得動用實驗平臺內外一切設備(尤其是電源),違者取消課程成績并徐對損壞儀器照價賠償。8 實驗課程期間在實驗室內保持肅靜!9 實驗結束后,必須將所有實驗箱儀器以及桌椅板凳恢復原樣,擺放整齊,并且所有你帶來或制造的東西一律帶走。10 不得私自調課,否則無法錄入成績后果自負!12實驗箱的介紹l復旦大學實驗箱l清華實驗箱TEC-XP13 實驗一 微程序控制的計算機實驗 存儲器擴展實驗14 實驗目的實驗目的l學習和掌握微程序控制計算機的工作原理及實現方法;l初步學會程序的流程圖畫法

6、及程序的模塊化設計、調試方法。l學會建立文本文件、表格、圖形文件。 15 實驗要求 l1) 建立指令集文件(*.DEF 指令系統(tǒng))l2)建立微程序文件(*.M19)l3)編寫二位乘法程序,通過調試觀察匯編指令在微程序控制計算機中的實施過程,學會程序設計中的流程圖,模塊化設計及調試方法。16馮諾依曼計算機設計思想 l美國科學家馮諾依曼于1946年提出了“存儲程序”的設計思想,其后開發(fā)的計算機大多采用這種方式,此類計算機被稱為馮諾依曼計算機。 l存儲程序概念:為了告訴計算機做什么事,以及按怎樣的順序去做,這就需要編制程序,使計算機能按人們所規(guī)定的順序自動地工作。通常將程序以代碼的形式事先存入計算機

7、中,使計算機在工作時能自動高速地逐一取出并加以執(zhí)行17馮諾依曼計算機構成 l計算機硬件基本構成計算機硬件基本構成l按照馮諾依曼計算機的設計思想,計算機硬件基本上由運算器、控制器、存儲器、運算器、控制器、存儲器、輸入設備和輸出設備五大部件構成。輸入設備和輸出設備五大部件構成。通常我們把組成計算機的這些功能部件稱為硬件。188位單累加器計算機基本結構 19實驗原理微程序定義實驗原理微程序定義 l微程序:微程序:每條指令實際上分解成一系列微操作序列。因而指令的執(zhí)行過程實際上就是相當于該條指令的微操作序列的執(zhí)行過程。如果把統(tǒng)一節(jié)拍中要執(zhí)行的微操作作為一條“微指令”,則一條機器指令可看做是由若干條微指令

8、組成的。與一條機器指令相對應的微指令組成的微指令序列就叫做“微程序微程序”。l用于存放微程序微程序的存儲器叫做控制存儲器控制存儲器20實驗原理微命令和微操作定義實驗原理微命令和微操作定義 l微命令和微操作:微命令和微操作:從微操作的角度出發(fā)可將計算機分成兩部分:控制部分和執(zhí)行部分。例如控制器即控制部分,而運算器、存儲器及輸入輸出設備等相對于控制器而言即執(zhí)行部分。微命令微命令即由控制部分向執(zhí)行部分發(fā)出的最基本的控制信號。微操作微操作即是上述執(zhí)行部分受到微命令后所執(zhí)行的最基本的操作。可以看出,微命令與微操作實質上是同一個信號:從控制部分角度看它是微命令;從執(zhí)行部分看它是微操作??梢苑Q微命令是微操作

9、的控制信號;而微操作是微命令控制的操作過程。21實驗原理實驗原理微指令定義微指令定義 微指令:微指令:微指令就是若干微命令的組合常將要在同一節(jié)拍內執(zhí)行的微操作所對應的微命令組合在一條微指令中。22實驗原理圖 23控制信號lS2S2、S1S1、S0S0: ALUALU功能選擇功能選擇l S2S2 S1 S1 S0 S0ALUALU功能功能l 0 0 0 F=A+B0 0 0 F=A+Bl 0 0 1 F=A-B 0 0 1 F=A-Bl 0 1 0 F=A 0 1 0 F=A(帶加法進位)(帶加法進位)l 0 1 1 F=B0 1 1 F=Bl 1 0 0 F=001111110 1 0 0 F

10、=001111110l 1 0 1 F=A 1 0 1 F=A(帶減法借位)(帶減法借位)l 1 1 1 F=0000000001 1 1 F=000000000lCINCIN: 進位位進位位lX1X1、X0X0: 累加器累加器A A功能選擇功能選擇 X1 X0 X1 X0 累加器累加器A A功能功能l 1 1 1 1 累加器累加器A A允許接數允許接數l 0 1 0 1 累加器累加器A A右移操作右移操作l 1 0 1 0 累加器累加器A A左移操作左移操作lCGCG: 暫存器接數允許。暫存器接數允許。lCP CP 進位位進位位CYCY接數允許。接數允許。lWRE WRE 寄存器寫入允許。寄

11、存器寫入允許。24控制信號lOBOB: ALUALU輸出允許輸出允許lGIGI: 指令寄存器指令寄存器IRIR接數允許。接數允許。lGA1GA1: 低位地址寄存器接數允許。低位地址寄存器接數允許。lGA2GA2: 高位地址寄存器接數允許。高位地址寄存器接數允許。lPINCPINC: PCPC加加1 1信號。信號。lPL2PL2、1 1、0 0:PCPC接數控制,接數控制,PL2 PL1 PL0PL2 PL1 PL0 操作操作l 0 00 0 1 CY 1 CYl 0 1 0 1 0 0 必轉必轉l 0 1 1 not KRIX0 1 1 not KRIXl 1 0 0 not PRIX 1 0

12、 0 not PRIX l 1 0 1 1 0 1 禁用禁用 l 1 X X 1 X X 備用備用25控制信號lMXA1: 地址多路開關選擇l 0:PC送至地址總線ABl 1:ADR送至地址總線ABlCWR:寫存儲器lCRD: 讀存儲器lMPLD: MPC接數允許。l圖中的寄存器選擇信號(圖中的寄存器選擇信號(RCRC、RBRB、RARA)應直接)應直接來自指令碼(來自指令碼(I2I2、I1I1、I0I0)。以上的各個微操)。以上的各個微操作信號,除了已標明的,可統(tǒng)一取為作信號,除了已標明的,可統(tǒng)一取為0 0有效。有效。26實驗原理實驗原理-指令系統(tǒng)指令系統(tǒng)l匯編碼匯編碼 操作操作 指令碼指令

13、碼lMOV A,Ri (A)Ri 00000iiilMOV Ri,A (Ri)A 00001iiilADD A,Ri (A)+(Ri) A 00100iiilSUB A,Ri (A)-(Ri) A 00101iiilMOV A,data8 data8 A 00110000 ddddddddlMOV Ri,data8 data8 Ri 00111iii ddddddddlLDA addr (addr) A 01000000 aaaaaaaa aaaaaaaalSTA addr ( A ) addr 01001000 aaaaaaaa aaaaaaaalJC addr if CY=1 then a

14、ddr PC else (PC)+3PCl 01010000 aaaaaaaa aaaaaaaalJMP addr addr PC 01011000 aaaaaaaa aaaaaaaalJKB addr if KRIX=0 then addrPC else (PC)+3PCl 01100000 aaaaaaaa aaaaaaaalJPB addr if PRIX=0 then addrPC else (PC)+3PCl 01101000 aaaaaaaa aaaaaaaa27實驗原理實驗原理-微地址實現方法微地址實現方法l本實驗計算機控存為K,地址線寬度28實驗原理實驗原理-微地址實現方法實例

15、微地址實現方法實例l 匯編碼匯編碼 指令碼指令碼 微地址微地址lMOV A,Ri 00000iii 00000111lMOV A,data8 00110000 00110111lJKB addr 01000000 01000111l從上面各例可以看出指令碼的高位決定從上面各例可以看出指令碼的高位決定微程序的入口地址微程序的入口地址29實驗原理實驗原理-指令流程指令流程lMOV A,Ri T0: (PC) AB,(,(M) IR,(,(PC)+1 PC,(,(A) ACTl T1: (Ri) ALU DB AlMOV A,#data8 T0: (PC) AB,(,(M) IR,(,(PC)+1

16、PC,(,(A)ACTl T1: (PC) AB,(,(M) DB A,(,(PC)+1 PClLDA addr: T0: (PC) AB,(,(M) IR,(,(PC)+1 PC,(,(A) ACTl T1: (PC) AB,(,(M) ADRH,(,(PC)+1 PCl T2: (PC) AB,(,(M) ADRL,(,(PC)+1 PCl T3: (ADR) AB (M) A30實驗原理實驗原理-微指令微指令lMOV A,Ri 3724E007 l 00257004lMOV Ri,A 2120E007 l 00257004lADD A,Ri 0704E007 l 00257004lSUB

17、 A,Ri 1704E007 l 00257004lMOV A,data8 0725F005 l 00257004lMOV Ri,data8 0121F005 00257004lLDA addr 0125D005 l 0125B005 l 0725E085l 00257004 31實驗原理實驗原理-微指令微指令STA addr 0125D005 0125B005 2124E083 00257004JC addr 0125D005 0125B005 0124E287 00257004JMP addr 0125D005 0125B005 0124E487 00257004JKB addr 0125

18、D005 0125B005 0124E687 00257004JPB addr 0125D005 0125B005 0124E887 0025700432鍵盤工作原理l鍵盤工作原理圖鍵盤工作原理圖初始狀態(tài),KRIX=0,表示鍵盤無數據輸入。按下0F任一鍵后,數據打入鍵盤數據緩沖器中(高4位為0),并置位KRIX,表示有鍵輸入。CPU發(fā)出IOR信號,把數據讀至數據總線的低8位,并清零KRIX。注意,這時如設新鍵盤數據輸入,鍵盤數據緩沖器數據不變。 有鍵輸入鍵盤8 鍵盤 數據緩沖器DB70KRIXSRQIOR圖2-4 鍵盤等效框圖33打印機工作原理l打印機工作原理圖打印機工作原理圖PRIX打印完成

19、打印啟動打印機 數據緩沖器DB70打印機SRQIOW圖2-5 打印機等效框圖初始狀態(tài),PRIX為1,允許打印。在需要輸出數據打印時,IOW發(fā)一個寫脈沖(低有效),把數據總線低8位(DB70)上的數據打入打印機數據緩沖器中,并啟動打印機從緩沖器取出數據開始打印,同時使PRIX=0(這時不允許再向打印機輸出數據)。打印完成后,打印機狀態(tài)PRIX置1,CPU可再次向打印機輸出數據。34打印機工作原理字輪l 打印機共有三個字輪三個字輪,右邊兩個字輪為字符和符號,左邊一個字符為數字。下表給出這三個字符的字符編碼:ll 編碼 左 中 右l0 0 0 G l1 1 1 K X l2 2 2 l 3 3 3

20、P l4 4 4 D *l5 5 5 % Sl6 6 6 M Tl7 7 7 Ml8 8 8 + Cl9 9 9 =l A A l B B , R l C C 。 %l D D # A E35打印機工作原理l打印機開始位置在最右邊。打印時,從右到左,打印機開始位置在最右邊。打印時,從右到左,先打印一個右邊字輪的字符,第二個中輪的字先打印一個右邊字輪的字符,第二個中輪的字符,以后打印的均為左輪的字符。符,以后打印的均為左輪的字符。打印的編碼見上表。如輸出的數據的高如輸出的數據的高4 4位不等于位不等于0 0,則在,則在打印完低打印完低4 4位的數字后自動回車換行(這也是使位的數字后自動回車換行(

21、這也是使打印機回車的唯一方法)。所以要輸出某數字打印機回車的唯一方法)。所以要輸出某數字后回車換行,可以輸出此數字加后回車換行,可以輸出此數字加10H10H。例如要輸。例如要輸出出“3 3”后回車,只要輸出后回車,只要輸出“13H13H”即可。對于只即可。對于只需回車換行,不打印數據時,可輸出需回車換行,不打印數據時,可輸出1AH1AH。l注:打印機打印機具體用法可參看程序實例36匯編程序實例(一位加法程序)l ORG 0 偽指令用來指出文件在內存中存放的起始位置lSTRT:l JKB STRTl LDA 8001H l MOV R7,A 輸入第一操作數給R7 lL1:l JKBL1 l LD

22、A 8001Hl MOV R6,A 輸入第二操作數給R6 l MOV A,#0l STA8002H lL2:l JPBL2 打印+ l MOV A,#0AHl STA8002H lL3:l JPBL3 打印空格l MOV A,#10Hl ADD A,R7 l STA8002HlL4:l JPBL4 打印第一操作數后回車換行l(wèi) l MOV A,#9l STA 8002H37匯編程序實例lL5:l JPBL5 打印= l MOV A,#0AHl STA8002HlL6:l JPBL6 打印空格l MOV A,#10Hl ADD A,R6l STA8002HlL7:l JPBL7 打印第二操作數后回

23、車換行l(wèi) MOV A,#3l STA8002HlL8:l JPBL8 打印菱型符號 l MOV A,#0AHl STA8002HlL9: JPBL9 打印空格l MOVA,R6l ADDA,R7l MOVR0,#10l SUBA,R0 將兩數相加,再進行減10處理l JCOVER 判斷結果是否大于10,是跳轉到OVER,否順序執(zhí)行l(wèi) STA8002H38匯編程序實例lL10:l JPBL10 打印個位l MOVA,#11HlOUT:l STA8002HlL11:l JPBL11 打印十位l JMPSTRTlOVER:l ADDA,R0l MOVR1,#10Hl ADDA,R1l JMPOUT

24、恢復運算結果,跳轉到打印個位l注:第一列為標號地址,39實驗操作步驟(一) 建立匯編指令集建立匯編指令集l打開自己編做匯編自己編做匯編v1.0v1.0l文件文件菜單中選擇新建,彈出如下圖所示對話框,選擇匯編指令集,點OK。40實驗步驟l生成空白def文件,輸入指令定義格式 41l在操作操作菜單中選擇改變參數,改變參數,可以定義2類指令系統(tǒng),每類指令都可以選l擇寄存器的長度和類型輸入完后要對輸入的指令集格式進行檢查載入(單累加器,多累加器),對操作選項設定和更改。設定完畢后可進行檢查載入。 實驗步驟42實驗步驟l注:注:在指令集文件中的最后需要加上-ENDDEFl檢查載入成功后顯示下圖信息,如有

25、錯誤可按錯誤提示修改。 43實驗操作步驟(二)l 編寫匯編程序編寫匯編程序l在文件文件菜單中選擇新建,彈出如下圖所示對話框,選擇匯編程序匯編程序,點OK,將生成空白ASM文件,輸入匯編程序:44實驗步驟45實驗步驟下載調試下載調試l 下載調試下載調試l點擊桌面impactimpact來下載cpu的目標程序bit文件。雙擊impact出現如下對話框,選擇Configure DevicesConfigure Devices,點擊下一步 46l選Slave Serial Mode,點擊完成后選擇CPU8BV.bit文件。實驗步驟47實驗步驟48l右擊生成的cpu圖標,執(zhí)行Programming操作,

26、進行下載。 實驗步驟49l下載成功后提示Programming Succeeded,下載完成。實驗步驟50lFPGA經下載燒錄后成為了一顆cpu,使用通用調試器(Unidebugger)把計算機與實驗儀連接,下載微指令集和匯編好的目標程序,進行聯機調試。l雙擊Unidebugger.exe程序,即啟動通用調試器。程序啟動界面如下:實驗步驟51l在這個界面下有如下三個窗口:實驗步驟數據區(qū)數據區(qū)跟蹤數據區(qū)跟蹤數據區(qū)編輯區(qū)編輯區(qū)52實驗步驟l在該界面下首先點擊系統(tǒng),系統(tǒng),選擇實驗方式:實驗方式:l然后會出現如下的系統(tǒng)設置對話框: 53l對本實驗,實驗方式為8位微程序方式,晶振頻率為2MHz??偩€方式

27、為8位。按下確定確定后計算機與實驗儀進行連接,讀取微程序存儲器以及RAM中的數據在數據區(qū)顯示。l按每條匯編指令匯編指令所對應的微地址微地址,將微程序微程序輸入到控存控存中:實驗步驟MOV A,Ri 0007H 3724E007 0008H 00257004MOV Ri,A 000FH 2120E007 0010H 00257004ADD A,Ri 0027H 0704E007 0028H 00257004SUB A,Ri 002FH 1704E007 0030H 00257004MOV A,data8 0037H 0725F005 0038H 00257004MOV Ri,data8 003FH 0121F005 0040H 00257004LDA addr 0047H 0125D005 0048H 0125B005 0049H 0725E085 004AH 0

溫馨提示

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

評論

0/150

提交評論