南京工程學院
計算機工程學院
計算機組成與結構實驗報告書
實驗學生班級 k網路工程121
實驗學生姓名王雲峰
學號 240121525
實驗地點資訊樓a115
同組同學李翔240121515(合作小組朱賽傑240121533)實驗日期 11月27日
實驗儀器號
一、 實驗目的
1. 加深對am2901運算器內部組成的了解, 掌握四片am2901晶元間的連線關係, 以及它與有關外部邏輯電路的連線關係。
2. 準確把握該運算器的控制與使用, 即掌握其運算與操作功能, 以及正確地為其提供全部控制訊號及有關資料的手段與技術。
3. 初步了解運算器在計算機整機中的作用。
二、 實驗內容
1. 離線方式下運算器的控制及執行
設計控制訊號序列,在離線方式實現給定程式段的功能。記錄按壓start前後的alu的運算結果和狀態標誌。
2. 聯機方式下運算器的控制及執行
在聯機方式下,彙編並單步執行給定程式段,檢視並記錄每條指令執行後的執行結果。使用指令的單步驟執行方式,觀察與運算器相關的控制訊號的狀態。
三、實驗步驟與結果
離線的運算器實驗,在教學實驗中實現如下7項操作功能:
預期功能實現方案
r0 ←1234 資料開關撥1234,b位址給0,d+0,結果送b口選的r0
r9 ←789f 資料開關撥789f,b位址給9,d+0,結果送b口選的r9
r9 ←r9-r0 b位址9,a位址給0,最低位進製給1,b-a,結果送b口選的r9
r0 ←r0+1 b位址給0,最低位進製給1,b+0,結果送b口選的r0
r10←r0b位址給a,a位址給0,a+0,結果送b口選的r10
邏輯右移
在有了預期功能和實現方案之後,要解決的具體問題,就是依據教學計算機的簡明操作卡中的有關**中規定的內容,找出實現每一操作功能要用到的控制碼。請把表2-3中各組控制訊號的正確的取值填寫在相應位置,然後把執行結果的狀態資訊填入表2-4。
思考題:執行r0+1時,為什麼輸出y15-y0為1234,而不是1235?
左右移位時,是通用暫存器本身移位,還是它與q暫存器聯合移位是怎麼區分的?
最高、最低位的移位輸入訊號是怎麼給出的?c在移位中有什麼作用?
聯機的運算器實驗,改用教學計算機的指令實現上述離線運算器實驗完成的功能。需要指出的是不能在教學機的已有指令中實現q←r9 的處理功能,因為運算器內部的乘商暫存器q屬於彙編程式設計師是不能訪問的專用暫存器,只需完成剩餘的其他6項功能即可。例如可以用a命令建立該程式,操作步驟如下。
a 2000
2000: mvrd r0, 1234
2002: mvrd r9, 789f
2004: sub r9, r0
2005: inc r0
2006: mvrr r10,r0
2007: shr r9
2008: ret
可以用g命令執行這個程式,檢視程式的最終執行結果為:
r0的內容為1235,r9的內容為3335,r10的內容為1235。
也可以用t命令在單指令方式下執行這個程式,檢視程式的每個語句執行後的執行結果為:
第1條指令執行後,r0 的內容為1234;
第2條指令執行後,r9 的內容為789f;
第3條指令執行後,r9 的內容為666b;
第4條指令執行後,r0 的內容為1235;
第5條指令執行後,r10的內容為1235;
第6條指令執行後,r10的內容為3335,並且標誌位c的值為1;
這個程式的最後乙個語句用於結束程式的執行過程,使教學計算機返回監控狀態。
也可以用指令的單步驟執行方式執行這個程式,此時需要把上述程式的最後乙個語句從ret修改為jr 2000,再用g命令執行這個程式時,這個程式將進入無休止的迴圈執行狀態,以便有機會進入指令的單步驟執行方式。具體辦法是,在這個程式處於迴圈執行的過程中,把教學機的5個功能選擇開關中最左面的乙個(step/continue)從朝下撥為朝上的方向,使教學計算機從正常執行進入指令的單步驟執行方式。此時,教學機可能處於上述7條指令的任何一條指令的任何乙個執行步驟,此時可以通過檢視指令暫存器的內容了解正在執行的是哪一條指令,檢視當前微指令位址(執行微程式控制器)或者節拍發生器的狀態(執行組合邏輯控制器)了解正在執行的是相關指令哪乙個執行步驟,檢視提供給運算器的23位控制訊號的狀態和運算器的執行結果,上述6條指令都一定有乙個執行步驟實現的功能、使用的控制訊號的狀態與離線運算器實驗中的乙個相關步驟相對應。
這之後每按一次啟動按鈕,教學機將執行指令的乙個步驟;前一條指令執行結束後將自動進入下一條指令的執行過程,可以執行到程式中的每一條指令的每乙個執行步驟,同學可以觀察自己感興趣的全部有關結果和控制訊號的狀態。當然在這個執行過程中遇到的許多問題和相關知識目前尚未講解,會存在許多的疑問,這正好為後續的學習提供了某些線索。此時同學應該把主要注意力放到上述6條指令執行過程中的、與離線運算器實驗中的乙個相關步驟相對應的那個執行步驟,檢視運算器的執行結果和送到運算器的23位控制訊號,找出兩種實驗方式(離線與聯機)下運算器執行的相同結果,差異只是控制訊號的提供方發生了變化,離線方式下是通過24位的微型開關中的23位為運算器提供控制訊號,聯機方式下則是通過教學機的控制器為運算器提供這23位的控制訊號。
四、實驗分析與思考
1. 說明在離線方式下運算器的資料**、三組控制訊號及a、b埠的位址**。
①運算器的資料**於16位資料的撥動開關(儀器的右下角的那16個黑色的開關)
②三組控制訊號**:用24位微型開關來提供控制訊號
③ab埠位址:送給am2901器件用於選擇源與目的運算元的暫存器編號
關於上面的三個問題的敘述的**:
2. 說明在聯機方式下運算器的三組控制訊號及a、b埠的位址**。
此時可以通過pc機的輸入各種指令來提供資料了
三組控制訊號,由控制器來提供。
a,b埠位址應該還是運算元的暫存器位址吧
3. 理解alu輸出及svzc狀態在按壓start鍵前後的變化。
① alu輸出的東西是計算的結果,按start鍵之後,暫存器接收到了alu計算結果,以進行接下來的操作。
②svzc狀態在按壓start鍵前後的變化的理解:
c進製標誌(進製變1)例如本次實驗:
z是否為0(本次實驗皆為0)
v溢位標誌(本次實驗未有溢位)
s符號標誌
4.說明運算器與有關外部邏輯電路的連線關係及其控制字段。
所示。主體部分由4片4位長度的位片結構的運算器晶元am2901組成,每片am2901可以接收來自內部匯流排ib的4位輸入資料,其4位輸出都直接送到位址暫存器ar的不同字段(ar不屬於運算器的組成部分,圖中用虛線框表示),並且經過支援三態功能的開關門電路送到內部匯流排ib。還要使用mach晶元內部的部分電路提供alu最低位的進製輸入訊號和最高、最低位的移位輸入訊號,使用一片gal20v8實現4位的標誌位暫存器flag,接收alu輸出的4個標誌位訊號和來自記憶體堆疊區的4位資料(用於恢復現場狀態資訊),flag的4位輸出可以經過一片帶支援三態功能的開關門電路送到內部匯流排ib,用於儲存現場狀態資訊到堆疊區。
i8-6:y的輸出,通用暫存器接收,q暫存器接收
i5-3:運算功能選擇
i2-0:資料組合選擇狀態
sst:暫存器接收
sci:最低進製
ssh:移位控制
各個控制欄位的功能表即:
五、教師評閱
實驗四移位運算器實驗
一 實驗目的 驗證移位控制器的組合功能。二 實驗內容 1 實驗原理 移位運算實驗原理如圖4 1所示,本實驗使用一片74ls299 u34 作為移位發生器,其八位輸入 輸出端引到8芯排座aluo2,實驗時用8芯排線連至資料匯流排插座bus4。299b 訊號由開關299b提供,控制其使能端,t4為其時鐘...
運算器實驗報告
2.2 運算器實驗 實驗要求 利用cpth 實驗儀的k16.k23 開關做為dbus 資料,其它開關做為控制訊號,將資料寫累加器a和工作暫存器w,並用開關控制alu的運算方式,實現運算器的功能。實驗目的 了解模型機中算術 邏輯運算單元的控制方法。實驗電路 cpth 中的運算器由一片cpld實現,有8...
實驗一運算器組成
一 實驗目的 1.在理解有關運算器基本知識的基礎上,掌握運算器的基本組成和工作原理。2.熟悉算術 邏輯運算單元 alu 的工作原理,掌握四位alu 74ls181 晶元運算功能和具體操作。3.熟悉本實驗中運算器的資料傳輸裝置。二 實驗裝置 四位運算器晶元74181 2片 三態門74ls2442片 8...