《计算机组成原理》实验报告——TEC-2实验系统——微程序控制器实验
| 實驗名稱: TEC-2機微程序控制器實驗 | 實驗地點:10-413 |
| 一.實驗目的 比較深入透徹地學懂計算機各種指令的執行過程,以及控制器的組成、設計的具體知識。理解動態微程序設計的概念。 ? | |
| 二.實驗原理 1、TEC?-2機的控制器部件的關鍵內容包括: (1)?7片LS6116RAM組成的56位字長的微程序控制存儲器 (2)?微指令寄存器PLR,由7片8位的寄存器芯片(6片LS374和1片LS273) (3)?微程序定序器AM2910芯片 (4)?程序計數器PC和當前指令地址記憶寄存器IP (5)?指令寄存器IR (6)?AM2910輸入的配套線路,包括:
(7)?AM2910輸出的配套電路,包括:
(8)?2片LS2716ROM組成的固化微碼保存電路和讀寫控制電路 TEC-2機支持64條基本機器指令,已實現53條指令,保存在2片ROM芯片中。2片ROM組成一個2K-16位固定存儲器,每4個相鄰的字存放一條56字長的微指令,最高8位未用,用0填充。 每條微指令由56位組成,具體如圖: 18位微碼用于控制與給出每條微指令的下地址,供控制器使用,其中: B55-B46的10位微碼是下址字段;B45、B44備用;B43-40為CI3-0;B39-37、B36分別為3為SCC和一位SC。 提供給運算器的控制信號共26位,包括: A口地址、B口地址與對應地址選擇控制信號SA、SB供10位; 3組3位的AM2910控制信號MI8-6、MI5-3、MI2-0共9位; 控制標志寄存器寫入SST、最低位控制信號SCi、移位信號形成SSH三個字段共7位。 最后三位微碼/MI0、REQ和/WE控制內存的讀寫、外設接口的讀寫與微碼的裝入。 2、TEC-2機微程序設計說明 (1)寫出要實現新指令的格式與功能。包括尋址方式、地址、字長,設計該指令的微操作執行步驟。 (2)確定對應的微指令字各字段的編碼。 (3)選擇操作碼(OP碼)和微程序入口地址時查看附錄1各條指令的操作碼及微程序入口地址表格。 (4)不對存儲器和IO端口操作時,MIO、REQ、/WE的編碼為10X。 (5)裝入微碼程序,使用特殊命令LDMC時,要求: R1為微程序在內存中的始地址; R2為微程序指令長度; R3為微程序在控存中的入口地址。 3、裝入微指令到控制存儲器的兩種操作方法。 (1)在程序中用LDMC指令裝入微指令 具體方法見實驗步驟,本實驗用這種方法。 (2) 通過水平板_上開關手工撥入 此種方法不作要求,只作參考。 | |
| 三.實驗內容: 選定指令操作碼,指令格式,設計一條指令,其功能是把用絕對地址表示的內存單元 A中的內容與內存單元B中的內容相加,結果存放在B單元中。 1、通過以下實例熟悉微指令的裝入、新指令的運行及測試。 例:用絕對地址表示的內存單元ADDR1的內容與內存單元ADDR2中的內容相加,結果存放到內存單元ADDR2中。 確定指令格式: ⑴ 編寫微程序 PC→AR,PC+1→PC; ?0000 0E00 A0B5 5402 MEM→AR; ??????????0000 0E00 10F0 0002 MEM→Q; ???????????0000 0E00 00F0 0000 PC→AR,PC+1→PC; ?0000 0E00 A0B5 5402 MEM→AR; ?????????0000 0E00 10F0 0002 MEM+Q→Q; ????????0000 ?0E01 00E0 0000 Q→MEM,CC#=0;0029 0300 1020 0010 ⑵ 啟動TEC-2機,進入監控程序狀態,輸入微程序到內存中。寫入微碼時,每條微指 令的前8位補全0,補齊64位。 ① 用“E”命令將微碼寫入內存, 本例寫入0900H開始的內存區域。 >E900↙ 屏幕顯示:(每個數值間空格鍵隔開,回車鍵結束。) 0900:? 0000? 0E00? A0B5 ?5402? ?0000 0E00? 10F0? 0002? 0000? ?0E00 00F0? 0000? 0000? 0E00 ??A0B5 5402? 0000? 0E00? 10F0? ?0002 0000? 0E01? 00E0? 0000? ?0029 0300? 1020? 0010↙ ② 用“D”命令檢查寫入是否正確 >D900↙ 屏幕顯示: 0900 0000? 0E00? A0B5 ?5402? 0000? 0E00? 10F0? 0002 0908 0000? 0E00? 00F0? 0000? 0000?? 0E00? A0B5 5402 0910 0000? 0E00? 10F0? 0002? 0000?? 0E01? 00E0 0000 0918 0029? 0300? 1020?? 0010 ?┉ ⑶ 裝入微碼 將內存存放的微程序裝入到控制存儲器中,由專用指令LDMC完成。 ① 用“A”命令輸入用于裝入微程序的匯編程序 >A800↙ 0800:MOV???? Rl,900?? ;900:微碼在內存的起始地址 MOV ????R2,7 ;7:微程序長度 MOV ????R3,100?? ;100:微程序在控存的起始地址(為什么是“100”) LDMC??? ;裝入微碼指令 RET ② 用“G”運行上述程序 >G800↙ 執行后,微碼便裝入到起始地址為0100H的微程序控制存儲器中 ⑷ 輸入驗證程序,運行新指令 ① 用“A”命令輸入程序 >A820 0820:MOV???? R0,0023 MOV???? [A00],R0 MOV???? [A01],R0 0826:NOP NOP NOP 0829:RET ② 用“E”命令將 NOP填充位置改為新指令碼 >E826↙ 屏幕顯示: 0826: 之后輸入: D400 0A00 0A01↙ ③ 用“U”命令查看輸入的程序 >U820↙ 屏幕顯示: 0820: 2C00 0023 ??MOV ??R0,0023 0822: 3400 0A00 ??MOV?? [0A00],R0 0824: 3400 0A01 ??MOV?? [0A01],R0 0826: D400 ??????DW ????D400 0827: 0A00 ??????ADC ???R0,R0 0828: 0A01 ??????ADC R0,R1 0829: AC00 ??????RET ┇ ④ 用“G”命令執行驗證程序 >G820↙ ⑸ 觀察運算結果 由“D”命令檢查? 0A00、0A01單元內容 >DA00↙ 屏幕顯示: 0A00 0023 0046┉ 0A01單元內容為? 0046,結果正確。 | |
| 四.? 實驗器材 1.??? TEC-2機一臺,電腦一臺 2.??? TEC-2模擬軟件一套 | |
| 五.? 實驗結果分析 一、將微碼輸入到由900H開始的內存單元中 (一)用“E”命令輸入微碼 (二)用“D”命令查看輸入的微碼 ?????? 二、將微碼加載到微控存中 (一)用“A”命令輸入加載微碼的程序 (二)用“G”命令運行加載微碼的程序 三、輸入程序,運行新指令 (一)用“A”命令輸入程序 (二)用“E”命令輸入新指令 (三)用“U”命令查看輸入的程序 (四)用“G”命令運行程序 四、觀察運算結果 用“D”命令查看運行結果 ? ??????????????????????????? ? ? | |
| 六.? 實驗心得 本次實驗中,我跟著書上的步驟,在TEC-2機仿真軟件中學習了如何設計一條機器指令,設計所需的微指令與如何裝入微碼,運行自己編寫的指令。我學習了如何利用E命令在主存中寫入微指令,然后使用A命令編寫裝入微碼的程序,并執行程序裝入微碼。裝入微碼后,又學習了如何編寫程序和指令,完成自己規定的操作。在本次實驗的操作中,我比較深入透徹地學懂計算機各種指令的執行過程,以及控制器的組成、設計的具體知識。理解動態微程序設計的概念。 ? ? | |
參考文章
https://wenku.baidu.com/view/d234b70dba1aa8114431d9e6.html
總結
以上是生活随笔為你收集整理的《计算机组成原理》实验报告——TEC-2实验系统——微程序控制器实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript + Thymele
- 下一篇: java信息管理系统总结_java实现科