资源描述
1、TEC-XP机简介
TEC-XP由清华大学科教仪器厂和清华大学计算机系联合研制。该实验系统重点用于计算机组成原理和计算机系统结构等课程的硬件教学实验,还支持监控程序、汇编语言程序设计、BASIC高级语言程序设计等软件方面的教学实验。
1.教学机系统配置了两个不同实现方案的CPU系统,一个CPU沿袭传统的设计思绪,和当前主流的教材配套,由中小规模的器件组成;另一个CPU参考国外著名大学的设计思绪用大规模的FPGA器件设计实现。
2.教学机的机器字长16位,即运算器、主存、数据总线、地址总线都是16位。
3..指令系统支持多种基本寻址方式。其中一部分指令已实现,用于设计监控程序和用户的常规汇编程序,尚保存多条指令供实验者自己实现。
4.主存最大寻址空间是18K字,由基本容量为8K(字节或16位的字)的ROM和2K(字节或16位的字)的RAM存储区域组成。还可以进一步完毕存储器扩展的教学实验。
5.原理上讲,主时钟脉冲的频率可在几百KHz~近2MHz之间选择。
6.运算器由4片位片结构器件级联而成,片间用串行进位方式传递进位信号。ALU实现8种算术与逻辑运算功能,内部涉及16个双端口读出、单端口写入的通用寄存器,和一个能自行认为的乘商寄存器。设立C(进位)、Z(结果为0)、V(溢出)和S(符号位)四个状态标志位。
7.控制器采用微程序和硬布线两种控制方案实现,可由实验者自由选择。实验人员可方便地修改已有设计,或加进若干自己设计与实现的新指令,新老指令同时运营。
8.主机上安装有两路INTEL8251串行接口,一路出厂时已经实现,可直接接计算机终端,或接入一台PC机作为自己的仿真终端;另一路保存学生扩展实现。选用了MAX202倍压线路,以避免使用+12V和-12V电源。
9.在主板的右下方,配置了完毕中断教学实验的全套线路,可以实现三级中断和中断嵌套。
10.系统实现多种运营方式,可以单步/连续运营主存储器的指令或程序,也可以执行一条或若干条通过数据开关手动置入的指令。
11.主板上设立数据开关和微型开关、按键和指示灯,支持最低层的手工操作方式的输入/输出,通过指示灯来显示重要的数据或控制信号的状态,可以完毕及其调试和故障诊断。板上尚有支持教学实验用的一定数量的跳线夹。
12.实验机硬件系统,所有功能部件分区域划分在大一些的水平放置的一块印制电路板的不同区域,所有器件都用插座插接在印制板上,便于更换器件。
13.实验计算机使用单一的5V、最大电流3A的直流模块电源,所耗电流在1.5~2.5A之间。电源模块安装在水平电路板右上角位置,交流220V通过电源接线插到机箱后侧板,经保险丝、开关连接到电路板上,开关安放在机箱右侧靠后位置,方便操作且比较安全。
14. 两路的串行接口的接插座安装在机箱后侧板以方便接线插拔和机箱盖的打开关闭。
2、TEC-XP实验机的硬件组成
2.1总线
在教学计算机总线部件设计中,选用单总线结构,数据总线、地址总线和控制总线都比较简朴,保证教学机的正常运营并体现出总线设计的基本原理。
2.1.1数据总线
被划提成内部总线IB(在CPU一侧)和外部总线DB(在存储器和串行接口一侧)两部分,它们之间通过2片8位的双向三态门电路连接在一起。3组存储器芯片的数据输入输出引脚都直接连接在一起,连接到16位的数据总线DB上,串行接口芯片的8位数据输入输出引脚只与数据总线DB的低8位(DB7-DB0这8位)相连接。
2.1.2地址总线
的构成比较特殊,仅地址寄存器AR一个来源,AR又只接受ALU一路输入。内存储器和接口电路的地址都来自于地址总线AB(地址寄存器AR的输出),地址总线的最高3位送到1片三-八译码器,地址总线的低位字节中的高4位(规定最高一位必然为1)送到此外1片三-八译码器,分别产生存储器芯片的8个片选信号和接口电路的8个片选信号。
2.1.3控制总线
提供内存和串口的读写命令,是把控制器提供的3位控制信号送1片双二-四译码器得到的,以决定有无内存或接口读写,若有,是内存和还是接口工作,执行的是读还是写操作。内存和CPU选用同步方式运营,串行接口和CPU选用状态查询方式工作。
2.2运算器
运算器中配置了两组独立的8位字长的运算器,各自由2片位片结构的运算器器件组成;尚有四位的状态标志寄存器和教学实验所需的相关逻辑部件。所有的算术与逻辑运算均在这里完毕;还完毕几种寻址方式的实际地址计算;它也是重要的数据、地址传送的通路。
2.3控制器
控制器分别用微程序方式与硬布线方式两种方案实现,实验者可以方便地选择使用其中任何一种。这能方便地比较两种控制器各自的优缺陷,和设计过程的相同的、不同的环节与方法。在选用器件时,微程序方案中选用了美国AMD公司的微程序定序器Am2901芯片,保证微程序设计的规范与实用性;控存体选用只读存储器(ROM)芯片,通过对该ROM的编程写入方式支持动态微程序设计。硬布线方案中,节拍逻辑与时序控制信号形成部件(组合逻辑线路)选用了GAL20V8现场可编程器件和Macro Array CMOS High density(简写为MACH)器件,这对简化控制器的逻辑设计与实现至关重要。
2.4存储器
在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器系统,涉及了唯读存储区(ROM,存放监控程序等)和随读写存储区(RAM)两部分,ROM存储区选用4片长度8位、容量8KB的芯片实现,RAM存储区选用2片长度8位、容量2KB的芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被提成3组,其地址空间分派关系是:0-1777h用于第一组ROM,固化监控程序,2023-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作为监控程序的数据区,第二组ROM的地址范围可以由用户选择,重要用于完毕扩展内存容量的教学实验。
2.5 I/O设备
教学计算机提供了2路串行接口(INTEL 8251),以支持接入PC机作为教学计算机的仿真终端完毕输入输出操作;第一个串口的端口地址分派为80h/81h,第二个串口的端口地址可以由用户选择。作为扩展实验内容,也可以通过在一个40芯的器件插座上插上其他标准接口线路(例如INTEL的8255、8253等)并适当接线,完毕常用接口线路的输入输出操作。
3、实验机指令系统
3.1指令分类
教学机的指令按不同的分类标准可划分为:
1. 从指令长度区分,有单字指令和双字指令。
2. 从操作数的个数区分,有三操作数指令、双操作数指令、单操作数指令和无操作数指令。
3. 从使用的寻址方式区分,有寄存器寻址、寄存器间址、立即数寻址、直接地址、相对寻址等多种基本寻址方式。
4. 从指令功能区分,给出了算术和逻辑运算类指令、读写内存类指令、输入/输出类指令、转移指令、子程序调用和返回类指令,尚有传送、移位、置进位标志和清进位标志等指令。
5.按照指令的功能和它们的执行环节,可以把该机的指令划分为如下4组。在后面几节中给出的指令流程框图、指令流程表都是以此为标准进行指令划分的。
A组: 基本指令ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、DEC、 INC、SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ
扩展指令ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、DI、JRS、JRNS、JMPR
B组: 基本指令JMPA、LDRR、STRR、PUSH、POP、PUSHF、POPF、MVRD、IN、OUT、RET
C组: 扩展指令CALR、LDRA、STRA、LDRX、STRX
D组: 基本指令CALA
扩展指令IRET
A组指令完毕的是通用寄存器之间的数据运算或传送,在取指之后可一步完毕。
B组指令完毕的是一次内存或I/O读、写操作,在取指之后可两步完毕,第一步把要使用的地址传送到地址寄存器ARH、ARL中,第二步执行内存或I/O读、写操作。
C组指令在取指之后可三步完毕,其中CALR指令在用两步读写内存之后,第三步执行寄存器之间的数据传送;而其它指令在第一步置地址寄存器ARH、ARL,第二步读内存(即取地址操作数)、计算内存地址、置地址寄存器ARH、ARL,第三步读、写内存。
D组指令完毕的是两次读、写内存操作,在取指之后可四步完毕。
3.2指令格式
TEC-XP教学机实现了29条基本指令,用于编写教学机的监控程序和支持简朴的汇编语言程序设计。同时保存了19条扩展指令,供学生在教学实验中完毕对这些指令的设计与调试。
教学机的指令格式支持单字和双字指令,第一个指令字的高8位是指令操作码字段,低8位和双字指令的第二个指令字是操作数、地址字段,分别有3种用法,如下图所示。
操作码
DR
SR
IO端口地址 / 相对偏移量
立即数 / 直接内存地址 / 变址偏移量
这8位指令操作码(记作“IR15~IR8”),含义如下:
1. IR15、IR14用于区分指令组:0X表达A组,10表达B组,11表达C、D组;C、D组的区分还要用IR11,IR11=0为C组,IR11=1为D组。
2. IR13用于区分基本指令和扩展指令:基本指令该位为0,扩展指令该位为1;
3. IR12用于简化控制器实现,其值恒为0;
4. IR11~IR8用于区分同一指令组中的不同指令。
教学机的指令根据指令字长、操作数不同可划分为如下6种指令格式:
1) 单字、无操作数指令:
格式:
操作码
0000 0000
基本指令:
PSHF; 状态标志(C、Z、V、S、P1、P0)入栈
POPF; 弹出栈顶数据送状态标志寄存器
RET 子程序返回
扩展指令:
CLC; 清进位标志位C=0
STC; 置进位标志位C=1
EI; 开中断,置中断允许位INTE=1
DI; 关中断,置中断允许位INTE=0
IRET; 中断返回
2) 单字、单操作数指令:
格式:
操作码
DR 0000
0000 SR
OFFSET
I/O PORT
基本指令:
DEC DR; DR←DR-1
INC DR; DR←DR+1
SHL DR; DR逻辑左移,最低位补0,最高位移入C
SHR DR; DR逻辑右移,最高位补0,最低位移入C
JR OFFSET; 无条件跳转到ADR,ADR=原PC值+OFFSET
JRC OFFSET; 当C=1时,跳转到ADR,ADR=原PC值+OFFSET
JRNC OFFSET; 当C=0时,跳转到ADR,ADR=原PC值+OFFSET
JRZ OFFSET; 当Z=1时,跳转到ADR,ADR=原PC值+OFFSET
JRNZ OFFSET; 当Z=0时,跳转到ADR,ADR=原PC值+OFFSET
IN I/O PORT; R0←[I/O PORT] ,从外设I/O PORT端口读入数据到R0
OUT I/O PORT; [I/O PORT]←R0,将R0中的数据写入外设I/O PORT端口
PUSH SR; SR入栈
POP DR; 弹出栈顶数据送DR
扩展指令:
RCL DR; DR与C循环左移,C移入最低位,最高位移入C
RCR DR; DR与C循环右移,C移入最高位,最低位移入C
ASR DR; DR算术右移,最高位保持不变,最低位移入C
NOT DR; DR求反,即DR←/DR
JMPR SR; 无条件跳转到SR指向的地址
CALR SR; 调用SR指向的子程序
JRS OFFSET; 当S=1时,跳转到ADR,ADR=原PC值+OFFSET
JRNS OFFSET; 当S=0时,跳转到ADR,ADR=原PC值+OFFSET
3) 单字、双操作数指令:
格式:
操作码
DR
SR
基本指令:
ADD DR,SR; DR←DR+SR
SUB DR,SR; DR←DR-SR
AND DR,SR; DR←DR and SR
CMP DR,SR; DR-SR
XOR DR,SR; DR←DR xor SR
TEST DR,SR; DR and SR
OR DR,SR; DR←DR or SR
MVRR DR,SR; DR←SR
LDRR DR,[SR]; DR←[SR]
STRR [DR],SR; [DR]←SR
扩展指令:
ADC DR,SR; DR←DR+SR+C
SBB DR,SR; DR←DR-SR-C
4) 双字、单操作数指令:
格式:
操作码
0000 0000
ADR
基本指令:
JMPA ADR; 无条件跳转到地址ADR
CALA ADR; 调用首地址在ADR的子程序
5) 双字、双操作数指令:
格式1:
操作码
DR 0000
0000 SR
DATA
基本指令:
MVRD DR,DATA; DR←DATA
扩展指令:
LDRA DR,[ADR]; DR←[ADR]
STRA [ADR],SR; [ADR]←SR
格式2:
操作码
DR
SR
ADR
扩展指令:
LDRX DR,OFFSET[SR]; DR←[OFFSET+SR]
STRX DR,OFFSET[SR]; [OFFSET+SR]←[DR]
4、实验机软件系统
软件:解释 BASIC 语言
汇编语言支持
监控程序(指令)级模拟
教学机模拟:运算器、控制器模拟
(微程序级或硬连线控制器级模拟)
主存储器模拟,总线,接口模拟
输入设备/ 输出设备模拟
运营环境:PC机,Windows系统
从计算机组成原理课程教学需求的角度看,该计算机软件系统的组成也是完整的,支持简朴的高级语言(涉及浮点运算指令和基本函数运算功能),汇编语言(支持基本伪指令功能)和二进制的机器语言,配有自己的监控程序,以及PC机仿真终端程序等。毫无疑问,所有软件的源程序代码是宝贵的教学参考资料。
从上图可以看到,软件实现的计算机系统级和指令级模拟系统,可以脱离硬件教学计算机系统,直接在PC机的Windows平台上运营教学机的程序,可以在PC机上运营教学机的监控程序,其运营效果和在真正的教学计算机上运营监控程序是相同的。微程序和硬连线这一级别的模拟软件,可以通过PC机屏幕查看在教学计算机内部数据、指令的流动过程,并显示每一步的运营结果,为设计、调试教学机新的软件或硬件功能提供重要的辅助作用。
5、 实验机与PC关系
在本次实验中,需要使用到一台TEC-XP实验机和一台PC机;其中TEC-XP教学机系统是实验中必不可少的东西,教学机系统中配置了两个不同方案的CPU系统,一二CPU演戏传统的设计思绪,和当前主流的教材配套,由中小规模的器件组成;另一个CPU参考国外著名大学的设计思绪用大规模的EPGA器件设计实现。上面集成了各类实验所需的硬件元器件,它是我们本次实验的重要设备。
另一方面,在实习的过程中还配置了PC机,这重要是为了在做联机实验是要用到电脑;当用串口线将PC机遇教学机连接好设立好后,通过软件PCEC 16.EXE进行以及一些基本的汇编命令,我们就可以设计一些小程序来操作各种不同的寄存器,从而验证或是自己扩展一些汇编指令,实现通过程序来操作实验机教学系统的目的。
6、 实验机工作原理
在实验机上运营一下小程序,来说明实验机的工作原理
小程序如下:
2023 MVRD R0, 0001
2023 MVRD R1, 0002
2023 ADD R0,R1
2023 RET
2023
MVRD R0 , 0001这条指令的微程序如下
取指周期
PC -> MAR,1 -> R
Ad(CMDR) ->CMAR
M(MAR)->MDR,(PC) + 1->PC
Ad(CMDR) ->CMAR
MDR ->IR, OP(IR) ->CU->形成微指令
执行周期
0001–> R0 将0001直接送至通用寄存器R0;
Ad(CMDR)->CMAR 取指令程序入口地址->CMAR
MVRD R1 , 0002这条指令的微程序如下
取指周期:
PC -> MAR,1 -> R
Ad(CMDR) ->CMAR
M(MAR)->MDR,(PC) + 1->PC
Ad(CMDR) ->CMAR
MDR ->IR, OP(IR) ->CU->形成微指令
执行周期
0002–> R1 将0002直接送至寄存器R1;
Ad(CMDR)->CMAR 取指令程序入口地址->CMAR
ADD R0,R1这条指令的微程序如下
取指周期:
PC -> MAR,1 -> R
Ad(CMDR) ->CMAR
M(MAR)->MDR,(PC) + 1->PC
Ad(CMDR) ->CMAR
MDR ->IR, OP(IR) ->CU
执行周期:
(R0)+(R1) ->R0
Ad(CMDR)->CMAR 取指令程序入口地址->CMAR
RET这条指令的微程序
取指周期
PC -> MAR,1 -> R
Ad(CMDR) ->CMAR
M(MAR)->MDR,(PC) + 1->PC
Ad(CMDR) ->CMAR
MDR ->IR, OP(IR) ->CU
执行周期:
0 –>G
Ad(CMDR)->CMAR 取指令程序入口地址->CMAR
通过上述这段实现加法运算的小程序可以得出计算机运营程序的原理,计算机一方面将每一条汇编程序转化成微程序,而每一段微程序都有若干条微指令构成,微指令可以直接对硬件进行操作。
7、实验内容及实验过程
7.1基础汇编语言程序设计
7.1.1实验内容
①用R命令查看寄存器内容或修改寄存器的内容。
②在命令行提醒符状态下输入R R0,用来修改R0寄存器的内容。
③通过D 2023可以显示从2023H开始的连续128个字的内容。
④通过E 2023可以修改存储器的内容。.
⑤用A命令键入一段汇编程序,重要是向累加器送入数据和进行运算。
⑥用U命令反汇编刚输入的程序。
⑦用G命令运营刚输入的程序。
⑧用P或T命令单步执行刚键入的程序
7.1.2实验过程
1. 准备一台串口工作良好的PC机;
2. 将TEC-XP实验箱与PC机通过串口COM1或者COM2连接,并且将实验系统左下方的五个黑色的控制机器运营状态的开关置成00110(连续、内存读指令、组合逻辑、联机、16位),并打开电源;
3. 在PC机C盘目录下tec-xp目录下找到PCEC16.EXE文献并运营,根据连接的PC机串口设立联机工作,直至主机显示如下:
TEC-2023 CRT MONITOR
Version 1.0 April 2023
Computer Architectur Lab. , Tsinghua University
Programmed by He Jia
即为联机成功;
4. 联机成功后进行实验内容。
7.2脱机运算器实验
7.2.1实验过程
1. 将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化;
2. 按下表所列的操作在机器上进行运算器脱机实验,将结果填入表中:其中D1取为0101H,D2取为1010H;通过两个十二位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观测运算结果及状态标志。
表1.脱机运算器实验结果
运算
I8~I0
SST
SSH
SCi
B
A
压START前
压START后
ALU
输出
CZVS
ALU
输出
CZVS
*D1+0->R0
001
00
00
0000
不用
0101
0000
0101
0000
*D2+0->R1
001
00
00
0001
不用
1010
0000
1010
0000
R0+R1->R0
001
00
00
0000
0001
1111
0000
2121
0000
R0-R1->R0
001
00
01
0000
0001
0101
0000
F0F1
1000
R1-R0->R1
001
00
01
0001
0000
0F0F
1000
0E0E
1000
R0∨R1->R0
001
00
00
0001
0000
0F0F
1000
0F0F
1010
R0∧R1->R0
001
00
00
0000
0001
0101
1010
0101
1010
R0R1->R0
001
00
00
0000
0001
0E0E
1010
0101
1000
¬(R0R1)->R0
001
00
00
0000
0001
FEFE
1000
0E0E
1001
2*R0->R0
001
00
00
0000
不用
FEFE
1001
FDFC
0001
R0/2->R0
001
00
00
0000
不用
FDFC
0001
7EFE
0001
7.3组合逻辑控制器实验
7.3.1实验内容
1. 完毕控制器部件的教学实验,重要内容是有学生自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试对的。
2. 一方面是看懂TEC-XP教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运营的几条指令(例如,ADD、SHR、OUT、MVRD、JRC、CALA、RET等指令)的功能、格式和执行流程。
3. 设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试对的。例如ADC、JRS、JRNS、LDRA、STOR、JMPR等指令,可以从《TEC-XP教学计算机系统技术说明与实验知道》第二章给出的19条扩展指令中任意选择,当然也可以设计与实现其它的指令,涉及本来己程序的基础上按照ABEL语言的规定添加 新指令的控制信号,编译产生JED文献并下载到MACH芯片里。软件的使用和下载参见附录。
4. 单条运营指令,查看指令的功能、格式和执行流程。
现将教学计算机左下方的5个拨动开关置为11110,再按一下“RESET”按键,然后通过16位的数据开关(SWH、SWL)置入指令,按“START”按键单步送脉冲,通过指示灯观测控制信号的变化。
5. 用控制程序的A、E(扩展指令必须用E命令置入)命令编写一段小程序,观测运营结果。
实验是将教学机左下方的5个拨动开关置为00110,运营编写的小程序。观测终端显示的结果,检查设计的指令是否对的。若与预定结果不符,可查看指令的功能、格式、执行、流程设计的是否对的。
7.3.2实验过程
1. 接通教学机电源;
2. 将教学机左下方的5个拨动开关置为11110(单步、手动指令、组合、16位、联机);
3. 按一下“RESET”按键;
4. 通过16位的数据开关SWH、SWL置入16位的指令操作码;
5. 在单步方式下,通过指示灯观测各类基本指令的节拍。
选择基本指令的A组指令中的ADD指令,观测其节拍流程;
6. 单步方式下,通过指示灯观测各类基本指令的控制信号。
1)选择基本指令的A组指令中的SHR指令,观测期执行过程中控制信号的变化,分析其作用。
2)选择基本指令的B组指令中的JMPA指令,观测其执行过程中信号的变化,分析其作用。
7.4存储器实验
7.4.1实验内容
1. 要完毕存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和OE控制信号的对的状态;
2. 用监控程序的D、E命令对存储器进行读写,比较RAM(6116)EEPROM(28系列芯片)EPROM(27系列芯片)在读写上的异同;
3. 用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否对的;
4. 用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28系列芯片)进行读写,用D命令查看结果是否对的;如不对的,分析因素,改写程序,重新运营。
7.4.2实验过程
1.检查FPGA下方的插针要按下列规定短接:标有“/MWR”“RD”的插针左边两个短接,标有“ /MRD”
“GND”的插针右边两个短接,标有ROMLCS和RAMLCS的插针短接。
2.RAM(6116)读写实验
1简朴指令测试:
(1)用E命令改变内存单元的值并用D命令观测结果。
图1-1. E命令改变内存单元的值并用D命令观测结果
分析:可以看到相应内存单元已被修改为指定的值
(2) 并用D命令观测结果。
图1-2. E命令改变内存单元的值并用D命令观测结果
分析:可以显示子指定内存单元地址开始128个内存单元的值,这里只截取了一部分以求简练。
(3) 断电后重启内存单元的值已经改变
图1-3.断电后的查询结果
分析结果:从输入输出结果可以看出,RAM芯片在断电重启后原先写入的程序都会丢失,需要每次重新执行输入写入程序的过程。
2用A命令输入一段程序,执行并观测结果。截屏如下:
图2-1.A命令执行结果
分析:
第一次单步调试,R0的值变为AAAAH,其余寄存器的值不变
第二次但不调试,R1的值变为5555H,其余寄存器的值不变
第三次单步调试,R0的值变为0000H,其余寄存器的值不变
图2-2.A命令执行结果续
3 EPROM芯片实验。
将芯片0000~001F的内存单元的值置为01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F。截屏如下:
图3-1.擦除芯片内容
断电重启后的实验结果如下:
图3-2.断电重启后的实验结果
分析:由图可知断电后重启,内存数值没变。
4 58C65芯片扩展EEPROM实验。
(1)、用E命令改变内存单元的值并用D命令观测结果。截屏如下:
图4-1. 用E命令改变内存单元的值并用D命令观测结果
图4-2 修改内存单元程序代码
图4-3内存单元值修改效果演示
分析:有上述结果可以知道从5000H开始的内存值被程序修改,同时运营时可以看到程序有延迟,这是由于地址为2200开始的子程序代码决定的,当将子程序中R3的内容修改为00FF后运营结果仍对的,但延迟时间有变化。
7.5微程序控制器实验
7.5.1实验内容
1. 实验之前,应认真准备,写出实验环节和具体设计内容,否则实验效率会特别低,一次实验时间主线无法完毕实验任务,即使基本做对了,也很难说学懂了什么重要教学内容;
2. 应在实验前掌握所有控制信号的作用,在脱机运算器实验中,已给出了与运算器有关的控制信号的作用,16位机微程序控制器用到的控制信号的功能表可参见《TEC-XP教学计算机系统技术说明与实验指导》第三章的控制器部件和运算器部件的相关内容。需要注意的是中端用到了DC23,在T4~T0=00010一拍时DC23为1,其余节拍均为0;
3. 实验过程中,应认真进行实验操作,既不要由于粗心导致短路等事故而损坏设备,又要仔细思考实验有关内容,提高学习的积极性和发明性,把自己想不太明白的问题通过实验理解清楚,争取最佳的实验效果,力求达成教学实验的重要目的;
4. 实验之后, 思考总结,写出实验报告,涉及实验环节和具体的实验结果,碰到的重要问题和分析与解决问题的思绪。
7.5.2实验过程
1. 接通教学机电源;
2. 将教学机左下方的5个拨动开关置为11010(单步、手动置指令、微程序、联机、16位);
3. 按一下“RESET”按键;
4. 通过16位的数据开关SWH、SWL置入指令操作码;
5. 在单步方式下,通过指示灯观测各类基本指令的微码
1)选择基本指令的A组中的ADD指令,观测其节拍流程
2)选择基本指令的B组指令中的MVRD指令,观测其节拍流程
6. 在连续方式下,用A命令键入程序并运营
图6-1
分析:程序将R0赋值 0036H,结果如图,寄存器R0的值已被修改。
7. MPROM芯片扩展:
图7-1对CMH的操作
图7-2对CML的操作
8. 测试ADC指令:
图8-1
分析:程序将R0赋值0101,R1赋值1010,然后用E命令键入运用已经编写好的ADC指令其中6D00和2023的得出是从扩展指令的指令格式表中查表得出的。00100000 DRSR 即2023,功能是DRßDR+SR+C.所以是将R0,R1中的值相加再加1最后放到R0中,而R1中的值不变。于是的到如上结果。
9. 测试CALR指令:
图9-1测试CALR指令程序代码
图9-2测试CALR指令测试效果
分析:就是一个调用子程序的过程,实现输出A~Z,具体原理和上一题同样。
图9-3测试CALR指令内存单元值查看
10. 测试指令LDRA:
图10-1测试指令LDRA效果演示
分析:先将内存单元2100的内容赋给R0,输出R0,然后判断是否输出万,未完则循环测试,然后通过LDRA指令将内存单元2101的值赋给R0,然后在输出R0.这里同样,扩展指令无法通过A指令输入,必须用E指令键入,并且同样修改的值为其指令格式的编码。同样在扩展指令格式表中可以查表的到。
8、实验总结
通过本次实习使我对计算机的工作原理有了更加进一步的了解,在学习本学期开设的计算机组成与原理这门课程时感觉很吃力,很多概念,电路图搞不清楚,更重要的是计算机有的模块到底是如何工作的感觉很模糊,对微指令那块学习起来感觉很吃力,由于不明白计算机到底是如何通过微指令控制硬件电路的。还好,通过本次实习使我彻底搞清楚了微指令,明白了计算机是如何解释一条汇编指令的。本次实验还尝试扩展了一条微指令,扩展的是SBB那条指令,运营结果是对的的,说明微程序工作原理应当搞清楚了。
本次实验时间很紧张,但是学到了很多有用的知识,清楚了计算机的工作原理,为下学期的汇编语言的学习打下了坚实的基础。
展开阅读全文