《计算机组成原理》实验报告——TEC-2实验系统——运算器实验
| 實驗名稱: TEC-2實驗計算機運算器實驗 | 實驗地點:10-413 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 一.實驗目的 1.???? 了解和掌握Am2901運算器的組成結構和工作原理; 2.???? 認識和掌握TEC-2機運算器的組成和工作原理; 3.??? 認識和掌握TEC-2機運算器相關控制信號的含義和使用方法; ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 二.實驗原理 Am2901運算器 1.Am2901 芯片內部組成結構 AM2901 芯片是一個4位的位片結構的運算器部件,是一個完整的運算器,只是位數較少,具有很好的典型性,是個理想的教學實例。其內部組成結構如下圖所示: ? ①。4 位的ALU,實現實種運算功能,其每一位上的2個輸入端數據分別用R和S表示,則這8種功能是R+S,S-R,R-S 3種算術運算和R S, R S, /R S, R S,/(R S)5咱邏輯運算,這8種功能的選擇控制,是用外部送入的3位編碼值I5—I3實現的。ALU還能給出CN+4,F,OVR和F = 0000 4位狀態信息,并能接收最低位的一個進位輸入信號CN。ALU還給出了超前進位信號/G和/P。 ? ②。16個4位的通用寄存器組,用R0-R15表示,和1個4位的Q寄存器。通用寄存器組為雙端口讀出(用A地址與B地址選取擇每個寄存器)和單端口(用B地址選取擇)控制寫入的運行方式,而且運算后的結果經一個移位器實現寫入(左移,不移,右移)。Q寄存器本身具有左移,右移功能且能接收ALU的運算結果,左右移位時,就有移出,移入信號RAM3,RAM0,Q3,Q0, 4個入號,它們都通過具有雙向傳送功能的三態門實現的。 ? ③。該芯片能接收外部送入的4位數據D3-D0,并輸出奇制勝們的數據Y3-Y0。Y3-Y0可以是通用寄存器A端口上的輸出或ALU的運算結果F,并還受輸出允許控制信號/OE的控制,僅在/OE為低時,Y3-Y0才有輸出,否則處于高阻態。 ④。從圖上可以看到,ALU的兩個輸入端R和S分別可以接收D輸入,A端口或邏輯0數據,和A端口,B端口,Q寄存器或邏輯0數據,Am2901器件只選取用了它們可能的全部12種組合中的8種,即A-Q,A-B,0-Q,0-B,0-A,D-A,D-Q,和D-0這8種,并用外部送來的3位控制碼I2-I0來選擇這是種組合。 ⑤。Am2901還采用另外來貨位外部送來的控制信號I8-I6,一是選擇向外部送出的數據的來源(A口數據還是ALU運算結果),二是選擇其內部的通用寄存器組和Q寄存器接收不接收和如何接收數據庫寫入(左移,右移,直送)。 ⑥。通用寄存器組通過A端口,B端口讀出內容的輸出處均有鎖存器線路支持,以保證在執行諸如A+B結果送B運算時操作的正確性。 ? 3.2.3Am2901芯片的控制信號及其控制碼與操作 Am2901芯片的控制信號有9個,即I8-I0,這回個控制信號分成三組,它們是: 這三組控制信號與相應控制碼的關系如下表: 表3.1 Am2901 9個控制信號I8~I0
注:R、S中的“0”為邏輯0。 ? 3.2.4:TEC-2機運算器 一:TEC-2機運算器主體結構 4片間的連接關系是: (1)16位的數據 輸入由4片各自的D3-D0組成,其位序號人高位芯片向低位芯片順序排成D15-D0 (2)16位的數據 輸出由4片各自的Y3-Y0組成,其位序號人高位芯片向低位芯片順序排成Y15-Y0. (3)有高低位進位關系的3組信號,在高低位相鄰芯片間連接關系是: ①:高位芯片的RAM0與低位芯片的RAM3相連 ②:高位芯片的Q0與低位芯片的Q3相連 ③:在串行進位方式下,高位芯片的Cn與低位芯片的Cn+4相連;若選用AM2902芯片(與74LS182芯片功能相同,兩者可以互換使用)實現并行進位,則低位的3個芯片的并行進位信號/G和/P應送往Am2902的相并沒有管腳,并將各自對應的片間進位輸出信號送入相鄰高位芯片Am2901的Cn管腳。同時支持串,并行丙種方式,有利于教學實驗中方便地觀察與測量每種進位方式的進位延遲時間。 此時,最低位芯片的RAM0與Q0是該16位的運算器的最低位的移入/出信號,最高位芯片的RAM3與Q3是運算器最高位的移入/出信號,均需有另外的邏輯電路與之連接,最低位的Cn是整個運算器的最低位進位輸入信號。最高位的CN+4是16位完整運算器的進位輸出信號。 ??? 同理,只有最高們芯片的F3和OVR有意義,低位的3個芯片的F3和OVR不被使用, ??? 4個芯片的F=0000管腳連接在一起,并經一個電阻接到+5V電源,已得到16位的ALU的運算結果為“0”的標志位信號。 (4):其它的幾組輸入信號,支4片Am2901器件來說應有相同的值,包括/OE(控制選 通Y的輸出),A地址,B地址,I8-80(控制Am2901的運算功能,數據來源,結果的處置)和工作脈沖CP,故應將4個芯片的這些的各對應管腳連接在一起. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?微指令中三位微碼(SST)與標志位的關系 ? 三位微碼與這8種處理的對應關系,已用表格形式給出。 本器件共用了4個輸出端,即引用17.18.19.20分別組出CZVS4個標志位的值,并采用寄存器型邏輯記憶本次操作結果,此時每個輸出引腳的表達式必須用C:=…的形式定義,且引腳的時鐘脈沖信號必須引入。引腳13的/OE信號接地,表示輸出信號是不被禁止的。 本器件共有14個輸入信號,分別人引腳2-11,引腳14,引腳21-23送入,信號名字已給了央Gal20v8的描碠信息中。這些輸入如何決定每一個輸出位的結果,以邏輯表達式形式組出在每一個輸出位的定義中。描述表中每行最右側在分號之后給出的是注釋內容。 ? 表3.2三位微碼與狀態位的關系表
? 二:運算器最低位進位信號的給出與控制(SCi) 運算器最低位的進位信號Cin,可能為0.1.C標志的值 ,為了調試與實驗的方便,有時可送入一個連續的進位方波信號,當認運算器執行16位全1與這個最低閏的進位方波信號相加時,則加法器每一位的輸出結果均為方波,有利于觀察與調試. 表3.3
? 三:運算器最高位,最低位的移入信號(SSH) 移入通用寄存器中的移入信號RAM15和RAM0,以及乘商寄存器中的移入信號Q15和Q0.左移時,向RAM0,或RAM0與Q0移入數據,右移時,向RAM15,或RAM15與Q15移入數據,我們把5條移位指令和剩除法計算中的聯合移位都考慮進去,可以歸納出如下4種結果,并用兩位微碼SSH區分它們。 ? 表3.4
說明: ? 表中“X”為任意值,表示取任意值都不受影響 ? 當通用寄存器本身移位時,Q寄存器不受影響 ? 乘除法運算要求通用寄存器與Q寄存器聯合移位,沒有Q寄存器單獨移位功能 ? 左右移是由指令功能確定的 ? SSH為0,用于邏輯移位指令 為1,用于循環移位指令 為2,用于乘除法運算的聯合移位及上商 為3,用于算術右移指令,或補碼乘法計算 ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 三.實驗內容: 脫機和聯機時運算器實驗 在脫機與聯機兩種方式下,可以用一些數據實現多種運算,以控制其操作過程與功能 檢查所得結果的正確性。 (一) 脫機方式 1.??? 將TEC-2機功能開關FS4置為“1”。 2.??? 將TEC-2機主脈沖置為單步方式,即將STEP/CONT開關撥向STEP一邊。 3.??? 用D0+0→R0將立即數D0(A000H)置入寄存器R0(0000)。具體的微型開關和數據開關按下表進行設置: 波特率開關?? 數據開關 SW2(共12位,最末三位未用)???? SW1(共12位) MI876??? MI543??? MI210??? 未用?????? A口 B口(R0)?? SCi? SSH D15-D0 011? 000? 111? 000? 0000?????? 0000?????? 00?? 00?? A000H 設置好各控制信號(MI8-MI0),并設置好十六位數據開關為“A000H”,即“1010 0000 0000 0000”后,按壓一次STEP鍵,將立即數D0置入寄存器R0中。 ? 4.??? 用D1+0→R1將立即數D1(4000H)置入寄存器R1(0001)。具體的微型開關和數據開關按下表進行設置: 波特率開關?? 數據開關 SW2(共12位,最末三位未用)???? SW1(共12位) MI876??? MI543??? MI210??? 未用?????? A口 B口(R1)?? SCi? SSH D15-D0 011? 000? 111? 000? 0000?????? 0001?????? 00?? 00?? 4000H 用同樣的方法將立即數D1置入寄存器R1中。 5.??? 對寄存器R0、R1初始化后,便可對R0和R1進行各種算術、邏輯運算,此時R0保存的數據為D0(A000H),R1保存的數據為D1(4000H)。 6.??? 將開關S2 S1 S0置于“110”時,指示燈將顯示ALU的運算結果;將開關S2 S1 S0置于“000”時,指示燈將顯示SVZC的狀態,對應TEC-2機上H25 = S,H26 = V,H27 = Z,H28 = C。 ? 7.??? 對R0和R1進行各種算術、邏輯運算。 ? (二) 聯機方式 啟動TEC-2機,進入監控程序狀態:具體操作如下: ? 1.??? 將TEC-2機的FS1~FS4置為1010,STEP/CONT置成CONT。 2.??? 打開計算機電源開關,使計算機正常啟動。打開TEC-2電源開關,TEC-2大板左上角一排指示燈亮。 3.??? 運行通訊程序PCEC,在DOS下命令提示(按默認設置:選擇1,N)。聯機后,進入聯機狀態,用A命令輸入下列程序:(ENTER表示) >A800 ENTER MOV???? R0,A000 MOV???? R1,4000 ADD???? R0, R1 SUB???? R0,R1 OR????? R0,R1 AND???? R0,R1 XOR???? RO, R1 ADC???? R0, R1 SHL??? RO INC??? RO? RET4.??? 用“G”命令運行程序 在命令行提示符狀態下輸入: > G800 執行上面輸入的程序 5.??? 用“R”命令觀察運行結果及狀態 在命令行提示符狀態下輸入: >R 觀察運行結果及狀態 屏幕將顯示: R0=8001? R1=4000…… 6.??? 用“T”或“P”命令單步執行 在命令行提示符狀態下輸入: >T 或 >P 執行之后,觀察運行結果及狀態。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 四.? 實驗器材 1.??? TEC-2機一臺,電腦一臺 2.??? TEC-2模擬軟件一套 ? ? ????????????????????????????????????????? ?????? ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 五.? 實驗分析與設計 1.??? 脫機實驗 ? 2.??? 聯機實驗 MOV???? R0,A000 MOV???? R1,4000 ADD???? R0, R1 SUB???? R0,R1 OR????? R0,R1 AND???? R0,R1 RET?????? MOV???? R0,A000 MOV???? R1,4000 ADD???? R0, R1 SUB???? R0,R1 OR????? R0,R1 AND???? R0,R1 XOR???? RO, R1 ADC???? R0, R1 SHL??? RO INC??? RO? RET | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 六.? 思考題 在脫機方式下進行運算器實驗時,在按STEP鍵之前和按STEP鍵之后,ALU的輸出結果及狀態SVZC有何不同,為什么?根據Am2901運算器的組成結構及其工作原理加以說明。 答: (1)設置好相應微碼和AB口地址之后,立即輸出該運算功能的運算結果,此時ALU也已經得到SVZC的值,但并沒有傳給標志寄存器。按STEP之后,ALU的輸出結果則為運算器再做一次運算的結果,這時SVZC所顯示的值則為上一步標志位寄存器的值。 (2)根據Am2901運算器的組成結構可以知道,ALU是一個組合邏輯電路,設置A、B相應的值之后,相應的數據便會立即被傳送到ALU中進行相應的運算,并且顯示出對應的運算結果也會被存在存儲器里面。按下STEP之后,在脈沖的作用下,. 上一步的運算結果也會被存在寄存器里面,但控制碼和地址沒有改變,所以上一步的運算結果會重新被送到ALU中進行運算,此時ALU的結果為一步運算結果再進行一次運算的數據。 SVZC存儲在狀態標志寄存器中,其值的改變需要有脈沖信號的作用才能改變,所以在按STEP之前,SVZC的值不變,按下STEP之后,SVZC顯示的值才是上一步標志位的狀態值。?????? ????????????????????????????????????????? ? ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 七.? 實驗心得 1.??? 了解和掌握Am2901運算器的組成結構和工作原理; 2.??? 認識和掌握TEC-2機運算器的組成和工作原理; 3.??? 認識和掌握TEC-2機運算器相關控制信號的含義和使用方法; ? ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
總結
以上是生活随笔為你收集整理的《计算机组成原理》实验报告——TEC-2实验系统——运算器实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《IBM-PC汇编语言程序设计》(第2版
- 下一篇: Thymeleaf——使用模板动态生成J