实验一:十六位数据总线实验

更新时间:2023-10-09 04:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

十六位机运算器实验

一、实验目的

1. 熟悉Dais-CMX16+达爱思教仪的各部分功能和使用方法。

2. 掌握十六位机字与字节运算的数据传输格式,验证运算功能发生器及进位控制的组合功能。了解运算器的工作原理。

3. 完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。

二、实验仪器

Dais-CMX16+达爱思教仪

三、实验原理

实验中所用的运算器数据通路如图1-1所示。ALU运算器由CPLD描述。运算器的输出经过2片74LS245三态门与数据总线相连,2个运算寄存器AX、BX的数据输入端分别由4个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。

图1-1 运算器数据通路

图1-1中,AXW、BXW在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的负脉冲把总线上的数据打入,实现AXW、BXW写入操作。

四、运算器功能编码

表1-1 ALU运算器编码表

算术运算

M15 M13 M12 M11 M 0 0 0 0 S2 0 0 0 0 S1 0 0 1 1 S0 0 1 0 1 功能 A+B+C A—B—C RLC RRC M15 M 1 1 1 1 逻辑运算 M13 S2 0 0 0 0 M12 S1 0 0 1 1 M11 S0 0 1 0 1 功能 读B 非A A-1 A=0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 A+B A—B RL RR 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 A||B A&B A+1 读A

表1-2移位编码表

M15 M13 M12 M11 M 0 0 0 0 S2 1 1 0 0 S1 1 1 1 1 S0 1 0 1 0 功能 RR RL RRC RLC

五、实验连线

将实验系统设置为手动/搭接状态,K23~K0置“1”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制电路。

连线 1 2 3 4 5 6 7 8 9 10 11 12 13 信号孔 DRCK W XP X2 X1 X0 M S2 S1 S0 OP AXW BXW 接入孔 CLOCK K6(M6) K7(M7) 作用 单元手动实验状态的时钟来源 总线字长:0=16位字操作,1=8位字节操作 源部件奇偶标志:0=偶寻址,1=奇寻址 有效电平 上升沿打入 低电平有效 低电平有效 K10(M10) 源部件定义译码端X2 K9(M9) K8(M8) 源部件定义译码端X1 源部件定义译码端X0 K15(M15) 运算控制位:0=算术运算,1=逻辑运算 K13(M13) 运算状态位S2 K12(M12) 运算状态位S1 K11(M11) 运算状态位S0 K16(M16) 目标部件奇偶标志:0=偶寻址,1=奇寻址 K17(M17) AX运算寄存器写使能,本例定义到M17位 K18(M18) BX运算寄存器写使能,本例定义到M18位 六、实验步骤 (一)算术运算

1. 字算术运算 (1) 字写操作

通过I/O单元“S15~S0”开关向累加器AX和暂存器BX置数,操作步骤如下: 数据来源 I/O单元 X2 X1 X0=100 W XP OP=000

I/O置数 I/O=1122h 寄存器AX (1122h) AXW(M17)=0 BXW(M18)=1 按【单拍】按钮

I/O置数 I/O=3344h 寄存器BX (3344h) AXW(M17)=1 BXW(M18)=0 按【单拍】按钮

(2) 字读操作

关闭AX、BX写使能,令AXW(M18)=BXW(M17)=1,按下流程分别读AX、BX。 数据来源 ALU 读AX 数据总线 显示AX值 读BX 数据总线 显示BX值 M=1 X2 X1 X0=110

W XP OP=000 S2 S1 S0=111

M=1

S2 S1 S0=000

(3) 字加法与减法运算(不带进位加、不带错位减)

令M S2 S1 S0(K15 K13~K11)=0100,FUN及总线单元显示AX+BX的结果。 令M S2 S1 S0(K15 K13~K11)=0101,FUN及总线单元显示AX-BX的结果。

2. 字节算术运算

(1) 偶字节写(置数操作)

通过I/O单元“S15~S0”开关向累加器AL和暂存器BL置数,具体操作步骤如下:

数据来源 I/O单元 X2 X1 X0=100 W XP OP=100

I/O置数 I/O=XX22h 寄存器AL (22h) AXW(M17)=0 BXW(M18)=1 按【单拍】按钮

I/O置数 I/O=XX44h 寄存器BL (44h) AXW(M17)=1 BXW(M18)=0 按【单拍】按钮

(2) 偶字节读操作(运算寄存器AL和BL内容送总线)

关闭AL、BL写使能,令AXW(M18)=BXW(M17)=1,按下流程分别读AL、BL。

数据来源 ALU 读AL 数据总线 显示AL值 读BL 数据总线 显示BL值 M=1 X2 X1 X0=110

W XP OP=100 S2 S1 S0=111

M=1

S2 S1 S0=000

(3) 字节加减法算术运算(不带进位加、不带错位减)

令M S2 S1 S0(K15 K13~K11)=0100,FUN及总线单元显示AL+BL的结果。 令M S2 S1 S0(K15 K13~K11)=0101,FUN及总线单元显示AL-BL的结果。

(二)逻辑运算

1. 字逻辑运算

(1) 字写操作(置数操作)

通过I/O单元“S15~S0”开关向累加器AX和暂存器BX置数,操作步骤如下:

数据来源 I/O单元 X2 X1 X0=100 W XP OP=000

I/O置数 I/O=1122h 寄存器AX (1122h) AXW(M17)=0 BXW(M18)=1 按【单拍】按钮

I/O置数 I/O=3344h 寄存器BX (3344h) AXW(M17)=1 BXW(M18)=0 按【单拍】按钮

(2) 字节读操作(运算寄存器AX和BX内容送总线)

关闭AX、BX写使能,令AXW(K18)=BXW(K17)=1,按下流程分别读AX、BX。

数据来源 ALU 读AX 数据总线 显示AX值 读BX 数据总线 显示BX值 M=1 X2 X1 X0=110

W XP OP=000 S2 S1 S0=111

M=1

S2 S1 S0=000

(3) 字逻辑运算

令M S2 S1 S0(K15 K13~K11)=1101,为逻辑与,FUN及总线显示AX逻辑与BX的结果。

令M S2 S1 S0(K15 K13~K11)=1100,为逻辑或,FUN及总线显示AX逻辑或BX的结果。

2. 字节逻辑运算

(1) 偶字节写操作(置数操作)

通过I/O单元“S15~S0”开关向累加器AL和暂存器BL置数,具体操作步骤如下:

数据来源 I/O单元 X2 X1 X0=100 W XP OP=100

置数 I/O=XX22h 寄存器AL (22h) AXW(M17)=0 BXW(M18)=1 按【单拍】按钮

置数 I/O=XX44h 寄存器BL (44h) AXW(M17)=1 BXW(M18)=0 按【单拍】按钮

(2) 偶字节读操作(运算寄存器AL和BL内容送数据总线)

关闭AL、BL写使能,令AXW(K17)=BXW(K18)=1,按下流程分别读AL、BL。

数据来源 ALU 读AL 数据总线 显示AL值 读BL 数据总线 显示BL值 M=1 X2 X1 X0=110

W XP OP=100 S2 S1 S0=111

M=1

S2 S1 S0=000

① 运算控制位设为(M S2 S1 S0=1111)则F=AL,即AL内容送到数据总线。 ② 运算控制位设为(M S2 S1 S0=1000)则F=BL,即BL内容送到数据总线。

(3) 偶字节逻辑运算

令M S2 S1 S0(K15 K13~K11)=1101,为逻辑与,FUN及总线显示AL逻辑与BL的结果。

令M S2 S1 S0(K15 K13~K11)=1100,为逻辑或,FUN及总线显示AL逻辑或BL的结果。

(4) 奇字节写操作(置数操作)

通过I/O单元“S15~S0”开关向累加器AH和暂存器BH置数,具体操作步骤如下:

数据来源 I/O单元 X2 X1 X0=100 W XP OP=101

置数 I/O=XX22h 寄存器AH (22h) AXW(M17)=0 BXW(M18)=1 按【单拍】按钮

置数 I/O=XX66h 寄存器BH (66h) AXW(M17)=1 BXW(M18)=0 按【单拍】按钮

(5) 奇字节读操作(运算寄存器AH和BH内容送数据总线)

关闭AH、BH写使能,令AXW(K18)=BXW(K17)=1,按下流程分别读AH、BH。

数据来源 ALU 读AH 数据总线 显示AH值 读BH 数据总线 显示BH值 M=1 X2 X1 X0=110

W XP OP=110 S2 S1 S0=111

M=1

S2 S1 S0=000

① 运算控制位设为(M S2 S1 S0=1111)则F=AH,即AH内容送到数据总线。 ② 运算控制位设为(M S2 S1 S0=1000)则F=BH,即BH内容送到数据总线。

(6) 奇字节逻辑运算

令M S2 S1 S0(K15 K13~K11)=1101,为逻辑与,FUN及总线显示AH逻辑与BH的结果。

令M S2 S1 S0(K15 K13~K11)=1100,为逻辑或,FUN及总线显示AH逻辑或BH的结果。

(三)移位运算

1. 字移位运算

(1) 向AX寄存器置数

拨动“I/O输入输出单元”开关向移位源寄存器AX置数,具体操作步骤如下:

数据来源 I/O单元 置数 I/O=0080h 寄存器AX (0080h) 关闭数据来源 X2 X1 X0=100 W XP OP=000 AXW(M17)=0 按【单拍】按钮

X2 X1 X0=111

(2) AX寄存器移位

本文来源:https://www.bwwdw.com/article/crcf.html

Top