【計算機組成原理】實驗5:運算器實驗


實驗內容

一、實驗原理

實驗中所用的運算器數據通路如下圖所示。ALU運算器由CPLD描述。運算器的輸出經過2片74LS245三態門與數據總線相連,2個運算寄存器AX、BX的數據輸入端分別由4個74LS374鎖存器鎖存,鎖存器的輸入端與數據總線相連。准雙向I/O輸入輸出端口用來給出參與運算的數據,經2片74LS245三態門與數據總線相連。

image

在上圖中,AXW、BXW在“搭接態”由實驗連接對應的二進制開關控制,“0”有效,通過【單拍】按鈕產生的負脈沖把總線上的數據打入,實現AXW、BXW寫入操作。

二、運算器功能編碼

ALU運算器編碼表

image

三、實驗連線

K23~K0置“1”,滅M23~M0控位顯示燈。然后按下表要求“搭接”部件控制電路。

image

實驗1:算術運算

1. 字算術運算

(1) 字寫操作

通過I/O單元“S15~S0”開關向累加器AX和暫存器BX置數,操作步驟如下:

image

image

(2) 字讀操作

關閉AX、BX寫使能,令K18=K17=“1”,按下流程分別讀AX、BX。Dbus:1122h;3344h

image

image image

(3) 字加法與減法運算

令M S2 S1 S0(K15 K13~K11=0100),FUN及總線單元顯示AX+BX的結果。4466

令M S2 S1 S0(K15 K13~K11=0101),FUN及總線單元顯示AX-BX的結果。ddde

image image

2. 字節算術運算

(1) 偶字節寫(置數操作)k23-k0=1

通過I/O單元“S15~S0”開關向累加器AL(L:low低位)和暫存器BL置數,具體操作步驟如下:置0022h和0044h ax和bx顯示

image

image image

(2) 偶字節讀操作(運算寄存器AL和BL內容送總線)

關閉AL、BL寫使能,令K18=K17=1,按下流程分別讀AL、BL。

image

image

(3) 字節減法算術運算(不帶進位加)

令M S2 S1 S0(K15 K13~K11=0100),FUN單元顯示AL+BL的結果。0066

令M S2 S1 S0(K15 K13~K11=0101),FUN單元顯示AL-BL的結果。

image image

實驗2:邏輯運算

1. 字邏輯運算

(1) 字寫操作(置數操作)

通過I/O單元“S15~S0”開關向累加器AX和暫存器BX置數,操作步驟如下:1122,3344

image

image

(2) 字讀操作(運算寄存器AX和BX內容送總線)

關閉AX、BX寫使能,令K18=K17=“1”,按下流程分別讀AX、BX。1122,3344

image

image

(3) 字邏輯運算

令M S2 S1 S0(K15 K13~K11=1101),為邏輯與,FUN及總線顯示AX邏輯與BX的結果1100。

令M S2 S1 S0(K15 K13~K11=1100),為邏輯或,FUN及總線顯示AX邏輯或BX的結果3366。

image image

實驗3:移位運算

移位運算時把累加器A視為移位的源寄存器,也就是說移位是通過累加器A實現的。

1. 移位控制編碼
image

2. 移位執行過程

① 循環左移 ② 循環右移
image image
③ 帶進位循環左移 ④ 帶進位循環右移
image image

◆不帶進位循環左移:各位按位左移,最高位移入最低位。

◆不帶進位循環右移:各位按位右移,最低位移入最高位。

◆帶進位循環左移:各位按位左移,最高位移入CY中,CY中內容移入最低位。

◆帶進位循環右移:各位按位右移,最低位移入CY中,CY中內容移入最高位。

◆循環移位一般用於實現循環式控制、高低字節的互換,還可以用於實現多倍字長數據的算術移位或邏輯移位。

3. 字移位運算k23-k0全置1

(1) 向AX寄存器置數

撥動“I/O輸入輸出單元”開關向移位源寄存器AX置數,具體操作步驟如下:

image

image

(2) AX寄存器移位

image

image

令M=0 S1=1參照表2.3.2改變S2、S0的狀態,再按動【單拍】按鈕,觀察AX移位變化。

0080-0040-0020-0010-0008-0004-0002-0001-8000-4000-2000-1000-0800-0400-0200-0100-0080

4. 字節移位運算

(1) AL寄存器置數

撥動“I/O輸入輸出單元”開關向移位源寄存器AL置數,具體操作步驟如下:

image

image

(2) AL寄存器移位

image

令M=0 S1=1參照表2.3.2改變S2、S0的狀態,再按動【單拍】按鈕,觀察AL移位變化。

實驗題

1、 將0008H寫入AH寄存器,然后完成AH寄存器移位運算

image

image

2、在給定AX=6655h、BX=AA77h的情況下,改變運算器的功能設置,觀察運算器的輸出,填入下頁表格中,並和理論分析進行比較、驗證。

image

實驗4:進位控制與零標志

1. 標志控制原理

image

(1) 進位標志CY

運算標志CY是帶復位可預置的進位標志,在運算時由M信號控制,當M=0時,按【單拍】按鈕,在DRCK上升沿把當前運算溢出位(進位或借位)打入CY的鎖存輸出端Q2。在M=1時,由CN位控制CY的“位操作”。當CN=0時,按【單拍】按鈕,在DRCK上升沿執行CY的置“1”、清零、取反操作;遇M=1、CN=1時,CY保持原始狀態。CY的復位端由CPU直接控制管理。

(2) 零標志Z

零標志Z是帶復位端的運算結果判零標志,取源於運算器輸出FUN。當FUN=00h時,zd為“1”,反之為“0”。;零標志由M信號控制,當M=0時,按【單拍】按鈕,在DRCK上升沿把當前zd打入Z(零標志)的鎖存輸出端Q1。遇M=1,零標志Z保持原始狀態。

(3) 標志位的初始化

標志位的清零端由系統掌控與控位無關,在手動實驗中需要清標志時,通過按動【返回】鍵來實現標志位的初始化。
系統提供CY與Z的狀態燈,其顯示特征為:進位標志CY=1時,燈“亮”,反之燈“滅”;零標志Z=1時,燈“亮”,反之燈“滅”。

2. 實驗連線

image

(3) 進位標志CY實驗

(1) CY標志控制實驗

① 進位控制流程

image

image image

② 按上流程建立控制狀態,參照下表改變方式控制,按【單拍】觀察CY燈的變化

image

(2) 進位運算實驗

① 按【返回】鍵,通過I/O單元向AX、BX分別置數,操作如下:

image

② 帶進位加減法運算流程(加:0001,減:FFEB)

image

image image

(3) 零標志實驗(字識別)

① 向寄存器AX和BX置數

通過“I/O輸入輸出單元”向AX、BX均置數0001h,操作步驟如下:

image

image

② 驗證零標志鎖存功能

按【返回】鍵清Z標志,按下流程建立零標志運算控制狀態。K11=1時減法運算FUN=0000,按【單拍】鈕Z標志燈亮(Z=1);K11=0時加法運算FUN=0002按【單拍】鈕Z標志燈滅(Z=0)。

image

image image

實驗報告

學院、系: 計算機學院
專業名稱: 軟件工程
學生姓名: 小何學長
指導教師: 劉亞松

一、實驗題目

十六位機運算器

二、實驗目的與要求

實驗目的

掌握十六位機字與字節運算的數據傳輸格式,驗證運算功能發生器及進位控制的組合功能。

實驗要求

完成算術、邏輯、移位運算實驗,熟悉ALU運算控制位的運用。

三、實驗步驟(闡述主要步驟)

實驗1:算術運算

1.字算術運算

(1)字寫操作

通過I/O單元“S15~S0”開關向累加器AX和暫存器BX置數,操作步驟如下:

image

(2)字讀操作

關閉AX、BX寫使能,令K18=K17=“1”,按下流程分別讀AX、BX。Dbus:1122h ;3344h

image

實驗結果:

image

image

實驗2:邏輯運算

2.字節邏輯運算

(1)奇字節寫操作(置數操作) k23-k0=1

通過I/O單元“S15~S0”開關向累加器AH(H:high高位)和暫存器BH置數,具體操作步驟如下:

image

(2)奇字節讀操作(運算寄存器AH和BH內容送數據總線)

關閉AH、BH寫使能,令K18=K17=1,按下流程分別讀AH、BH。

image

實驗結果:

image

image

實驗3:移位運算

4.字節移位運算

(1)AL寄存器置數

撥動“I/O輸入輸出單元”開關向移位源寄存器AL置數,具體操作步驟如下:

image

(2)AL寄存器移位

image

實驗結果:

image

四、心得體會

本節課學習了並掌握十六位機字與字節運算的數據傳輸格式,驗證運算功能發生器及進位控制的組合功能。同時完成算術、邏輯、移位運算實驗,熟悉ALU運算控制位的運用。雖然操作有點麻煩,但還是堅持完成並驗證了其原理,自己的動手能力有所增強,還學到了知識,真開心啊!

文檔獲取

完整版的實驗內容+實驗報告的Word文檔,可以聯系我咨詢獲取哦!
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM