当前位置:首页 > 计算机组成原理实验报告
计算机组成原理实验报告
6、实验机工作原理
接通TEC-XP教学机的电源,将功能开关拨为11010,即设为单步、手动执行指令,使用微程序控制器,联机操作。
运行一小段微程序,根据整个程序的执行过程,对实验机的工作原理加以说明。运行的微程序为A组基本指令——加法指令ADD R0,R1,程序如下:
A 2000
2000: MVRD R0,0001 2002: MVRD R1,0002 2004: ADD R0,R1
2006: RET
用U命令反汇编刚输入的程序: U 2000
用G命令运行前面键入的源程序
G 2000
运行结果:R0 = 0003, R1 = 0002;
加法指令ADD R0 , R1的整个指令周期包含6个CPU周期,其中前3个CPU周期是取指阶段,所有指令都是一样的,第4个CPU周期用于指令操作码的地址映射,第5个CPU周期完成加法指令的功能,第6个CPU周期用于判断是否需要执行中断周期,从而决定该加法指令执行结束后的流向。 程序运行过程为:
(1)公操作微指令(0?PC、DI#=0)
该微指令在控制存储器中位于第一个单元,即微地址为00H,是程序运行时的初始操作。本实验中由于是脱机单步运行状态,因此每条指令执行时都需要该微指令。
该操作中的PC清零是通过运算器的PC本身相减得到的,因此这里与运算器相关的控制信号应选择I2~0=001(选择A、B锁存器输入)、I8~6=011(F?B,结果保存到B口指定寄存器)、I5~3=001(S-R,减法运算)、B口=0101(指定R5,即PC)、A口=0101(指定R5,即PC)、SST=000(标志位保持不变)、SSH SCI=001(减法运算的最低位进位Cin=1)。
该操作中不需要访存,或访问IO,因此MRW为100(无读写)。DC1无用,选择000。
本条微指令的另一个操作DI#=0,使用DC2=111,选择关中断实现。 本条微指令执行完成后应进入指令的取指周期,因此要转向执行PC?AR微指令,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(00H)的基础上加1,即01H。顺序寻址方式下,SCC无效,直接写0000。 (2)送指令地址微指令(PC?AR、PC+1?PC)
本条微指令首先要做的是PC?AR的操作,这里使用A口地址指定PC,即0101,并设置I8~6=010(使A口指定内容输出到内部总线上),DC2=011(指定AR接收内部总线上的数据)。
本条微指令中要完成的PC+1?PC,仍然通过运算器做加法,加上Cin来实现,故控制信号I2~0=011(选择0、B数据),B口=0101(B口指定PC),I8~6=010(F?B,运算结果送PC),I5~3=000(加法运算),SST=000(标志位保持不变)、SSH SCI=001(增量运算中使用最低进位位Cin提供加数)。
该操作中不需要访存,或访问IO,因此MRW为100(无读写)。DC1无用,选择000。
本条微指令将所要访问主存单元的地址送给AR,则接下来应从主存中读出机器指令字,
第 9 页 共 14 页
计算机组成原理实验报告
即本条微指令之后的微指令一定是MEM?IR,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(01H)的基础上加1,即02H。顺序寻址方式下,SCC无效,直接写0000。
(3)读指令字微指令(MEM?IR)
本条微指令需要做访存读取机器指令,因此运算器相关的命令可设置无效,即I2~0=000,I8~6=001,I5~3=010,A口=0000,B口=0000,SST=000(标志位保持不变)、SSH SCI=000。
访存获取的指令字应存放于指令寄存器IR中,因此,MRW=001(内存读),DC2=001(IR接收)。DC1无用,选择000。
本条微指令执行后,控制器应进行操作码的译码,做微地址映射,因此,CI应选择1110(顺序寻址),则下条微指令的地址应在本条微指令地址(02H)的基础上加1,即03H。顺序寻址方式下,SCC无效,直接写0000。 (4)地址映射微指令(/MAP)
本条微指令主要是由地址映射部件,根据指令操作码给出对应的指令周期微程序的入口地址,故,本条微指令中有关运算器和访存的控制信号均无效,即I2~0=000,I8~6=001,I5~3=010,A口=0000,B口=0000,SST=000(标志位保持不变),SSH SCI=000,DC1=000,DC2=000。
微地址的映射用CI的2号命令控制,即CI3~0=0010(指令功能分支),SCC3~0=0000(必转)。下址字段无效,写00H。根据地址映射表4-1可知,ADD指令的微程序入口地址为04H,故该微指令执行后,下址指示灯显示为0000 0100。 (5)加法微指令(R0+R1?R0)
本条微指令主要完成两个通用寄存器的加法运算,由实验二可知,运算器相关的控制信号为:I2~0=001(选择AB口数据),I8~6=011(F?B),I5~3=000(加法运算),A口=0001(R1作为源操作数),B口=0000(R0作为目的操作数),SST=001(运算影响标志位),SSH SCI=000(Cin=0)。
本条微指令无访存控制,因此DC1=000,DC2=000。
本条微指令执行结束时,ADD指令功能已完成,即指令的执行周期完成,按照指令周期的流程,这里需要检查系统是否有中断请求。因此,本条微指令执行结束即应转向中断判断微指令,CI3~0=0011码(条件转移),SCC3~0=0000(必转),下址字段给出中断判断微指令的地址,30H。
(6)中断判断微指令(STR→Q、CC#=INT#)
本条微指令用于判断当前系统是否有中断请求,若有,则转去处理中断(地址为3AH的微指令),否则顺序执行下一条机器指令(地址为31H的微指令)。因此,CI3~0=0011码(条件转移),所依据的条件应为SCC3~0=0010(若有中断请求时转移),下址=3AH。 在进行中断判断时,需要使用到标志位状态,因此,本条微指令需要做的另一个操作是DC1=011(将标志位送到内部总线上),用以判断中断。
7、实验内容及实验过程
7.1基础汇编语言程序设计
本次实验是基础汇编语言程序设计,主要目的是学习和了解TEC-XP教学实验系统监控命令的用法以及其指令系统;并学习简单的TEC-XP教学实验系统汇编程序设计。学习联机使用TEC-XP教学实验系统和仿真终端软件PCEC。使用监控程序R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容。使用A命令写一小段汇编程序,U
第 10 页 共 14 页
计算机组成原理实验报告
命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
(1)实验具体操作步骤:
1.准备一台串口工作良好的PC机;
2.将TEC-XP放在实验台上,打开实验箱的盖子,确定电源处于断开状态;
3.将黑色的电源线一端接220V交流电源,另一端插在TEC-XP实验箱的电源插座里;
4.取出通讯线,将通讯线的9芯插头接在TEC-XP实验箱上的串口“COM1”或“COM2”上,另一端接到PC机的串口上; 5.将TEC-XP实验系统左下方的五个黑色的控制机器运行状态的开关置于正确的位置,在找个实验中开关应置为00110(连续、内存读指令、组合逻辑、联机、16位),控制开关的功能在开关上、下方有标识;开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意,其它实验相同;
6.打开电源,船形开关和5V电源指示灯亮。
7.在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为“1”或“2”, 其它的设置一般不用改动,直接回车即可。(具体步骤附后) 8.按一下“RESET”按键,再按一下“START”按键。
(2)软件操作注意事项:
1.用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口;
2.如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试;
3.有时若TEC-XP实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 4.在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。
7.2脱机运算器实验
本次实验是脱机运算器实验,主要目的是深入了解AM2901运算器的功能与具体用法,4片AM2901的级联方式,深化运算器部件的组成、设计、控制与使用等诸项知识。 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 (1)12位微型开关的具体控制功能分配如下:
A口、B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号;
I8-I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位的控制码;
SCi、SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理AM2901产生的状态标志位的结果。 (2)开关位置说明:
做脱机运算器实验时,要用到提供24位控制信号的微动开关和提供16位数据的拨动开关。微动开关是红色的,一个微动开关可以提供12位的控制信号,标有micro switch 1和micro switch 2;数据开关是黑色的,左边的标有SWH的是高8位,右边的标有SWL的是低8位。 微动开关与控制信号对应关系见表(由左到右):
Micro switch 1 Micro switch 2 第 11 页 共 14 页
计算机组成原理实验报告
I8-I6 I5-I3 I2-I0 SST
(3)开关检测
SSH SCI B PORT A PORT 红色微动开关是该实验系统使用寿命最短的器件,开关好坏的检测方法比较简单,用户将五个控制机器工作方式的开关置于“1XX00”,从左面起第二个和第三个的开关处于任意位置,然后将两个微动开关上的24个小纽子依次置为1(开关拨到上方为1),看对应的指示灯是否亮,如果有一个或数个指示灯不亮,则一般是开关出了问题。 (4)实验步骤
将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。
接下来,按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:其中D1取为0101H,D2取为1010H;通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。
7.3组合逻辑控制器实验
本次实验是组合逻辑控制器实验,其只要目的是通过看懂教学计算机中已经设计好并正常运行的几条典型指令(例如,ADD、SHR、OUT、MVRD、JRC、RET、CALA等指令)的功能、格式和执行流程。深入理解计算机控制器的功能、组成知识;深入地学习计算机各典型指令的执行流程;对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念。 (1)实验内容
1.完成控制器部件的教学实验,主要内容是由学生自己设计几条指令的的功能、格式和执行流程,并在教学计算机上实现、调试正确。
2.首先是看懂TEC-XP教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令(例如,ADD、SHR、OUT、MVRD、JRC、CALA、RET等指令)的功能、格式和执行流程。
3.设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确。例如ADC、JRS、JRNS、LDRA、STOR、JMPR等指令,可以从《TEC-XP教学计算机系统技术说明与实验指导》第二章给出的19条扩展指令中任意选择,当然也可以设计与实现其它的指令,包括原来已经实现的基本指令(要变换为另外一个指令操作码)或自己确定的指令。在原来提供的MACH程序的基础上按照ABEL语言的要求添加新指令的控制信号,编译产生.JED文件并下载到MACH芯片里。软件的使用和下载参加附录。
4.单条运行指令,查看指令的功能、格式和执行流程。
5.先将教学机左下方的5个拨动开关置为11110,再按一下“RESET”按键,然后通过16位的数据开关(SWH、SWL)置入指令,按“START”按键单步送脉冲,通过指示灯观察控制信号的变化。
6.用监控程序的A、E(扩展指令必须用E命令置入)命令编写一段小程序,观察运行结果。 实验时将教学机左下方的5个拨动开关置为00110,运行编写的小程序。观察终端显示的结果,检验设计的指令是否正确。若与预定结果不符,可查看指令的功能、格式、执行、流程设计的是否正确。 (2)实验步骤
1. 接通教学机电源;
2. 将教学机左下方的5个拨动开关置为11110(单步、手动置指令、组合、16位、联
机);
第 12 页 共 14 页
共分享92篇相关文档