资源描述
一. 实验目得及要求
(1) 了解运算器得组成结构。
(2) 掌握运算器得工作原理。
二. 实验模块及实验原理
本实验得原理如图1—1-1所示。
运算器内部含有三个独立运算部件,分别为算术、逻辑与移位运算部件,要处理得数据存于暂存器A 与暂存器B ,三个部件同时接受来自 A 与B 得数据(有些处理器体系结构把移位运算器放于算术与逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号 S3…S0与CN来决定,任何时候,多路选择开关只选择三部件中一个部件得结果作为 ALU得输出。如果就是影响进位得运算,还将置进位标志 FC,在运算结果输出前,置 ALU零标志。ALU中所有模块集成在一片CPLD 中。
逻辑运算部件由逻辑门构成,较为简单,而后面又有专门得算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用得就是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关得原理如图1—1—2所示.图中显示得就是一个 4X4 得矩阵(系统中就是一个 8X8 得矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线得开关导通,就可实现移位功能,即:
(1) 对于逻辑左移或逻辑右移功能,将一条对角线得开关导通,这将所有得输入位与所使用得输出分别相连, 而没有同任何输入相连得则输出连接0 。
(2) 对于循环右移功能,右移对角线同互补得左移对角线一起激活.例如,在4 位矩阵中使用‘右1 ’与‘左 3 ’对角线来实现右循环 1 位。
(3) 对于未连接得输出位,移位时使用符号扩展或就是 0 填充,具体由相应得指令控制.使用另外得逻辑进行移位总量译码与符号判别。
运算器部件由一片CPLD 实现.ALU得输入与输出通过三态门74LS245 连到CPU 内总线上,另外还有指示灯标明进位标志FC与零标志FZ.请注意:实验箱上凡丝印标注有马蹄形标记‘ ',表示这两根排针之间就是连通得.图中除 T4与CLR ,其余信号均来自于 ALU单元得排线座,实验箱中所有单元得T1、T2、T3、T4都连接至控制总线单元得 T1、T2、T3、T4,CLR 都连接至 CON单元得CLR 按钮.T4由时序单元得 TS4 提供(时序单元得介绍见附录二),其余控制信号均由CON单元得二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
暂存器A 与暂存器B 得数据能在LED 灯上实时显示,原理如图1-1-3所示(以A0为例,其它相同)。进位标志 FC、零标志FZ与数据总线D7…D0得显示原理也就是如此。
ALU与外围电路得连接如图1—1—4所示,图中得小方框代表排针座。
运算器得逻辑功能表如表1-1-1所示,其中 S3 S2 S1 S0 CN 为控制信号,FC为进位标志,FZ为运算器零标志,表中功能栏内得FC、FZ表示当前运算会影响到该标志.
三. 实验步骤与结果
(1) 按图1-1-5连接实验电路,并检查无误。图中将用户需要连接得信号用圆圈标明(其它实验相同)。
(2) 将时序与操作台单元得开关KK2 置为‘单拍'档, 开关KK1 、KK3 置为‘运行’档.
(3) 打开电源开关,如果听到有‘嘀’报警声,说明有总线竞争现象,应立即关闭电源,重新检查接
线,直到错误排除。然后按动CON单元得CLR 按钮,将运算器得A、B 与FC、FZ清零.
(4) 用输入开关向暂存器A 置数.
① 拨动CON单元得SD27…SD20 数据开关,形成二进制数 01100101 (或其它数值),数据显示亮为‘1 ’,灭为‘0 ’。
② 置LDA=1,LDB=0,连续按动时序单元得 ST 按钮,产生一个 T4上沿,则将二进制数01100101 置入暂存器 A 中,暂存器A 得值通过ALU单元得A7…A0八位 LED 灯显示.
(5) 用输入开关向暂存器B 置数.
① 拨动CON单元得SD27…SD20 数据开关,形成二进制数10100111 (或其它数值)。
② 置LDA=0,LDB=1,连续按动时序单元得 ST 按钮,产生一个T4上沿,则将二进制数10100111 置入暂存器B 中,暂存器 B 得值通过 ALU单元得B7…B0八位 LED 灯显示.
(6) 改变运算器得功能设置,观察运算器得输出。置ALU_B=0、LDA=0、LDB=0,然后按表 1-1—1置S3、S2、S1、S0与Cn得数值,并观察数据总线 LED 显示灯显示得结果。如置 S3、S2、S1、S0为0010 ,运算器作逻辑与运算,置 S3、S2、S1、S0为1001 ,运算器作加法运算. 如果实验箱与PC联机操作,则可通过软件中得数据通路图来观测实验结果,方法就是:打开软件,选择联机软件得“【实验】-【运算器实验】”,打开运算器实验得数据通路图,如图 1—1-6所示。进行上面得手动操作,每按动一次 ST按钮,数据通路图会有数据得流动,反映当前运算器所做得操作,或在软件中选择“【调试】—【单节拍】”,其作用相当于将时序单元得状态开关KK2 置为‘单拍’档后按动了一次ST按钮,数据通路图也会反映当前运算器所做得操作。 重复上述操作,并完成表1—1—2。然后改变 A、B 得值,验证 FC、FZ得锁存功能。
表1—1-2 运算结果表
运算类型 A B S3S2S1S0 CN 结果
65 A7 0 0 0 0 X F=(65)FC=(0)FZ=(0)
65 A7 0 0 0 1 X F=(A7)FC=(0)FZ=(0)
逻辑运算 0 0 1 0 X F=(25)FC=(0)FZ=(0)
0 0 1 1 X F=(E7)FC=(0)FZ=(0)
0 1 0 0 X F=(9A)FC=(0)FZ=(0)
0 1 0 1 X F=(CA)FC=(0)FZ=(0)
0 1 1 0 0 F=(32)FC=(0)FZ=(0)
移位运算 1 F=(B2)FC=(1)FZ=(0)
0 1 1 1 0 F=(CA)FC=(0)FZ=(0)
1 F=(CA)FC=(0)FZ=(0)
1 0 0 0 X F=(65)FC=(0)FZ=(0)
1 0 0 1 X F=(0C)FC=(1)FZ=(0)
1 0 1 0(FC=0)X F=(0D)FC=(1)FZ=(0)
算术运算 1 0 1 0(FC=1)X F=(0D)FC=(1)FZ=(0)
1 0 1 1 X F=(BE)FC=(1)FZ=(0)
1 1 0 0 X F=(64)FC=(0)FZ=(0)
1 1 0 1 X F=(66)FC=(0)FZ=(0)
四. 实验结果分析
本次实验根据实验得基本步骤可以把线连接出来,先检测一下各种线得连接对不对,排除错误,输入A=65,B=A7。
展开阅读全文