《計算機組成原理》實驗報告——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輸入的配套線路,包括:

  • 兩片LS2716ROM組成的MAPROM
  • 1片LS125和1片LS244組成的接收內部總線IB9-0選擇門電路
  • 1片LS125和微指令寄存器PLR55-48組成的地址輸入

(7) AM2910輸出的配套電路,包括:

  • 1片LS175和1片LS374寄存器組構成的記憶電路
  • 3片LS257芯片構成的微控存地址選擇形成電路
  • 3片計數器芯片LS161組成的地址計數器電路

(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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章