西北农林科技大学TECXP实验指导书.docx

上传人:b****7 文档编号:11367613 上传时间:2023-02-28 格式:DOCX 页数:150 大小:327.60KB
下载 相关 举报
西北农林科技大学TECXP实验指导书.docx_第1页
第1页 / 共150页
西北农林科技大学TECXP实验指导书.docx_第2页
第2页 / 共150页
西北农林科技大学TECXP实验指导书.docx_第3页
第3页 / 共150页
西北农林科技大学TECXP实验指导书.docx_第4页
第4页 / 共150页
西北农林科技大学TECXP实验指导书.docx_第5页
第5页 / 共150页
点击查看更多>>
下载资源
资源描述

西北农林科技大学TECXP实验指导书.docx

《西北农林科技大学TECXP实验指导书.docx》由会员分享,可在线阅读,更多相关《西北农林科技大学TECXP实验指导书.docx(150页珍藏版)》请在冰豆网上搜索。

西北农林科技大学TECXP实验指导书.docx

西北农林科技大学TECXP实验指导书

TEC-XP计算机组成原实验系统

简介

计算机组成原理是计算机科学与技术专业、信管、软件工程的一门核心专业基础课程,从2009年起,是计算机专业研究生入学考试重要的必考课程之一,它在基础课和专业课之间起着重要的衔接作用,通过本课程的学习,使学生能深入了解计算机中“程序、数据的表示方法、运算方法”,掌握计算机中核心部件“运算器、控制器、存储器、外设”的硬件组成、功能、控制方法及工作原理。

本课程主要特点:

知识面广、内容多、更新快,又加之教材不针对具体机型结构,学生学起来感觉空洞抽象、难以理解。

因此,迫切需要某一具体机型来学习,增强对该课程的理解。

TEC-XP实验教学机是一台软、硬件相对完整、配置小巧合理的完整计算机系统。

用“麻雀虽小,肝胆俱全”这句话描述很切合实际。

TEC-XP机里面配置了小巧的“运算器、控制器、存储器、输入设备、输出设备”完整要素,通过这台实验机的学习,对掌握计算机的基本构造、实现方法、实现原理具有很大的帮助。

目录

第1章TEC-XP实验系统简介1

1.1TEC-XP计算机组成原理实验箱简介1

1.2TEC-XP实验系统的硬件、软件组成2

第2章TEC-XP教学机指令系统5

2.1指令系统综述5

2.2教学机指令汇总8

第3章TEC-XP教学计算机硬件系统10

3.1教学计算机硬件系统的组成概述10

3.2教学计算机运算器部件技术说明14

3.3TEC-XP硬布线控制器23

3.4微程序控制器部件的技术说明38

3.5TEC-XP内存储器部件52

3.6tec-xp实验机串行接口53

3.7中断线路54

第4章实验59

实验一、基础汇编语言程序设计59

实验二、脱机运算器实验68

实验三、组合逻辑控制器实验70

实验四、存储器实验73

实验五、微程序控制器实验77

 

第1章TEC-XP实验系统简介

TEC-XP由清华大学科教仪器厂和清华大学计算机系联合研制。

该实验系统重点用于计算机组成原理和计算机系统结构等课程的硬件教学实验,还支持监控程序、汇编语言程序设计、BASIC高级语言程序设计等软件方面的教学实验。

1.1TEC-XP计算机组成原理实验箱简介

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通过电源接线插到机箱后侧板,经保险丝、开关连接到电路板上,开关安放在机箱右侧靠后位置,方便操作且比较安全。

13.两路的串行接口的接插座安放在机箱后侧板以方便接线插拔和机箱盖的打开关闭

1.2TEC-XP实验系统的硬件、软件组成

硬件、软件系统的组成和实现功能如图1.1和图1.2所示。

软件:

解释BASIC语言

汇编语言支持

监控程序

硬件:

运算器,控制器(多种实现:

微程序或硬连线控制器,中小规模器件或FPGA器件实现)

主存储器,总线,接口

输入设备,输出设备

硬件与电路:

逻辑器件和设备

软件:

解释BASIC语言

汇编语言支持

监控程序(指令)级模拟

教学机模拟:

运算器、控制器模拟

(微程序级或硬连线控制器级模拟)

主存储器模拟,总线、接口模拟

输入设备/输出设备模拟

运行环境:

PC机,Windows系统

图1.1硬件实现的真实计算机系统图1.2软件实现的模拟计算机系统

从图1.1可以看到,该计算机硬件系统组成中,功能部件是完整齐备的,运算器、控制器、存储器、输入输出接口、计算机总线等配备齐全,还可以接通PC机仿真终端执行输入输出操作,同时实现了微程序和硬连线两种方案控制器。

从CPU的具体设计和实现技术来说,既支持用中小集成度器件实现CPU的方案,也支持选用高集成度的FPGA门阵列实现CPU的方案,体现了CPU系统设计的最新水平。

从计算机组成原理课程教学实验的角度看,该计算机软件系统组成也是完整的,支持简单的高级语言BASIC(包括浮点运算指令和基本函数运算功能),汇编语言(支持基本伪指令功能)和二进制的机器语言,配有自己的监控程序,以及PC机仿真终端程序等。

毫无疑问,全部软件的源程序代码是宝贵的教学参考资料。

从图1.2可以看到,软件实现的计算机指令级模拟系统,可以使实验人员脱离实际的教学计算机系统,在PC机上执行教学计算机软件系统的全部功能;微程序和硬连线这一级别的模拟软件,可以通过PC机屏幕查看在教学计算机内部数据、指令的流动过程,并显示每一步的运行结果,为设计、调试教学机新的软件或硬件功能提供重要的辅助作用。

控制器(微程序或硬连线方案)辅助设计软件,可以让同学在PC机上使用该软件直接设计该计算机的控制器,包括定义指令格式和编码,划分指令执行步骤和每一步的操作功能,确定控制器需要提供的全部控制信号等全部过程,最后会自动生成能装入教学计算机硬件系统中实际应用的最终结果文件。

接下来还可以选用微程序级的模拟软件系统,或者硬连线控制器级的模拟软件系统,对经过辅助设计软件得到的设计结果进行模拟运行,计算机屏幕上会详细显示每一步的运行结果,做到尽早地发现问题。

由于在执行上述的控制器设计和模拟运行的整个过程中,都是在PC机上完成的,脱离实际的教学机系统,工作更方便,效率更高,对节省学时、帮助同学加深对控制器组成、设计等方面的理解深度也有益处。

图1.3实验系统的硬件系统组成示意图

从图中可以看到TEC-XP教学计算机的总体组成。

在图的左部所表示的是选用中小规模器件实现的CPU系统,由独立的运算器、控制器部件组成。

图的中间部分所表示的是内存储器、串行接口线路的组成。

图的右部虚线部分所表示的是选用FPGA门阵列器件实现的单个芯片的CPU系统。

这两个CPU系统都可以通过数据总线、地址总线和控制总线连接内存储器、串行接口线路,从而构成一台完整的计算机硬件系统,安装上必要的软件就可以正常运行,作为计算机组成原理课程内容实例和教学实验设备具有很好的典型性。

两个CPU系统需要通过分时或者独占的方式使用同一套存储器部件和串行接口线路。

由中小规模器件实现的CPU构建的教学计算机系统硬件组成如下:

运算器中配置了两组独立的8位字长的运算器,各自由2片位片结构的运算器器件组成;还有四位的状态标志寄存器和教学实验所需的相关逻辑部件。

全部的算术与逻辑运算均在这里完成;还完成几种寻址方式的实际地址计算;它也是主要的数据、地址传送的通路。

要特别说明的一点是,堆栈指针SP和控制器中的程序计数器PC,都是用这里的几个通用寄存器来实现的,以节省器件与简化实验机的实现。

控制器分别用微程序方式与硬布线方式两种方案实现,实验者可以方便地选择使用其中任何一种。

这能方便地比较两种控制器各自的优缺点,和设计过程的相同的、不同的步骤与方法。

在选用器件时,微程序方案中选用了美国AMD公司的微程序定序器Am2910芯片,保证微程序设计的规范与实用性;控存体选用唯读存储器(ROM)芯片,通过对该ROM的编程写入方式支持动态微程序设计。

硬布线方案中,节拍逻辑与时序控制信号形成部件(组合逻辑线路)选用了GAL20V8现场可编程器件和MacroArrayCMOSHighdensity(简写为MACH)器件,这对简化控制器的逻辑设计与实现至关重要,也有利于进一步掌握数字系统设计自动化和逻辑模拟的新知识。

主存储器选用静态存储器芯片,配置了两路各自由8K字节容量的ROM(放监控程序)和2K字节容量的RAM(放用户程序和数据)存储区域组成的主存储器。

还配置了另外2片存储器芯片的器件插座,可以方便地完成对16位字长的内存储器的容量扩展实验。

对ROM存储区可以选用紫外线擦除(27系列)或电擦除(28系列)的存储器芯片实现。

地址总线采用16位宽度,以便访问较大的主存空间。

输入/输出接口及可接入的输入/输出设备,已配备了一路串行接口,可直接连接计算机终端,或者在仿真终端软件控制下接入PC计算机。

这种方式下,通过终端或PC机(作为仿真终端)操作教学实验计算机方便直观,为教学实验提供了非常先进的实验手段。

还提供了由学生自己通过扩展实验实现另外一路串行接口的全部支持。

作为最底层的输入/输出手段,开关拨数输入,指示灯显示输出的操作方式还是应该有的。

这是系统出现严重故障后(如器件失效等),完成故障定位与排除的最后一道防线,对提高学生的实验技能也很有用处。

同时还提供了其他一些输入/输出接口支持。

为此,实验机主板上预留了一个40芯的器件插座,并给出了扩展操作可能用到的地址、数据及控制信号的连接插孔。

同时还提供了完成中断教学实验所需要的全部支持

选用FPGA门阵列器件实现的单个芯片的CPU系统内部组成如下:

图1.4由FPGA器件构成的CPU的内部结构示意图

由图中可以看出该CPU主要由三个部件组成:

运算器部件(名称是Am2901)、控制器部件(名称是controllor)、数据总线部件(名称是data_IB,用于实现与存储器和IO接口线路通信)。

CPU与教学计算机已有的存储器部件和串行接口线路的连接方案参照图1.3。

该CPU的地址寄存器的输出作为地址总线的内容送到存储器芯片的地址线引脚,用以选择被读写的内存单元,数据总线的内容被送到存储器芯片和串行接口芯片的数据线引脚以提供读写数据。

内存储器和IO接口芯片的读写命令也由该CPU提供。

此时需要确保原来用中小规模器件构建的CPU的地址总线和数据总线的输出都处于高阻状态,并且不会产生内存储器和IO接口芯片的读写命令冲突。

第2章TEC-XP教学机指令系统

2.1指令系统综述

2.1.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

1)A组指令完成的是通用寄存器之间的数据运算或传送,在取指之后可一步完成。

2)B组指令完成的是一次内存或I/O读、写操作,在取指之后可两步完成,第一步把要使用的地址传送到地址寄存器ARH、ARL中,第二步执行内存或I/O读、写操作。

3)C组指令在取指之后可三步完成,其中CALR指令在用两步读写内存之后,第三步执行寄存器之间的数据传送;而其它指令在第一步置地址寄存器ARH、ARL,第二步读内存(即取地址操作数)、计算内存地址、置地址寄存器ARH、ARL,第三步读、写内存。

4)D组指令完成的是两次读、写内存操作,在取指之后可四步完成。

2.1.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]

2.1教学机指令汇总

2.2.1基本指令

指令格式

汇编语句

操作数个数

CZVS

指令类型

功能说明

00000000DRSR

00000001DRSR

00000010DRSR

00000011DRSR

00000100DRSR

00000101DRSR

00000110DRSR

00000111DRSR

00001000DR0000

00001001DR0000

00001010DR0000

00001011DR0000

01000001OFFSET

01000100OFFSET

01000101OFFSET

01000110OFFSET

01000111OFFSET

ADDDR,SR

SUBDR,SR

ANDDR,SR

CMPDR,SR

XORDR,SR

TESTDR,SR

ORDR,SR

MVRRDR,SR

DECDR

INCDR

SHLDR

SHRDR

JROFFSET

JRCOFFSET

JRNCOFFSET

JRZOFFSET

JRNZOFFSET

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

1

****

****

****

****

****

****

****

····

****

****

*···

*···

····

····

····

····

····

A

DR←DR+SR

DR←DR-SR

DR←DRandSR

DR-SR

DR←DRxorSR

DRandSR

DR←DRorSR

DR←SR

DR←DR-1

DR←DR+1

DR,C←DR/2

DR,C←DR*2

无条件跳转

C=1时跳转

C=0时跳转

Z=1时跳转

Z=0时跳转

100000000000000

ADR(16位)

10000001DRSR

10000010I/OPORT

10000011DRSR

1000010000000000

100001010000SR

10000110I/OPORT

10000111DR0000

10001000DR0000

1000110000000000

1000111100000000

JMPAADR

LDRRDR,[SR]

INI/OPORT

STRR[DR],SR

PSHF

PUSHSR

OUTI/OPORT

POPDR

MVRDDR,DATA

POPF

RET

1

2

1

2

0

1

1

1

2

0

0

····

····

····

····

····

····

····

····

····

····

····

B

无条件跳到ADR

DR←[SR]

R0←[I/OPORT]

[DR]←SR

FLAG入栈

SR入栈

[I/OPORT]←R0

DR←出栈

DR←DATA

FLAG←出栈

子程序返回

1100111000000000

CALAADR

1

····

D

调用首地址在ADR的子程序

注:

表中CZVS一列,*表示对应状态位在该指令执行后会被重置;·表示对应状态位在该指令执行后不会被修改。

1.运算器芯片中有16个通用寄存器(累加器)R0~R15,其中:

R4用作16位的堆栈指针SP;

R5用作16位的程序计数器PC;

其余寄存器用作通用寄存器,即多数双操作数指令和单操作数指令中的DR、SR;

2.2.2扩展指令

指令格式

汇编语句

操作数个数

CZVS

指令类型

功能说明

00100000DRSR

00100001DRSR

00101010DR0000

00101011DR0000

00101100DR0000

00101101DR0000

011000000000SR

01100100OFFSET

01100101OFFSET

0110110000000000

0110110100000000

0110111000000000

0110111100000000

ADCDR,SR

SBBDR,SR

RCLDR

RCRDR

ASRDR

N

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

当前位置:首页 > 求职职场 > 简历

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

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