您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 实验三-TEC-2实验计算机运算器实验
计算机组成原理实验实验报告实验人:学号:日期:2010-5-17院(系):专业(班级):08软件工程(数字媒体)实验题目:TEC-2实验计算机运算器实验一.实验目的1.了解和掌握Am2901运算器的组成结构和工作原理;2.认识和掌握TEC-2机运算器的组成和工作原理;3.认识和掌握TEC-2机运算器相关控制信号的含义和使用方法;4.认识和掌握运算器的进位时间的测试方法,及进一步掌握双踪示波器的使用方法。二.实验原理Am2901运算器1.Am2901芯片内部组成结构Am2901芯片是一个4位的位片结构的运算器部件,是一个完整的运算器,由ALU、输入多路选择器、输出选择门、寄存器组和移位器等器件组成。其内部组成结构如下图所示:计算机组成原理实验图3.1Am2901内部结构图2.Am2901芯片引脚信号芯片引脚如下图3.2所示,引脚分类及说明如下:F=0000/G/PY3~Y0Cn+4CnF3RAM0OVRQ0RAM3Q3/OEA地址B地址D3~D0I8~I0CP图3.2Am2901芯片引脚D3~D0:外部送给Am2901的数据信号;Y3~Y0:Am2901向外送出的数据信号,它受/OE信号的控制。在TEC-2机中,/OE端已接地,因此,Y3~Y0总是有的。3.Am2901的操作时序Am2901计算机组成原理实验Am2901芯片要用一个CLK(CP)时钟信号作为芯片内通用寄存器、锁存器和Q寄存器的打入信号。其有关规定如图3.3所示。图3.3Am2901的时钟信号的作用4.Am2901芯片的控制信号及其控制码与操作控制信号Am2901芯片的控制信号有9个,即I8-I0。这9个控制信号分为三组,它们是:a)I8、I7、I6(B30-28):选择运算结果或有关数据以何种方式送往何处;b)I5、I4、I3(B26-24):选择ALU的运算功能,共8种;c)I2、I1、I0(B22-20):选择送入ALU进行运算的两个操作数据R和S的来源,共8种组合具体参照表3.1表3.1Am29019个控制信号I8~I0控制码I8、I7、I6I5、I4、I3I2、I1、I0000F→QFR+SAQ001无FS–RAB010F→BAR–S0Q011F→BFR∨S0B100F/2→BQ/2→QFR∧S0A101F/2→BF/R∧SDA1102F→B2Q→QFRSDQ1112F→BFR⊙SD0寄存器结果选择Y输出选择运算功能选择RS注:R、S中的“0”为逻辑0。ALU操作周期系统时钟Q寄存器接收通用寄存器接收A、B口数据锁存A、B锁存器接收数据计算机组成原理实验图3.6完整的16位运算器的组成框图伪指令中三位微码与状态位的关系表3.2三位微码与状态位的关系表SST编码状态位输入说明B34B33B32CZVS000CZVS四个标志位的值保持不变001CYF=0OVF15接收ALU的标志位输出值010IB7IB6IB5IB4恢复标志位现场值0110ZVS置C为0,另三个标志不变1001ZVS置C为1,另三个标志不变101RAM0ZVS右移操作,另三个标志不变110RAM15ZVS左移操作,另三个标志不变111Q0ZVS联合右移,另三个标志不变表3.3运算器最低位进位信号的给出与控制表3.4运算器最高位、最低位的移入信号(SSH)控制码SSH左移右移说明B9B8RAM0Q0RAM15Q15000X0X通用寄存器逻辑位移SCi编码(B11、B10)00011011Cin取值01CTCLK方波计算机组成原理实验01CXCX通用寄存器与C循环移位10Q15/F15CYRAM0原码除(左移)乘(右移)11XXF15⊕OVRRAM0右移用于补码乘法说明:表中“X”为任意值,表示取任意值都不受影响当通用寄存器本身移位时,Q寄存器不受影响乘除法运算要求通用寄存器与Q寄存器联合移位,没有Q寄存器单独移位功能左右移是由指令功能确定的SSH为0,用于逻辑移位指令SSH为1,用于循环移位指令SSH为2,用于乘除法运算的联合移位及上商SSH为3,用于算术右移指令,或补码乘法计算三.实验内容脱机和联机时运算器实验在脱机与联机两种方式下,可以用一些数据实现多种运算,以控制其操作过程与功能检查所得结果的正确性。(一)脱机方式1.将TEC-2机功能开关FS4置为“1”。2.将TEC-2机主脉冲置为单步方式,即将STEP/CONT开关拨向STEP一边。3.用D0+0→R0将立即数D0(A000H)置入寄存器R0(0000)。具体的微型开关和数据开关按下表进行设置:波特率开关数据开关SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R0)SCiSSHD15-D0011000111000000000000000A000H设置好各控制信号(MI8-MI0),并设置好十六位数据开关为“A000H”,即“1010000000000000”后,按压一次STEP键,将立即数D0置入寄存器R0中。4.用D1+0→R1将立即数D1(4000H)置入寄存器R1(0001)。具体的微型开关和数据开关按下表进行设置:波特率开关数据开关SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R1)SCiSSHD15-D0计算机组成原理实验0110001110000000000100004000H用同样的方法将立即数D1置入寄存器R1中。5.对寄存器R0、R1初始化后,便可对R0和R1进行各种算术、逻辑运算,此时R0保存的数据为D0(A000H),R1保存的数据为D1(4000H)。6.将开关S2S1S0置于“110”时,指示灯将显示ALU的运算结果;将开关S2S1S0置于“000”时,指示灯将显示SVZC的状态,对应TEC-2机上H25=S,H26=V,H27=Z,H28=C。7.对R0和R1进行各种算术、逻辑运算,课参看表3.6(二)联机方式启动TEC-2机,进入监控程序状态:具体操作如下:1.将TEC-2机的FS1~FS4置为1010,STEP/CONT置成CONT。2.打开计算机电源开关,使计算机正常启动。打开TEC-2电源开关,TEC-2大板左上角一排指示灯亮。3.运行通讯程序PCEC,在DOS下命令提示(按默认设置:选择1,N)。联机后,进入联机状态,用A命令输入下列程序:(ENTER表示)A800ENTERMOVR0,A000MOVR1,4000ADDR0,R1SUBR0,R1ORR0,R1ANDR0,R1XORRO,R1ADCR0,R1SHLROINCRORET4.用“G”命令运行程序在命令行提示符状态下输入:G800执行上面输入的程序5.用“R”命令观察运行结果及状态在命令行提示符状态下输入:R观察运行结果及状态屏幕将显示:R0=8001R1=4000……计算机组成原理实验6.用“T”或“P”命令单步执行在命令行提示符状态下输入:T或P执行之后,观察运行结果及状态四.实验器材1.TEC-2机一台,电脑一台2.TEC-2模拟软件一套3.示波器一台(实验中没有用到)五.实验分析与设计1.脱机实验接实验内容前面的步骤设置好R0和R1的值后,对R0和R1进行各种算术、逻辑运算。根据表3.1Am29019个控制信号I8~I0的信息,可以得到下面各种算术、逻辑运算的操作。将开关S2S1S0置于“110”时,指示灯将显示ALU的运算结果;将开关S2S1S0置于“000”时,指示灯将显示SVZC的状态,对应TEC-2机上H25=S,H26=V,H27=Z,H28=C。记录运算结果如下表3.6:R0+R1→R0:首先选择送入ALU进行运算的两个操作数据R和S的来源,操作数(两个)分别对应A、B,因此I2I1I0为001;由于进行的是加法运算,即R+S,对应I5I4I3为000;运算结果或有关数据是R0+R1运算后,又送往R0,即对应F→B,微码为011。而由于A口地址是单端操作,B口支持双端,所以将R1放在A口,R0放于B口,对应微码分别为0001和0000。这些微码确定之后,即可得到运算结果,按STEP之后,保存运算结果和状态标志位信息。同理,可以设置其它算术、逻辑运算的微码。操作同上。需要注意的是SCi的设置。表3.6功能MI8~6MI5~3MI2~0A口B口按压STEP前按压STEP后ALU输出SVZCALU输出SVZCR0+R1→R001100000100010000E000H00002000H1000R0+0→R001100001100000000E000H1000E000H1000R0-R1→R001100100100010000A000H1000A000H1000R0+0→R001100001100000000A000H1000A000H1000计算机组成原理实验R0∨R1→R001101100100010000E000H1000E000H1000R0+0→R001100001100000000E000H1000E000H1000R0∧R1→R0011100001000100004000H10004000H0000R0+0→R0011000011000000004000H00004000H0000R0⊕R1→R0011110001000100000000H00004000H0010R0+0→R0011000011000000000000H00100000H0010R0+R1+C→R0011000001000100004000H00108000H0000R0+0→R00110000110000004000H00004000H0000R0*2→R0111000011000000004000H00008000H0000R0+0→R0011000011000000008000H00008000H1000R0+1→R0011000011000000008001H10008002H1000R0+0→R0011000011000000008001H10008001H1000SCi的设置:R0+R1+C→R0,SCi=10;R0+1→R0,SCi=01;其余SCi=002.联机实验启动TEC-2机,进入监控程序状态:具体操作如下将TEC-2机的FS1~FS4置为1010,STEP/CONT置成CONT。打开计算机电源开关,使计算机正常启动。打开TEC-2电源开关,TEC-2大板左上角一排指示灯亮。运行通讯程序PCEC,在DOS下命令提示(按默认设置:选择1,N)。联机后,进入联机状态,用A命令输入实验内容中的程序。用G命令运行程序在命令提示符下输入:G800,执行上面输入的程序。用R命令观察运行结果及状态并作记录。用T或P命令单步执行,用R命令观看结果及状态。在命令提示符下输入:T或P,观察运行结果及状态。得到运行结果如下:计算机组成原理实验六.思考题1)在脱机方式下进行运算器实验时,在按STEP键之前和按STEP键之后,ALU的输出结果及状态SVZC有何不同,为什么?根据Am2901运算器的组成结构及其工作原理加以说明。在脱机方式下,当设置好相应的微码和A、B口地址后,立即得到ALU的输出结果以及标志位SVZC的值(可以通过指示灯显示),但此并没有将结果保存在标志寄存器里(按STEP前)。当按STEP之后,在脉冲的作用下,将本次(第一次)的运算结果保存在寄存器里,A、B锁存,不再接受此后的运算结果和数据,除非再来一个脉冲。而此时ALU的输出结果则为运算器再做一次运算的结果,这时SVZC所显示的值则为上一步标志位寄存器的值。根据Am2901运算器的组成原理结构可知,ALU是一个组合逻辑电路,当设置好A、B相应的值之后,相应的数据便会立即被传送到ALU中进行运算,并且显示出对应的运算结果,此时结果被保存在寄存器里面。按下STEP之后,在脉冲的作用下,上一步的运算结果也会被保存在寄存器里面,但控制码和地址没有改变,所以上一步的运算结果会重新被送到ALU中进行运算,此时ALU的结果为上一步运算结果再进
本文标题:实验三-TEC-2实验计算机运算器实验
链接地址:https://www.777doc.com/doc-5722584 .html