實驗二運算器實驗

2022-10-11 16:24:05 字數 3650 閱讀 1865

南京工程學院

計算機工程學院

計算機組成與結構實驗報告書

實驗學生班級 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...