计算机组成原理实习 TEC-XP
寝室文化节-清明股市放假
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片三<
br>-八译码器,分别产生存储器芯片的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,固化监控程序,2000-
2777h
用于RAM,保存用户程序和用户数据,其高端的一些单元作为监控程序的数据区,第
二组ROM的地址
范围可以由用户选择,主要用于完成扩展内存容量的教学实验。
2.5 IO设备
教学计算机提供了2路串行接口(INTEL 8251),以支持接入PC机作为教学计算机的仿真终端完成输入输出操作;第一个串口的端口地址分配为80h81h,第二个串口的端口地址可
以
由用户选择。作为扩展实验内容,也可以通过在一个40芯的器件插座上插上其他标准接口
线路(例如I
NTEL的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、
JR
NS、JMPR
B组: 基本指令JMPA、LDRR、STRR、PUSH、POP、PUSHF、
POPF、MVRD、IN、
OUT、RET
C组:
扩展指令CALR、LDRA、STRA、LDRX、STRX
D组: 基本指令CALA
扩展指令IRET
A组指令完成的是通用寄存器之间的数据运算或传送,在取指之后可一步完成。
B组指令完成
的是一次内存或IO读、写操作,在取指之后可两步完成,第一步把要使用的地
址传送到地址寄存器AR
H、ARL中,第二步执行内存或IO读、写操作。
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,I
R11=0为C组,IR11=1为D组。
2.
IR13用于区分基本指令和扩展指令:基本指令该位为0,扩展指令该位为1;
3.
IR12用于简化控制器实现,其值恒为0;
4.
IR11~IR8用于区分同一指令组中的不同指令。
教学机的指令根据指令字长、操作数不同可划分为如下6种指令格式:
1)单字、无操作数指令:
格式:
操作码
基本指令:
PSHF;
POPF;
RET
扩展指令:
CLC;
STC;
EI;
DI;
IRET;
2)单字、单操作数指令:
格式:
0000 0000
状态标志(C、Z、V、S、P1、P0)入栈
弹出栈顶数据送状态标志寄存器
子程序返回
清进位标志位C=0
置进位标志位C=1
开中断,置中断允许位INTE=1
关中断,置中断允许位INTE=0
中断返回
操作码
DR
0000
0000 SR
OFFSET
IO PORT
DR←DR-1
DR←DR+1
DR逻辑左移,最低位补0,最高位移入C
DR逻辑右移,最高位补0,最低位移入C
无条件跳转到ADR,ADR=原PC值+OFFSET
当C=1时,跳转到ADR,ADR=原PC值+OFFSET
当C=0时,跳转到ADR,ADR=原PC值+OFFSET
当Z=1时,跳转到ADR,ADR=原PC值+OFFSET
当Z=0时,跳转到ADR,ADR=原PC值+OFFSET
R0←[IO PORT]
,从外设IO PORT端口读入数据到R0
[IO
PORT]←R0,将R0中的数据写入外设IO PORT端口
SR入栈
弹出栈顶数据送DR
基本指令:
DEC DR;
INC DR;
SHL DR;
SHR DR;
JR OFFSET;
JRC
OFFSET;
JRNC OFFSET;
JRZ OFFSET;
JRNZ
OFFSET;
IN IO PORT;
OUT IO PORT;
PUSH
SR;
POP DR;
扩展指令:
RCL DR;
RCR DR;
ASR DR;
NOT DR;
JMPR
SR;
CALR SR;
JRS OFFSET;
DR与C循环左移,C移入最低位,最高位移入C
DR与C循环右移,C移入最高位,最低位移入C
DR算术右移,最高位保持不变,最低位移入C
DR求反,即DR←DR
无条件跳转到SR指向的地址
调用SR指向的子程序
当S=1时,跳转到ADR,ADR=原PC值+OFFSET
JRNS
OFFSET;
3)单字、双操作数指令:
格式:
操作码
基本指令:
ADD DR,SR;
SUB DR,SR;
AND
DR,SR;
CMP DR,SR;
XOR DR,SR;
TEST
DR,SR;
OR DR,SR;
MVRR DR,SR;
LDRR
DR,[SR];
STRR [DR],SR;
扩展指令:
ADC
DR,SR;
SBB DR,SR;
4)双字、单操作数指令:
格式:
操作码
当S=0时,跳转到ADR,ADR=原PC值+OFFSET
DR SR
DR←DR+SR
DR←DR-SR
DR←DR and
SR
DR-SR
DR←DR xor SR
DR and SR
DR←DR or SR
DR←SR
DR←[SR]
[DR]←SR
DR←DR+SR+C
DR←DR-SR-C
0000 0000
ADR
基本指令:
JMPA ADR;
CALA ADR;
5)双字、双操作数指令:
格式1:
操作码
无条件跳转到地址ADR
调用首地址在ADR的子程序
DR 0000
0000 SR
DATA
基本指令:
MVRD DR,DATA;
扩展指令:
LDRA DR,[ADR];
STRA [ADR],SR;
格式2:
操作码
扩展指令:
LDRX
DR,OFFSET[SR];
DR←DATA
DR←[ADR]
[ADR]←SR
DR
ADR
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 进行以及一些基本的汇编
命令,我们就可以设计一些小程序来操作各种不同的寄存器,从而验证或是自己扩展一些汇编
指令,实现
通过程序来操作试验机教学系统的目的。
6、实验机工作原理
在实验机上运行一下小程序,来说明试验机的工作原理
小程序如下:
2000 MVRD R0, 0001
2002 MVRD R1, 0002
2004 ADD R0,R1
2005 RET
2006
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
2000可以显示从2000H开始的连续128个字的内容。
④通过E
2000可以修改存储器的内容。.
⑤用A命令键入一段汇编程序,主要是向累加器送入数据和进行运算。
⑥用U命令反汇编刚输入的程序。
⑦用G命令运行刚输入的程序。
⑧用P或T命令单步执行刚键入的程序
7.1.2实验过程
1.
准备一台串口工作良好的PC机;
2. 将TEC-XP实验箱与PC机通过串口COM1或者COM
2连接,并且将实验系统左下方的五
个黑色的控制机器运行状态的开关置成00110(连续、内存读指
令、组合逻辑、联机、16
位),并打开电源;
3. 在PC机C盘目录下tec-
xp目录下找到文件并运行,根据连接的PC机串口设
置联机工作,直至主机显示如下:
TEC-2000 CRT MONITOR
Version 1.0 April 2001
Computer Architectur Lab. , Tsinghua
University
Programmed by He Jia
即为联机成功;
4. 联机成功后进行试验内容。
7.2脱机运算器实验
7.2.1实验过程
1. 将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下
“R
ESET”按键,再按一下“START”按键,进行初始化;
2. 按下表所列的操作在机器上进行
运算器脱机实验,将结果填入表中:其中D1取为
0101H,D2取为1010H;通过两个十二位的
红色微型开关向运算器提供控制信号,通
过16位数据开关向运算器提供数据,通过指示灯观察运算结果
及状态标志。
表1.脱机运算器实验结果
运算
I8~I0 SST SSH
SCi B A
压START前
ALU
输出
0101
1010
CZVS
0000
0000
压START后
ALU
输出
0101
1010
CZVS
0000
0000
*D1+0->R0
*D2+0->R1
011000111
011000111
001
001
00
00
00
00
0000
不用
0001
不用
R0+R1->R0
R0-R1->R0
R1-R0->R1
R0∨R1->R0
R0∧R1->R0
R0R1->R0
¬(R0R1)->R0
2*R0->R0
R02->R0
011000001
011001001
011001001
011011001
011100001
011110001
011111001
111000011
101000011
001
001
001
001
001
001
001
001
001
00
00
00
00
00
00
00
00
00
00
01
01
00
00
00
00
00
00
0000
0001
0000 0001
0001 0000
0001 0000
0000 0001
0000 0001
0000 0001
0000
不用
0000
不用
1111
0101
0F0F
0F0F
0101
0E0E
FEFE
FEFE
FDFC
0000
0000
1000
1000
1010
1010
1000
1001
0001
2121
F0F1
0E0E
0F0F
0101
0101
0E0E
FDFC
7EFE
0000
1000
1000
1010
1010
1000
1001
0001
0001
7.3组合逻辑控制器实验
7.3.1实验内容
1. 完成控制器部件的教学实验,主要内容是有学生自己设计几条指令
的功能、格式和执
行流程,并在教学计算机上实现、调试正确。
2. 首先是看懂TEC-X
P教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算
机中已经设计好并正常运行的几条指令
(例如,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(2
7系列芯片)在读写上的异同;
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=0001
0一拍时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和200
1的得出是从扩展指令的指令格式表中查表得出的。00100000 DRSR 即2001,功能是
DRDR+SR+C.所以是将R0,R1中的值相加再加1最后放到R0中,而R1中的值不变。于是的到<
br>如上结果。
9.
测试CALR指令:
图9-1测试CALR指令程序代码
图9-2测试CALR指令测试效果
分析:就是一个调用子程序的过程,实现输出A~Z,具体原理和上一题一样。
图9-3测试CALR指令内存单元值查看
10. 测试指令LDRA:
图10-1测试指令LDRA效果演示
分析:先将内存单元210
0的内容赋给R0,输出R0,然后判断是否输出万,未完则循环测
试,然后通过LDRA指令将内存单
元2101的值赋给R0,然后在输出R0.这里同样,扩展指令
无法通过A指令输入,必须用E指令键
入,而且同样修改的值为其指令格式的编码。同样在
扩展指令格式表中可以查表的到。
8、实验总结
通过本次实习使我对计算机的工作原理有了更加深入的了解,在学习本
学期开设的计算机
组成与原理这门课程时感觉很吃力,很多概念,电路图搞不清楚,更重要的是计算机有
的模块
到底是如何工作的感觉很模糊,对微指令那块学习起来感觉很吃力,因为不明白计算机到底是怎样通过微指令控制硬件电路的。还好,通过本次实习使我彻底搞清楚了微指令,明白了计算
机是如
何解释一条汇编指令的。本次试验还尝试扩展了一条微指令,扩展的是SBB那条指
令,运行结果是正确
的,说明微程序工作原理应该搞清楚了。
本次实验时间很紧张,不过学到了很多有用的知识,
清楚了计算机的工作原理,为下学期
的汇编语言的学习打下了坚实的基础。