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

下載本文檔

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

文檔簡介

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在學(xué)習(xí)過計算機組成之后,需要通過實驗的實踐部分了解計算機的各硬件部分的工作原理,諸如:運算器的工作原理,存儲器的工作原理,串口等外設(shè)的工作原理,CPU的兩種控制邏輯(硬布線控制邏輯和微程序控制邏輯)l通過實驗實現(xiàn):l加深對理論的理解l提高實踐的能力4教學(xué)目標(biāo)l通過實驗更加深

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

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

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

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

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

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

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

9、的控制信號;而微操作是微命令控制的操作過程。21實驗原理實驗原理微指令定義微指令定義 微指令:微指令:微指令就是若干微命令的組合常將要在同一節(jié)拍內(nèi)執(zhí)行的微操作所對應(yīng)的微命令組合在一條微指令中。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(帶加法進(jìn)位)(帶加法進(jìn)位)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: 進(jìn)位位進(jìn)位位lX1X1、X0X0: 累加器累加器A A功能選擇功能選擇 X1 X0 X1 X0 累加器累加器A A功能功能l 1 1 1 1 累加器累加器A A允許接數(shù)允許接數(shù)l 0 1 0 1 累加器累加器A A右移操作右移操作l 1 0 1 0 累加器累加器A A左移操作左移操作lCGCG: 暫存器接數(shù)允許。暫存器接數(shù)允許。lCP CP 進(jìn)位位進(jìn)位位CYCY接數(shù)允許。接數(shù)允許。lWRE WRE 寄存器寫入允許。寄

11、存器寫入允許。24控制信號lOBOB: ALUALU輸出允許輸出允許lGIGI: 指令寄存器指令寄存器IRIR接數(shù)允許。接數(shù)允許。lGA1GA1: 低位地址寄存器接數(shù)允許。低位地址寄存器接數(shù)允許。lGA2GA2: 高位地址寄存器接數(shù)允許。高位地址寄存器接數(shù)允許。lPINCPINC: PCPC加加1 1信號。信號。lPL2PL2、1 1、0 0:PCPC接數(shù)控制,接數(shù)控制,PL2 PL1 PL0PL2 PL1 PL0 操作操作l 0 00 0 1 CY 1 CYl 0 1 0 1 0 0 必轉(zhuǎn)必轉(zhuǎn)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: 地址多路開關(guān)選擇l 0:PC送至地址總線ABl 1:ADR送至地址總線ABlCWR:寫存儲器lCRD: 讀存儲器lMPLD: MPC接數(shù)允許。l圖中的寄存器選擇信號(圖中的寄存器選擇信號(RCRC、RBRB、RARA)應(yīng)直接)應(yīng)直接來自指令碼(來自指令碼(I2I2、I1I1、I0I0)。以上的各個微操)。以上的各個微操作信號,除了已標(biāo)明的,可統(tǒng)一取為作信號,除了已標(biāo)明的,可統(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實驗原理實驗原理-微地址實現(xiàn)方法微地址實現(xiàn)方法l本實驗計算機控存為K,地址線寬度28實驗原理實驗原理-微地址實現(xiàn)方法實例

15、微地址實現(xiàn)方法實例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,表示鍵盤無數(shù)據(jù)輸入。按下0F任一鍵后,數(shù)據(jù)打入鍵盤數(shù)據(jù)緩沖器中(高4位為0),并置位KRIX,表示有鍵輸入。CPU發(fā)出IOR信號,把數(shù)據(jù)讀至數(shù)據(jù)總線的低8位,并清零KRIX。注意,這時如設(shè)新鍵盤數(shù)據(jù)輸入,鍵盤數(shù)據(jù)緩沖器數(shù)據(jù)不變。 有鍵輸入鍵盤8 鍵盤 數(shù)據(jù)緩沖器DB70KRIXSRQIOR圖2-4 鍵盤等效框圖33打印機工作原理l打印機工作原理圖打印機工作原理圖PRIX打印完成

19、打印啟動打印機 數(shù)據(jù)緩沖器DB70打印機SRQIOW圖2-5 打印機等效框圖初始狀態(tài),PRIX為1,允許打印。在需要輸出數(shù)據(jù)打印時,IOW發(fā)一個寫脈沖(低有效),把數(shù)據(jù)總線低8位(DB70)上的數(shù)據(jù)打入打印機數(shù)據(jù)緩沖器中,并啟動打印機從緩沖器取出數(shù)據(jù)開始打印,同時使PRIX=0(這時不允許再向打印機輸出數(shù)據(jù))。打印完成后,打印機狀態(tài)PRIX置1,CPU可再次向打印機輸出數(shù)據(jù)。34打印機工作原理字輪l 打印機共有三個字輪三個字輪,右邊兩個字輪為字符和符號,左邊一個字符為數(shù)字。下表給出這三個字符的字符編碼: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打印機開始位置在最右邊。打印時,從右到左,打印機開始位置在最右邊。打印時,從右到左,先打印一個右邊字輪的字符,第二個中輪的字先打印一個右邊字輪的字符,第二個中輪的字符,以后打印的均為左輪的字符。符,以后打印的均為左輪的字符。打印的編碼見上表。如輸出的數(shù)據(jù)的高如輸出的數(shù)據(jù)的高4 4位不等于位不等于0 0,則在,則在打印完低打印完低4 4位的數(shù)字后自動回車換行(這也是使位的數(shù)字后自動回車換行(

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

22、A 8001Hl MOV R6,A 輸入第二操作數(shù)給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 打印第一操作數(shù)后回車換行l(wèi) l MOV A,#9l STA 8002H37匯編程序?qū)嵗齦L5:l JPBL5 打印= l MOV A,#0AHl STA8002HlL6:l JPBL6 打印空格l MOV A,#10Hl ADD A,R6l STA8002HlL7:l JPBL7 打印第二操作數(shù)后回

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 將兩數(shù)相加,再進(jìn)行減10處理l JCOVER 判斷結(jié)果是否大于10,是跳轉(zhuǎn)到OVER,否順序執(zhí)行l(wèi) STA8002H38匯編程序?qū)嵗齦L10:l JPBL10 打印個位l MOVA,#11HlOUT:l STA8002HlL11:l JPBL11 打印十位l JMPSTRTlOVER:l ADDA,R0l MOVR1,#10Hl ADDA,R1l JMPOUT

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

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

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

27、為8位。按下確定確定后計算機與實驗儀進(jìn)行連接,讀取微程序存儲器以及RAM中的數(shù)據(jù)在數(shù)據(jù)區(qū)顯示。l按每條匯編指令匯編指令所對應(yīng)的微地址微地址,將微程序微程序輸入到控存控存中:實驗步驟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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論