實驗內容
一、實驗原理
實驗中所用的運算器數據通路如下圖所示。ALU運算器由CPLD描述。運算器的輸出經過2片74LS245三態門與數據總線相連,2個運算寄存器AX、BX的數據輸入端分別由4個74LS374鎖存器鎖存,鎖存器的輸入端與數據總線相連。准雙向I/O輸入輸出端口用來給出參與運算的數據,經2片74LS245三態門與數據總線相連。
在上圖中,AXW、BXW在“搭接態”由實驗連接對應的二進制開關控制,“0”有效,通過【單拍】按鈕產生的負脈沖把總線上的數據打入,實現AXW、BXW寫入操作。
二、運算器功能編碼
ALU運算器編碼表
三、實驗連線
K23~K0置“1”,滅M23~M0控位顯示燈。然后按下表要求“搭接”部件控制電路。
實驗1:算術運算
1. 字算術運算
(1) 字寫操作
通過I/O單元“S15~S0”開關向累加器AX和暫存器BX置數,操作步驟如下:
(2) 字讀操作
關閉AX、BX寫使能,令K18=K17=“1”,按下流程分別讀AX、BX。Dbus:1122h;3344h
![]() |
![]() |
---|
(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
![]() |
![]() |
---|
2. 字節算術運算
(1) 偶字節寫(置數操作)k23-k0=1
通過I/O單元“S15~S0”開關向累加器AL(L:low低位)和暫存器BL置數,具體操作步驟如下:置0022h和0044h ax和bx顯示
![]() |
![]() |
---|
(2) 偶字節讀操作(運算寄存器AL和BL內容送總線)
關閉AL、BL寫使能,令K18=K17=1,按下流程分別讀AL、BL。
(3) 字節減法算術運算(不帶進位加)
令M S2 S1 S0(K15 K13~K11=0100),FUN單元顯示AL+BL的結果。0066
令M S2 S1 S0(K15 K13~K11=0101),FUN單元顯示AL-BL的結果。
![]() |
![]() |
---|
實驗2:邏輯運算
1. 字邏輯運算
(1) 字寫操作(置數操作)
通過I/O單元“S15~S0”開關向累加器AX和暫存器BX置數,操作步驟如下:1122,3344
(2) 字讀操作(運算寄存器AX和BX內容送總線)
關閉AX、BX寫使能,令K18=K17=“1”,按下流程分別讀AX、BX。1122,3344
(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。
![]() |
![]() |
---|
實驗3:移位運算
移位運算時把累加器A視為移位的源寄存器,也就是說移位是通過累加器A實現的。
1. 移位控制編碼
2. 移位執行過程
① 循環左移 | ② 循環右移 |
---|---|
![]() |
![]() |
③ 帶進位循環左移 | ④ 帶進位循環右移 |
![]() |
![]() |
◆不帶進位循環左移:各位按位左移,最高位移入最低位。
◆不帶進位循環右移:各位按位右移,最低位移入最高位。
◆帶進位循環左移:各位按位左移,最高位移入CY中,CY中內容移入最低位。
◆帶進位循環右移:各位按位右移,最低位移入CY中,CY中內容移入最高位。
◆循環移位一般用於實現循環式控制、高低字節的互換,還可以用於實現多倍字長數據的算術移位或邏輯移位。
3. 字移位運算k23-k0全置1
(1) 向AX寄存器置數
撥動“I/O輸入輸出單元”開關向移位源寄存器AX置數,具體操作步驟如下:
(2) AX寄存器移位
令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置數,具體操作步驟如下:
(2) AL寄存器移位
令M=0 S1=1參照表2.3.2改變S2、S0的狀態,再按動【單拍】按鈕,觀察AL移位變化。
實驗題
1、 將0008H寫入AH寄存器,然后完成AH寄存器移位運算
2、在給定AX=6655h、BX=AA77h的情況下,改變運算器的功能設置,觀察運算器的輸出,填入下頁表格中,並和理論分析進行比較、驗證。
實驗4:進位控制與零標志
1. 標志控制原理
(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. 實驗連線
(3) 進位標志CY實驗
(1) CY標志控制實驗
① 進位控制流程
![]() |
![]() |
---|
② 按上流程建立控制狀態,參照下表改變方式控制,按【單拍】觀察CY燈的變化
(2) 進位運算實驗
① 按【返回】鍵,通過I/O單元向AX、BX分別置數,操作如下:
② 帶進位加減法運算流程(加:0001,減:FFEB)
![]() |
![]() |
---|
(3) 零標志實驗(字識別)
① 向寄存器AX和BX置數
通過“I/O輸入輸出單元”向AX、BX均置數0001h,操作步驟如下:
② 驗證零標志鎖存功能
按【返回】鍵清Z標志,按下流程建立零標志運算控制狀態。K11=1時減法運算FUN=0000,按【單拍】鈕Z標志燈亮(Z=1);K11=0時加法運算FUN=0002按【單拍】鈕Z標志燈滅(Z=0)。
![]() |
![]() |
---|
實驗報告
學院、系: | 計算機學院 |
---|---|
專業名稱: | 軟件工程 |
學生姓名: | 小何學長 |
指導教師: | 劉亞松 |
一、實驗題目
十六位機運算器
二、實驗目的與要求
實驗目的
掌握十六位機字與字節運算的數據傳輸格式,驗證運算功能發生器及進位控制的組合功能。
實驗要求
完成算術、邏輯、移位運算實驗,熟悉ALU運算控制位的運用。
三、實驗步驟(闡述主要步驟)
實驗1:算術運算
1.字算術運算
(1)字寫操作
通過I/O單元“S15~S0”開關向累加器AX和暫存器BX置數,操作步驟如下:
(2)字讀操作
關閉AX、BX寫使能,令K18=K17=“1”,按下流程分別讀AX、BX。Dbus:1122h ;3344h
實驗結果:
實驗2:邏輯運算
2.字節邏輯運算
(1)奇字節寫操作(置數操作) k23-k0=1
通過I/O單元“S15~S0”開關向累加器AH(H:high高位)和暫存器BH置數,具體操作步驟如下:
(2)奇字節讀操作(運算寄存器AH和BH內容送數據總線)
關閉AH、BH寫使能,令K18=K17=1,按下流程分別讀AH、BH。
實驗結果:
實驗3:移位運算
4.字節移位運算
(1)AL寄存器置數
撥動“I/O輸入輸出單元”開關向移位源寄存器AL置數,具體操作步驟如下:
(2)AL寄存器移位
實驗結果:
四、心得體會
本節課學習了並掌握十六位機字與字節運算的數據傳輸格式,驗證運算功能發生器及進位控制的組合功能。同時完成算術、邏輯、移位運算實驗,熟悉ALU運算控制位的運用。雖然操作有點麻煩,但還是堅持完成並驗證了其原理,自己的動手能力有所增強,還學到了知識,真開心啊!
文檔獲取
完整版的實驗內容+實驗報告的Word文檔,可以聯系我咨詢獲取哦!