實驗內容
一、實驗原理
實驗中所用的運算器資料通路如下圖所示,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檔案,可以聯系我咨詢獲取哦!

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/296405.html
標籤:其他




















