实验二运算器实验

更新时间:2024-06-07 22:04:01 阅读量: 综合文库 文档下载

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

实验二 运算器AM2901实验

该实验操作不需用到电脑,不需实现电脑和实验箱的连接,操作全部在实验箱上完成。

实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果。

实验目的:

1、深入了解AM2901运算芯片的功能、结构; 2、深入了解4片AM2901的级联方式;

3、深化运算器部件的组成、设计、控制与使用等知识。

教学计算机的运算器部件主体由4片4位的运算器芯片AM2901彼此串接构成,它输出16位的数据运算的结果(用Y表示)和4个结果特征位(用Cy,F=0000,OVER,F15表示)。它的输入(用D表示)只能来自于内部总线。

确定运算器运算的数据来源、运算功能、结果处置,需要使用控制器提供的I8~I0、B3~B0、A3~A0共17个信号。

运算器的输出直接连接到地址寄存器AR的输入引脚,用于提供地址总线的信息来源。运算器的输出还经过两个8位的244器件的控制(使用DC1译码器的YTOIB#信号)被送到内部总线IB,用于把运算器中的数据或者运算结果写入内存储器或者输入输出接口芯片。

运算器产生的4个结果特征位的信息需要保存,为此设置一个4位的标志寄存器FLAG,用于保存这4个结果特征信息,标志寄存器的输出分别用C、Z、V、S表示。控制标志寄存器何时和如何接收送给它的信息,需要使用控制器提供的SST2~SST0三位信号。

运算器还需要按照指令执行的要求,正确地得到最低位的进位输入信号,最低位和最高位的移位输入信号,为此需要配置另一个SHIFT的线路,在控制器提供的SSH和SCI1~SCI0三位信号的控制下,产生运算器最低位的进位输入信号,最低位和最高位的移位输入信号。

相关器件:

4片AM2901(ALU) 两片AR(74LS374) 一片FLAG(GAL20V8) 一片SHIFT(GAL20V8)

2片244(ALUTOIB,74LS244) 2个12位微动开关(红色)

3个手动控制信号缓存芯片(HAND,74LS240)

AM2901芯片的结构和功能: 参考教材附录部分

芯片具体线路说明:

1、芯片输出受OE#信号控制,仅当其为低电平时,才有Y值正常逻辑信号输出,否则输出为高阻态。

2、标志位F=0000为集电极开路输出,可实现“线与”逻辑。

3、RAM3,RAM0,Q3,Q0均为双向三态逻辑,一定要与外部电路正确连接。

4、该芯片还有两个用于芯片间完成高速进位的输出信号G#和P#。

5、该芯片用一个CLK(CP)时钟信号作为芯片内通用寄存器、锁存器和Q寄存器的打入信号,有关规定如图:注意两个跳变沿和低电平所实现的不同控制功能。

4片AM2901芯片之间的连接:

用4片AM2901芯片构成一个16位的运算器器件,4片间的连接关系如下: (1)由4片各自的D3~D0组成16位的数据输入D15~D0。 (2)由4片各自的Y3~Y0组成16位的数据输出Y15~Y0。

(3)有高低位进位关系的3组信号,在高低位相邻芯片间的连接关系是: 高位芯片的RAM0,Q0分别与低位芯片的RAM3,Q3相连。 在串行进位方式下,高位芯片的Cn与低位芯片的Cn+4相连。

此时,最低位芯片的RAM0和Q0是该16位的运算器的最低位的移位入出信号,最高位芯片的RAM3与Q3是16位的运算器最高位的移位入出信号。

最低位芯片的Cn是整个运算器的最低位进位输入信号,最高位芯片的Cn+4是16位的完整运算器的进位输出信号。

同理,只有最高位芯片的F3和OVR有意义,低位的三个芯片的F3和OVR不被运用。 四个芯片的F=0000管脚(集电极开路输出)连接在一起,并经一个电阻接到+5V电源以得到16位的ALU的运算结果为0的标志位信号。

(4)其他的几组输入信号,对4片AM2901器件来说应有相同的值,包括OE#,A地址,B地址,I8~I0和工作脉冲CP。故应将4个芯片的这些信号的各对应管脚连接在一起。

需要在AM2901芯片外部处理的逻辑关系:

有一些功能(数据)取决于如何使用AM2901,与指令和指令的执行步骤有关,必须用另外的线路来处理,包括:

(1)需要正确给出芯片的最低位的进位输入信号Cn,选用3位的控制码确定,在AM2901芯片外实现。 3位选择码SSH,SCI编码 0 0 0 0 0 1 0 1 0 指令举例 ADD,DEC SUB,INC ADC,SBB Cn取值 0 1 C (2)关于左右移位操作过程中的RAM15、RAM0、Q15和Q0的处理,左移操作时RAM15与Q15为输出,RAM0与Q0为输入;右移操作时,RAM0和Q0为输出,RAM15和Q15为输入,这几个外部信息的接收与送入,选用3位的控制编码确定,在AM2901芯片外实现。 3位控制码 左移 SSH,SCI编码 RAM0 Q0 1 0 0 1 0 1 1 1 0 0 X C X Q15 F15# 右移 RAM15 Q15 0 X C X Cy RAM0 说明 用于逻辑移位指令 用于带C的循环移位 原码除(左移)乘(右移) 1 1 1 X X F15 RAM0 用于算术右移指令 注: 表中的X表示不必处理,不必过问该位的取值 当通用寄存器本身移位时,Q寄存器不受影响

乘除运算要求实现通用寄存器与Q寄存器联合移位,没有Q寄存器单独的移位。 上面两个表的处理功能,在一片GAL20V8芯片内实现,即SHIFT芯片。 (3)四个标志位的值的接收与记忆电路。

AM2901芯片提供出ALU运算结果的4个标志位的信号,但并没有设置用于保存这4个信号的线路,需要使用者在AM2901芯片外用其他的电路来维持或保存这4个标志位的值。4个标志位信号的变换有8种不同情况,使用3位的编码SST来区分,用一片GAL20V8来实现。 3位选择码 SST编码 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 状态位输入 C Z V S C Z V S Cy F=0 OVR F15 内部总线对应位 0 Z V S 1 Z V S RAM0 Z V S RAM15 Z V S Q0 Z V S 说明 4个标志位的值保持不变 接收ALU标志位输出的值 恢复标志位原来的值 置0于C,其它不变 置1于C,其它不变 右移操作,其它不变 左移操作,其它不变 联合右移,其它不变

实验操作:

连接电源线和通讯线前TEC-XP系统的电源开关一定要处于断开状态,否则可能会对系统上的芯片和PC机的串口造成损害。

实验箱上五个黑色控制开关的功能如下:

单步 手动置指令 组合逻辑 联机 8位

О О О О О 上面 О О О О О 下面 连续 从内存读指令 微程序 脱机 16位

脱机运算器实验,让运算器从教学计算机中脱离出来,全部控制与操作均需通过两个12位的微型开关来完成。12个微型开关的具体控制功能分配有:

A口、B口地址:送给AM2901芯片用于选择源和目的操作数的寄存器编号。

I8~I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位控制码。

SCI、SSH和SST:用于确定运算器最低位进位输入、移位信号的入/出和怎样处理AM2901产生的状态标志位的结果。

开关拨到上方为1

Micro switch 1 I8-I6 I5-I3 I2-I0 SST SSH Micro switch 2 SCI B PORT A PORT

将教学机左下方的5个拨动开关置为1XX00(单步、脱机、16位);先按一下RESET按键,再按一下START按键,进行初始化。

输入数据与控制信号完成各种运算,通过两个12位的红色微动开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。

按START按键之前,ALU输出的是计算结果,参照ALU的操作周期时序可知A、B口数据锁存是在时钟的下降沿,通用寄存器的接收是在低电平,所以要想寄存器接收ALU的计算结果必须按一次START按键。

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

Top