1、这是通过正确的向其提供控制信号。包括选哪个(哪些)数据参加运算,执行何种运算功能,对运算结果(值和特征)如何保存与送出等;同时,要解决正确运算器提供参加运算数据的种种问题,包括从外部向运算器送入数据,正确给出ALU最低的进位信号,运算器左右移位操作中的移位输入信号等。给出正确的数据的来源和正确的控制信号,运算器就执行规定的操作功能。在计算机整体运行过程中,运算器用到的控制信号是由计算机的控制部件提供;从教学实验需求考虑,如TEC-2机运算器运行中用到的数据和控制信号,也可以通过该教学计算机上的16个手拨数据开关和24个手拨微型开关来实现。 2 ).Am2901 运算器 A. Am2901芯片内
2、部组成结构Am2901芯片是一个4位的位片结构运算部件,是一个完整的运算器,只是位数较少,具有很好的典型性,是个理想的教学实例。其内部结构如下所示: 图 3.1 Am2901内部结构(1)4位的ALU,实现8种运算功能,其每一位上的2个输入数据分别用R和S表示。这八种功能的选择控制,是用外部送入的3位编码值I5I3实现的。AlU还能给出Cn+4、F、OVR和F=0000四位状态信息,并能接受最低位的一个输入信号Cn。(2)16个4位的通用寄存器组,用R0R15表示,和一个4位的Q寄存器,通用寄存器组为双端读出和单端控制,而且运算后的结果经过一个移位器实现写入。Q寄存器本身具有左移右移功能且能接
3、受AlU的运算结果。(3)能接收外部送入的4位数据D3D0,并输入4位的数据Y3Y0。(4)从图上可以看到,ALU的两个输入端R和S分别可以接收D输入,A端口或逻辑0数据,和A端口、B端口、Q寄存器和逻辑0数据。(5)Am2901还采用另外3位外部送来的控制信号I8I6。(6)通用寄存器组通过A端口,B端口读出内容的输出处均有锁存器线路支持,以保证在执行诸如A+B结果送B运算时操作的正确性。 B.Am2901的操作时序 图3.3 Am2901的时钟信号的作用 C. Am2901芯片的控制信号及其控制码与操作Am2901戏弄的控制信号有9个,即I8I0,这9个控制信号分为三组,它们是:(1)I8
4、、I7、I6:选择运算结果或有关数据以何种方式送往何处;(2)I5、I4、I3:选择ALU的运算功能,共八种;(3)I2、I1、I0:选择送入进行运算的两个操作数据R和S的来源。这三种控制信号与相关控制码的关系如下表3.1所示:表3.1 Am2901 9个控制信号I8I0控制码I8、I7、I6I5、I4、I3I2、I1、I00 0 0FQFR + SAQ0 0 1无S RB0 1 0FBR S0 1 1R S1 0 0F/2BQ/2QR S1 0 1/R SD1 1 02FB2QQR S1 1 1R S寄存器结果选择Y输出选择运算功能选择RS注:R、S中的“0”为逻辑0。 3). TEC-2机
5、运算器 如图: 图3.6 完整的16位运算器的组成框图4片间的连接关系是:a) 16位的数据输入有4片各各自的D3D0组成,其位序号从高位芯片向低位芯片顺序排成D15D0。b) 16位的数据输出由4片各自的Y3Y0组成,其为序号从高位芯片向低位芯片顺序排成Y1Y0。c) 高地位进位关系的3组信号。d) 其他的计组输入信号,对4 片Am2901期间来说应该有相同的值,包括/OE(控制选通Y的输出),A地址,B地址,I8I0,和工作脉冲CP,故应将4个芯片的这些管脚连接一起。4). TEC-2机运算器部件的辅助组成部分 *标志位的含义及取值: S:符号标志,负数为1; V:溢出标志,溢出则为1;
6、Z:运算结果标志,结果为0则为1; C:进/借位标志,有则为1 三位微码与这8种处理的对应关系,以用表格形式给出在TEC-2的操作卡上,如表3.2所示。表3.2三位微码与状态位的关系表SST编码状态位输入说 明B34 B33 B32CZV四个标志位的值保持不变CYF=0OVF15接收ALU的标志位输出值IB7IB6IB5IB4恢复标志位现场值置C为0,另三个标志不变1置C为1,另三个标志不变RAM0右移操作,另三个标志不变RAM15左移操作,另三个标志不变Q0联合右移,另三个标志不变表3.3运算器最低位进位信号的给出与控制(SCi) 运算器最低位的进位信号Cin可能为0、1、c标志的值,为了测
7、试与实验方便,有时可送入一个连续的方波信号,当认运算执行16位全1与这个最低位的进位方波信号相加时,则加法器每一位的输出结果均为方波,有利于观察和测试。SCi编码(B11、B10)00011011Cin取值TCLK方波表3.4 运算器最高位,最低位的一如信号(SSH)控制码SSH左 移右 移B9 B8RAM0 Q0RAM15 Q150 00 X通用寄存器逻辑位移0 1C X通用寄存器与C循环移位1 0Q15 /F15CY RAM0原码除(左移)乘(右移)1 1X XF15OVR RAM0右移用于补码乘法说明: 表中“X”为任意值,表示取任意值都不受影响 当通用寄存器本身移位时,Q寄存器不受影响
8、 乘除法运算要求通用寄存器与Q寄存器联合移位,没有Q寄存器单独移位功能 左右移是由指令功能确定的 SSH为0,用于逻辑移位指令为1,用于循环移位指令为2,用于乘除法运算的联合移位及上商为3,用于算术右移指令,或补码乘法计算三实验使用操作说明 TEC-2机的运算器实验可分成脱机和联机两种方式,又分成静态功能实验与动态进位时间测试两个方面的内容。1 脱机方式 当TEC-2机的4个功能开关FS1FS4处于XXX1位置时,即FS1FS4三个开关职位0和1,都无所谓,而要FS4处于”1”。2 联机方式当TEC-2机的第四个功能开关FS4处于0时,运算器处于联机状态,即运算器已正常接入TEC-2机的整体系
9、统之内,其内部的控制信号,即在脱机状态下由两个12位的微型开关提供的信号,完全由TEC-2机的控制器的微指令寄存器PLR的相应的微码给出。与脱机方式相比,是把通过两个微型开关拨的内容,变成写进控制器的控存相应单元中对应位上0或1。每一步操作,还可以通过按单步键单步执行。这种实验方法需对怎样向控存装入微码和怎么顺序取出微指令字有一定了解。四 实验内容1 脱机实验试验中所述将某开关置为1,即表示将开关向上拨;将某开关置为0,即表示将开关向下拨。(1) 将TEC-2机的功能开关FS4置为1;(2) 主脉冲置为单步方式,STEP/CONT开关拨向STEP一边。(3)将D0(A000H)传入R0。(4)
10、将D1(4000H)传入R1。(5)对R0和R1进行各种算术、逻辑运算。将开关S2、S1、S0置于“110”,指示灯将显示ALU的运算结果;将开关S2、S1、S0置于“000”,指示灯将显示SVZC的状态。功 能MI86MI53MI20A口B口按压 STEP 前按压 STEP 后ALU输出SVZCR0+R1R0R0+0R0R0-R1R0R0R1R0R0R1R0SCi的设置:R0+R1+CR0,SCi= 10 ;R0+1R0,SCi= 01 其余SCi=002 联机实验。(1) 将FS1FS4置成1010,STEP/CONT置成CONT,启动TEC-2机,进入监控程序。(2) 在联机状态下,在命
11、令行状态用“A”命令输入下列程序: A8000800: Mov R0,A000 Mov R1,40000804: ADD R0,R1 SUB R0,R1 OR R0,R1 AND R0,R1 XOR R0,R1 ADC R0,R1 SHL R0,R1 INC R0 RET R0(3) 用“G”,命令运行程序 在命令行提示符状态下输入:G800 执行上面输入的程序(4)用“R”命令观察运行结果及状态在命令行提示符状态下输入:观察运行结果及状态屏幕将显示:R0=8001 R1=4000 R2=0000 R3=0000 SP=0FD0 PC=0800R9=0000 R10=0000 F=000111
12、112C00 A000 MOV R0 A000(5) 用“T”或“P”命令单步执行 在命令行提示符状态下输入T 或P 执行完后,观察运行结果及状态。五 实验器材 (1) TEC-2机一台,电脑一台(2) 示波器一台六.实验分析与设计 按照要求,得到数据如下表1 表3.7R1+R0R001100000100010000E00020001000XXXXA00060001004000R0R1R01100010R0+R1+CR08000R0*2R0 111R0+1R0800180102 SCi的设置:七.思考题(1)在脱机方式下进行运算器实验时,在按STEP键之前和按STEP之后,ALU的输出结果及状
13、态有何不同?为什么?根据Am2901运算器的组成结构及其工作原理加以说明。 答:由于存在AB锁存器,控制信号如下图,按压step是通过脉冲信号,将总线的数据保存到B所指定的寄存器中,同时将ALU产生的SVZC标志信号送出给接收端。ALU是逻辑电路,不需要脉冲信号即可工作。 所以可知,在按压step之前,ALU输出就已经为本次预期的运算结果,而标志信号则仍为上次运算产生的标志信号(尚未更新),按压step之后,ALU输出为本次运算结果再与A所指定的寄存器中的值进行进行相同元算产生的值。如R0+R1R0,可知A为R1,B为R0,step之前,ALU输出为Value1= R0+R1,标志位不变,st
14、ep之后ALU输出为Value2= R0+R1+R1,标志位为Value1对应的状态。 电路图 图3.3 Am2901的时钟信号的作用(2)写出实现以下功能操作的微码:(按下表形式写)A(R10+R0)Q R0Q,联合左移B. D-B- 其中D为数据,B为B寄存器。C. 0-R0,要求不要用立即数传送方式。功能操作MI876MI543MI210A口地址B口地址A(R10+R0)Q R0Q联合左移1010BD B B0+D-R00+B-R1R0-R1-010B-D-Q-C0 R0R0R0-R0-R0-八.实验心得 感觉此次试验是TEC-2的入门实验 ,虽然本身不是很难。但需要掌握的前期预备知识还
15、是很多的,尤其是Am2901的9个控制信号,SVZC原理,脱机实验时对应电路开关的信号问题,书本跨越了第1-32页的内容,怪不得老师花了一上午才将其全部讲完。 老实说,在刚开始,很多不明白,如SVZC各个信号代表的内容状态,A,B补码相加结果分析,A,B与R0,R1对应关系的确定,MI86,MI53,MI20值的分析,尤其是后来思考题第二题,不确定第种方法是否正确,因为涉及到了图3.3脉冲信号的控制,后来在跟着老师看27页实例时,才稍微明白一些。 另外还有一些不是很懂,如Q寄存器的作用及使用,移位器的使用,虽然知道控制信号该如何如设置,但其工作原理还不是很了解,看来还需向同学请教一番。 同时发现实验前预习还真是好处多多,以后要继续加油才行。