1、上,另一端接到PC机的串口上;5) 将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),控制开关的功能在开关上、下方有标识;开关拨向上方表示1,拨向下方表示0,X表示任意,其他实验相同;6) 打开电源,船型开关盒5V电源指示灯亮;7) 在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为2,其他的设置一般不用改动,直接回车即可;8) 按一下RESET按键,再按一下START按键,在主机上显示:TEC2000 CRT MONITORVersion
2、1.0 April 2001Computer Architectur Lab,Tsinghua UniversityProgrammed by He Jia六、实验示例:1.用R命令查看寄存器内容或修改寄存器的内容 1)在命令行提示符状态下输入: R ;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。 2)在命令行提示符状态下输入: R R0 :修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可由一个或数个空格 主机显示: 寄存器原值:_ 在该提示符下输入新的值0036 再用R命令显示寄存器的内容,则R0的内容变为0036。 测试结果如下图: 3.用命令修改存
3、储器内容 在命令提示符状态下输入: E2000 屏幕显示: 2000 地址单元的原有内容:光标闪烁等待输入 输入 0000 依次改变地址单元20012005的内容为:1111 2222 3333 4444 5555 注意:用E命令连续修改内存单元的值时,每修改完一个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。 5.用A命令花不如一段汇编源程序,主要是想累加器送入数据和进行运算,执行程序并观察运行结果。 A 2000:表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序:MVRD R0,AAAA ;MVRD与
4、R0之间有且只有一个空格,其他指令相同 2002:MVRD R1,5555 2004:ADD RO,R1 2005:AND R0,R1 2006:RET ;程序的最后一个语句,必须为RET指令 2007:(直接敲回车键,结束A命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 2)用U命令反汇编刚输入的程序 在命令行提示符状态下输入: U 2000 在相应的地址会得到输入的指令及其操作码连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。 3)用G命令运行前面键入的源程序 G 2000 程序运行结束后,可以看到
5、程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为5555H,说明程序运行正确。 4)用P或T命令,但不执行这段程序,观察指令执行结果 T 2000 寄存器R0被赋值为AAAAH T 寄存器R1被赋值为5555H 做加法运算,和放在R0,R0 的值变为FFFFH 做与运算,结果放在R0,R0的值变为5555H 用P命令执行过程同上T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序依次执行完成。T,P命令每次执行后均显示所由通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。运行结果如下:例1:设计一个小程序,从键盘上接收一个字符并在屏幕上数出显示该
6、字符。A 2000屏幕将显示:2000:输入如下形式的程序:IN 81 :判断键盘上是否按了建2001:SHR R0 :即串行口是否有输入的字符2002:SHR R0 2003:JRNC 2000 :未输入完则循环测试2004:IN 80 :接收该字符2005:OUT 80 :在屏幕上输出显示字符62006:RET :每个用户程序都必须用RET指令结束2007: :(按回车即结束输入过程)注:在十六位机中,基本I/O接口的地址是确定的,数据口的地址为80,状态口的地址为81。2用“G”命令运行程序 G 2000 执行上面输入的程序 光标闪烁等待输入,用户从键盘入字符后,屏幕会显示该字符。 该例
7、建立了一个从主存2000H地址开始的小程序。这种方式下,所有的数字都约定使用16进制数,故数字后不用跟字符H。每个用户程序的最后一个语句一定为RET汇编语句。因为监控程序是用类似子程序调用方式使实验者的程序投入运行的,用户程序只有用RET语句结束,才能保证程序运行结束时能正确返回到监控程序的断点,保证监控程序能继续控制教学机的运行过程。测试如下图:七、实验心得:1、这是本学期第一次计算机组成原理的实验,我初步掌握了TEC-XP实验系统和PC机上仿真软件、模拟器的基本操作方法。2、认识并熟悉了一些基本汇编语言的操作,了解到程序内部运行机制,感觉很神奇。3、第一次实验手忙脚乱,打错指令却忘了时时检
8、查,最后只能重新再输入一遍,做了很多无用功(导致后面两个实验是后来有时间才补上的),但同时也让我对汇编指令更加熟悉了一些。4.本来想建议说PC端软件可以改进一些,加入后退、修改功能之类的,后来仔细一想,错误的程序输入以后内存的值也被改变了,这样的功能并不实际。5.这个实验内容较多,需要学会跟同学分工合作才能更好地完成。实验题目 实验二 脱机运算器实验 一、实验目的:1. 深入了解AM2901运算器的功能与具体用法;2. 深化运算器部件的组成、设计、控制与使用等知识。3. TEC-XP+教学实验系统和仿真终端软件PCEC。本次实验脱离PC端,主要通过实验箱进行。因此这个实验更像数据逻辑的电路实验
9、。脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。下面先把前边几讲过的,与该实验直接有关的结论性内容汇总如下。一、12位微型开关的具体控制功能分配如下:A口,B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号:I8-I0:选择操作数来源,运算操作功能,选择操作数处理结果和运算器输出内容的3组3位的控制码:SCI,SSH和SST:用于确定运算器最低位的进位输入,移位信号的入/出和怎样处理AM2901产生的状态标志位
10、的结果。二、开关位置说明:做脱机运算器实验时,要用到提供24位控制信号的微动开关和提供16位数据的拔动开关。微动开关是红色的,一共有三个,一个微动开关可以提供12位的控制信号,三个开关分别标有SWI1 micro switch 、SW2 micro switch 和SW3 micro switch;数据开关是黑色的,左边的标有SWH的是高8位,右边的标有SWL的是低8位。微动开关与控制信号对应关系见表(从左到右):SW1 Micro switchSW2 Micro switchSW3 Micro switchT3-T0REQ/MIO/WEI2-I0I8-I7I6-I3B PORTA PORTS
11、ST SSH SCIDC2DC1三、开关检测红色微动开关是该实验系统使用寿命最短的器件,开关好坏的检测方法比较简单,用户将五个控制机器工作方式的开关置于“1XX000”,从左面其第二个和第三个的开关处于任意位置,然后将两个未动开关上的24小纽子依次置为1(开关拨到上方为1),看对应的指示灯是否亮,如果有一个或数个指示灯不亮,则一般是开关除了问题。在脱机方式下,对于给定指令分析其执行过程中运算的步骤,通过对AM2901运算器反需控制信号的设置,使之完成运算,并核对运算结果。在脱机方式下,通过设置 SW1、SW2、SW3 各微码字段和数据开关,可实现多种运算,以实现AAAAHR1为例说明操作过程。
12、1) 按照下表中的微码和数据开关,对运算器进行设置。操作步骤如下:微动开关数据开关I8-I6I5-I3SSTSSHSCiBAD15-D0011000111000001不用AAAA Ha) 将教学机左下方的6个拨动开关置为1XX000(单步、16位、脱机、 CACH);先按一下RESTET按键,再按一下START按键,进行初始化。b) 通过16个数据开关设置立即数AAAAH。c) 通过SW1、SW2、SW3设置各微码。2) 按一次START键,立即数XXXX H置入R1,通过显示灯察看按START键后的输出。若要进行其它操作:a) 重新设置SW1、SW2、SW3、数据开关,通过显示灯观察输出。b
13、) 然后按START键执行操作,通过显示灯观察按下START键后的输 出,检查运算结果是否正确。3) 完成下表的各种运算,记录按START键前和按START键后的ALU输出及标志位C、Z、V、S的值。运算I8I0 SST SSH SCi B A 压STEP前压STEP后ALU输出 CZVS CZVSD1+0R0011000111 001 00 00 000001h 随机D2+0R1 0001 10h 0000 R0 + R1R001100000100l 11h 21h R0-R1R0011001001 0l 01t1 F1h 1000 R1-R0R1 000l 0Fh 0Eh R0 RlR00
14、110110010FH10000EHR0 R1R001110000101HR02RlR0 011110001 0010EH (R0R1)R0011111001FEH 10012*R0R0 111010011 FEH100l FCHR020 101000011 7EH 注:用*标记的运算,表示D1,D2的数据是由拨动开关SW给出的,开关给的是二进制的信号,注意二进制和十六进制间的转换.六、思考题:问题:分析比较各指令按START键前和按START键后的值,是否有不同并解释。 前后结果有些不同,按”START”按键之前,ALU输出的是计算结果,参照ALU的操作周期的时序可知A,B口数据锁存是在时钟
15、的下降沿,通用寄存器的接收是在低电平,所以要想寄存器接收ALU的计算结果必须按一次”START”按键。这次实验使我初步了解运算器芯片Am2901的结构和功能,它能实现R+S、S-R、R-S三种算术运算功能和五种逻辑运算功能。我们通过三位功能选择码I5、I4、I3实现选择ALU的八种运算(三种算术运算、五种逻辑运算)功能之一。选择送入ALU的两个操作数据R和S的组合关系是用I2、I1、I0三位操作数选择码控制实现的。通用寄存器组和Q寄存器执不执行接收操作或移位操作确定了运算结果或数据的输送方式和方向, I8、I7、I6三位结果选择码控制确定了向芯片的输出信息提供的内容。最后懂得了通过查表用指令微码来实现一些简单的逻辑功能。加深了对硬件操作的兴趣。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1