计算机组成原理实习TECXP.docx
- 文档编号:6652761
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:21
- 大小:151.31KB
计算机组成原理实习TECXP.docx
《计算机组成原理实习TECXP.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实习TECXP.docx(21页珍藏版)》请在冰豆网上搜索。
计算机组成原理实习TECXP
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现场可编程器件和MacroArrayCMOSHighdensity(简写为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.5I/O设备
教案计算机提供了2路串行接口(INTEL8251),以支持接入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)单字、无操作数指令:
格式:
操作码
00000000
基本指令:
PSHF;状态标志(C、Z、V、S、P1、P0)入栈
POPF;弹出栈顶数据送状态标志寄存器
RET子程序返回
扩展指令:
CLC;清进位标志位C=0
STC;置进位标志位C=1
EI;开中断,置中断允许位INTE=1
DI;关中断,置中断允许位INTE=0
IRET;中断返回
2)单字、单操作数指令:
格式:
操作码
DR0000
0000SR
OFFSET
I/OPORT
基本指令:
DECDR;DR←DR-1
INCDR;DR←DR+1
SHLDR;DR逻辑左移,最低位补0,最高位移入C
SHRDR;DR逻辑右移,最高位补0,最低位移入C
JROFFSET;无条件跳转到ADR,ADR=原PC值+OFFSET
JRCOFFSET;当C=1时,跳转到ADR,ADR=原PC值+OFFSET
JRNCOFFSET;当C=0时,跳转到ADR,ADR=原PC值+OFFSET
JRZOFFSET;当Z=1时,跳转到ADR,ADR=原PC值+OFFSET
JRNZOFFSET;当Z=0时,跳转到ADR,ADR=原PC值+OFFSET
INI/OPORT;R0←[I/OPORT],从外设I/OPORT端口读入数据到R0
OUTI/OPORT;[I/OPORT]←R0,将R0中的数据写入外设I/OPORT端口
PUSHSR;SR入栈
POPDR;弹出栈顶数据送DR
扩展指令:
RCLDR;DR与C循环左移,C移入最低位,最高位移入C
RCRDR;DR与C循环右移,C移入最高位,最低位移入C
ASRDR;DR算术右移,最高位保持不变,最低位移入C
NOTDR;DR求反,即DR←/DR
JMPRSR;无条件跳转到SR指向的地址
CALRSR;调用SR指向的子程序
JRSOFFSET;当S=1时,跳转到ADR,ADR=原PC值+OFFSET
JRNSOFFSET;当S=0时,跳转到ADR,ADR=原PC值+OFFSET
3)单字、双操作数指令:
格式:
操作码
DR
SR
基本指令:
ADDDR,SR;DR←DR+SR
SUBDR,SR;DR←DR-SR
ANDDR,SR;DR←DRandSR
CMPDR,SR;DR-SR
XORDR,SR;DR←DRxorSR
TESTDR,SR;DRandSR
ORDR,SR;DR←DRorSR
MVRRDR,SR;DR←SR
LDRRDR,[SR];DR←[SR]
STRR[DR],SR;[DR]←SR
扩展指令:
ADCDR,SR;DR←DR+SR+C
SBBDR,SR;DR←DR-SR-C
4)双字、单操作数指令:
格式:
操作码
00000000
ADR
基本指令:
JMPAADR;无条件跳转到地址ADR
CALAADR;调用首地址在ADR的子程序
5)双字、双操作数指令:
格式1:
操作码
DR0000
0000SR
DATA
基本指令:
MVRDDR,DATA;DR←DATA
扩展指令:
LDRADR,[ADR];DR←[ADR]
STRA[ADR],SR;[ADR]←SR
格式2:
操作码
DR
SR
ADR
扩展指令:
LDRXDR,OFFSET[SR];DR←[OFFSET+SR]
STRXDR,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机遇教案机连接好设置好后,通过软件PCEC16.EXE进行以及一些基本的汇编命令,我们就可以设计一些小程序来操作各种不同的寄存器,从而验证或是自己扩展一些汇编指令,实现通过程序来操作实验机教案系统的目的。
6、实验机工作原理
在实验机上运行一下小程序,来说明实验机的工作原理
小程序如下:
2000MVRDR0,0001
2002MVRDR1,0002
2004ADDR0,R1
2005RET
2006
MVRDR0,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
MVRDR1,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
ADDR0,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命令查看寄存器内容或修改寄存器的内容。
②在命令行提示符状态下输入RR0,用来修改R0寄存器的内容。
③通过D2000可以显示从2000H开始的连续128个字的内容。
④通过E2000可以修改存储器的内容。
.
⑤用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-2000CRTMONITOR
Version1.0April2001
ComputerArchitecturLab.,TsinghuaUniversity
ProgrammedbyHeJia
即为联机成功;
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
011000111
001
00
00
0000
不用
0101
0000
0101
0000
*D2+0->R1
011000111
001
00
00
0001
不用
1010
0000
1010
0000
R0+R1->R0
011000001
001
00
00
0000
0001
1111
0000
2121
0000
R0-R1->R0
011001001
001
00
01
0000
0001
0101
0000
F0F1
1000
R1-R0->R1
011001001
001
00
01
0001
0000
0F0F
1000
0E0E
1000
R0∨R1->R0
011011001
001
00
00
0001
0000
0F0F
1000
0F0F
1010
R0∧R1->R0
011100001
001
00
00
0000
0001
0101
1010
0101
1010
R0R1->R0
011110001
001
00
00
0000
0001
0E0E
1010
0101
1000
¬(R0R1)->R0
011111001
001
00
00
0000
0001
FEFE
1000
0E0E
1001
2*R0->R0
111000011
001
00
00
0000
不用
FEFE
1001
FDFC
0001
R0/2->R0
101000011
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.在单步方式下,通过指示灯观察各类基本指令的节拍。
选择基本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理实习 TECXP 计算机 组成 原理 实习