计算机组成原理实习TECXP.docx

上传人:b****5 文档编号:6652761 上传时间:2023-01-08 格式:DOCX 页数:21 大小:151.31KB
下载 相关 举报
计算机组成原理实习TECXP.docx_第1页
第1页 / 共21页
计算机组成原理实习TECXP.docx_第2页
第2页 / 共21页
计算机组成原理实习TECXP.docx_第3页
第3页 / 共21页
计算机组成原理实习TECXP.docx_第4页
第4页 / 共21页
计算机组成原理实习TECXP.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

计算机组成原理实习TECXP.docx

《计算机组成原理实习TECXP.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实习TECXP.docx(21页珍藏版)》请在冰豆网上搜索。

计算机组成原理实习TECXP.docx

计算机组成原理实习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.在单步方式下,通过指示灯观察各类基本指令的节拍。

选择基本

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1