一、实验目的
- 掌握算术逻辑运算单元算术运算的工作原理;
- 熟悉运算器中数据传送通路和数据传送方式;
二、实验环境
PC机,TD-CMA实验系统一套
四、实验要求
- 了解运算器中数据传送通路和数据传送方式;
- 理解算术运算功能,各控制信号的工作原理;
- 掌握运算器算术运算原理。
五、实验内容
运算器(ALU)中所有模块集成在一片CPLD中,内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和Cn来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置运算器(ALU)零标志FZ。
图1 运算器原理图
运算器的逻辑功能表如表1所示,其中S3 S2 S1 S0 Cn为控制信号,FC为进位标志,FZ为运算器零标志,表中功能栏内的FC、FZ表示当前运算会影响到该标志。
表1 运算器逻辑功能表
运算类型 | S3 S2 S1 S0 | Cn | 功 能 |
逻辑运算 | 0000 | X | F=A(直通) |
0001 | X | F=B(直通) | |
0010 | X | F=AB (FZ) | |
0011 | X | F=A+B (FZ) | |
0100 | X | F=/A (FZ) | |
移位运算 | 0101 | X | F=A不带进位循环右移B(取低3位)位 (FZ) |
0110 | 0 | F=A逻辑右移一位 (FZ) | |
1 | F=A带进位循环右移一位 (FC,FZ) | ||
0111 | 0 | F=A逻辑左移一位 (FZ) | |
1 | F=A带进位循环左移一位 (FC,FZ) | ||
算术运算 | 1000 | X | 置FC=Cn (FC) |
1001 | X | F=A加B (FC,FZ) | |
1010 | X | F=A加B加FC (FC,FZ) | |
1011 | X | F=A减B (FC,FZ) | |
1100 | X | F=A减1 (FC,FZ) | |
1101 | X | F=A加1 (FC,FZ) | |
1110 | X | (保留) | |
1111 | X | (保留) |
*表中“X”为任意态,下同。
实验步骤:(1)按图2连接实验电路,并检查无误。图中将用户需要连接的信号用圆圈标明(其它实验相同)。
图2 实验接线图
(2)设置启动开关。将时序与操作台单元的开关KK2置为‘单拍’档,开关KK1、KK3置为‘运行’档。
(3)接线正确性测试。打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。然后按动CON单元的CLR按钮,将运算器的A、B和FC、FZ清零。
(4)用输入开关向暂存器A置数。
①拨动CON单元的SD27…SD20数据开关,形成二进制数01100101(即十六进制数65)或其它数值。(数据显示亮为‘1’,灭为‘0’)
②置LDA=1,LDB=0,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数01100101置入暂存器A中,暂存器A的值通过ALU单元的A7…A0八位LED灯显示。
(5)用输入开关向暂存器B置数。
①拨动CON单元的SD27…SD20数据开关,形成二进制数10100111(即十六进制数A7)或其它数值。(数据显示亮为‘1’,灭为‘0’)
②置LDA=0,LDB=1,连续按动时序单元的ST按钮,产生一个T4上沿,则将二进制数10100111置入暂存器B中,暂存器B的值通过ALU单元的B7…B0八位LED灯显示。
(6)改变运算器的功能设置,观察运算器的输出。置ALU_B=0、LDA=0、LDB=0,然后根据表1置S3、S2、S1、S0和Cn的数值,并观察数据总线LED显示灯显示的结果。如置S3、S2、S1、S0为0010,运算器作逻辑与运算;置S3、S2、S1、S0为1001,运算器作加法运算。
(7)实验要求。首先完成表2,然后改变A、B的值(验证FC、FZ的锁存功能)。
表2 算术运算
运算类型 | A | B | S3 S2 S1 S0 | Cn | F理论值 | F实测值 | FC | FZ |
算术运算 | 65 | A7 | 1 0 0 0 | X | ||||
65 | A7 | 1 0 0 1 | X | |||||
65 65 | A7 A7 | 1 0 1 0(FC=0) | X | |||||
1 0 1 0(FC=1) | X | |||||||
65 | A7 | 1 0 1 1 | X | |||||
65 | A7 | 1 1 0 0 | X | |||||
65 | A7 | 1 1 0 1 | X |