实验一:十六位数据总线实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
十六位机运算器实验
一、实验目的
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运算器编码表
算术运算逻辑运算
表1-2移位编码表
五、实验连线
将实验系统设置为手动/搭接状态,K23~K0置“1”,灭M23~M0控位显示灯。然后按下表要求“搭接”部件控制电路。
六、实验步骤 (一)算术运算
1. 字算术运算 (1) 字写操作
W XP OP=000
BXW(M18)=1 按【单拍】按钮
BXW(M18)=0 按【单拍】按钮
(2) 字读操作
(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 置数,具体操作步骤如下:
(2) 偶字节读操作(运算寄存器AL 和BL 内容送总线)
关闭AL 、BL 写使能,令AXW(M18)=BXW(M17)=1,按下流程分别读AL 、BL 。
(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 置数,操作步骤如下:
X2 X1 X0=110
W XP OP=100 S2 S1 S0=111
M=1
S2 S1 S0=000
X2 X1 X0=110
W XP OP=000 S2 S1 S0=111
M=1
S2 S1 S0=000
W XP OP=100
BXW(M18)=1 按【单拍】按钮
BXW(M18)=0 按【单拍】按钮
(2) 字节读操作(运算寄存器AX 和BX 内容送总线)
关闭AX 、BX 写使能,令AXW(K18)=BXW(K17)=1,按下流程分别读AX 、BX 。
(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 置数,具体操作步骤如下:
(2) 偶字节读操作(运算寄存器AL 和BL 内容送数据总线)
关闭AL 、BL 写使能,令AXW(K17)=BXW(K18)=1,按下流程分别读AL 、BL 。
① 运算控制位设为(M S2 S1 S0=1111)则F=AL ,即AL 内容送到数据总线。 ② 运算控制位设为(M S2 S1 S0=1000)则F=BL ,即BL 内容送到数据总线。
(3) 偶字节逻辑运算
X2 X1 X0=110
W XP OP=100 S2 S1 S0=111
M=1
S2 S1 S0=000
X2 X1 X0=110
W XP OP=000 S2 S1 S0=111
M=1
S2 S1 S0=000
W XP OP=100
BXW(M18)=1 按【单拍】按钮
BXW(M18)=0 按【单拍】按钮
W XP OP=000
BXW(M18)=1 按【单拍】按钮
BXW(M18)=0 按【单拍】按钮
令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 置数,具体操作步骤如下:
(5) 奇字节读操作(运算寄存器AH 和BH 内容送数据总线)
关闭AH 、BH 写使能,令AXW(K18)=BXW(K17)=1,按下流程分别读AH 、BH 。
① 运算控制位设为(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 置数,具体操作步骤如下:
(2) AX 寄存器移位
X2 X1 X0=100 W XP OP=000 AXW(M17)=0 按【单拍】按钮
X2 X1 X0=111
X2 X1 X0=110
W XP OP=110 S2 S1 S0=111
M=1
S2 S1 S0=000
W XP OP=101
BXW(M18)=1 按【单拍】按钮
BXW(M18)=0 按【单拍】按钮