计算机组成原理TEC-XP机实验系统简介TEC-XP实验机•由清华大学专门为大学本科计算机教学实验而研制的16位计算机;•TEC-XP机里面配置了小巧的“运算器、控制器、存储器、输入设备、输出设备”等计算机完整要素。•TEC-XP机是一台软、硬件相对完整、配置小巧合理的完整计算机系统。用“麻雀虽小,肝胆俱全”这句话描述很切合实际。•通过学习,使学生能通过对一台具体的、完整的计算机的深入学习,掌握计算机中核心部件“运算器、控制器、存储器、外设”的硬件组成、功能、控制方法及工作原理,了解计算机中“程序、数据的表示方法、运算方法”,以及指令流、数据流在计算机各部件中的流动、工作情况。TEC-XP实验系统的基本组成•硬件:由总线将“运算器、控制器、存储器、输入设备、输出设备”五大设备连接组成组成。•软件:监控程序、通讯程序、交叉汇编程序等。⒈TEC-XP机的硬件组成•TEC-XP机的基本系统做在了2块印刷电路板上。全部线路芯片均以芯片插座与线路板连接;逻辑线路按功能部件划分在印制板的不同区域;主板上安装有一定数量的开关、按键与指示灯;线路板上布有适当的量测孔,一定数量的跳线夹,用以人为设置机器故障或变更设计。•机器字长16位,即运算器、主存、数据总线、地址总线都是16位。•系统配置了两个不同实现方案的CPU系统,一个CPU沿袭传统的设计思路,由中小规模的器件组成;另一个CPU用大规模的FPGA器件设计实现。TPC-XP实验系统硬件系统组成示意图2路串行接口内存体地址寄存器译码器译码器电平转换双线选通门DC2译码器DC1译码器/GAR/GIR/MIOREQ/WEA口B口I8~I0SSHSCISST/SWTOIB/YTOIB/IRLTOIB/FTOIB控制器部件运算器部件内部总线数据总线地址总线YCZVS控制总线/GARDFPGA芯片实现的CPU系统FPGA芯片实现的CPU系统数据总线控制信号地址总线整个系统组成:⑴运算器:16位,由4片4位的AM2901芯片级连构成,片间用串行进位方式传递进位信号。ALU实现8种算术与逻辑运算功能。内部包括16个双端口读出、单端口写入的通用寄存器(16位),和一个能自行移位的乘商寄存器。设置C(进位)、Z(结果为0)、V(溢出)和S(符号位)四个状态标志位。⑵控制器:•控制器采用微程序和硬布线两种控制方案实现,可由实验者自由选择。•指令系统支持多种基本寻址方式。其中一部分指令已实现,用于设计监控程序和用户的常规汇编程序,尚保留多条指令供实验者自己实现。•实验人员可方便地修改已有设计,或加进若干条自己设计与实现的新指令,新老指令同时运行。TEC-XP机的硬件组成⑶存储器:10KW容量,由RAM和ROM构成。•ROM:8KW容量,由4片58C65(28C64)芯片组成,用于存放系统监控程序。地址0-1FFFFH之间。•RAM:2KW容量,由2片6116芯片组成,用于存放用户程序和数据。地址2000H-3FFFH之间。•ROM、RAM均可以进行8位或16位操作。•还配置了另外2片存储器芯片的器件插座,可以方便地完成对16位字长的内存储器的容量扩展实验。•对ROM存储区可以选用紫外线擦除(27系列)或电擦除(28系列)的存储器芯片实现。⑷总线:由16位地址线和16位数据线及其它控制信号、状态信号构成。⑸输入设备:TEC-XP机安装有约26个扭子开关,3个按钮微动开关。完成程序、数据的二进制输入及功能选择。⑹输出设备:由16个发光二极管组成。每个发光管都用八选一(由S2、S1、S0选择)的74LS151器件驱动,可选择显示有关内容。当输入信号为“1”时灯亮,为“0”时灯灭。•(7)实验机主板上预留了一个40芯的器件插座,并给出了扩展操作可能用到的地址、数据及控制信号的连接插孔。•同时还提供了完成中断教学实验所需要的全部支持(8)TEC-XP教学机串行接口•TEC-XP教学机配置了两路串行接口COM1口和COM2口。这两个串口各自使用1片串行接口芯片Intel8251,共用1片实现电平转换的MAX202芯片,各自通过一个D型9芯的接插头与终端或PC机的串口相连。•COM1口是系统默认的串行口。通过COM1口可实现实验机与PC机仿真终端直接通讯。•COM2口是留给用户扩展串行接口实验时使用的。设置COM1口进行通讯的目的•因为TEC-XP机输入输出设备是开关和发光管,只能输入及显示二进制程序和数据,故通过TEC-XP串口与微机相连,充分利用微机强大的配置(主要是外设),完成实验用程序和数据的输入,再通过在微机上运行通讯软件,将程序和数据通过串口传入TEC-XP机,以方便用户程序和数据的录入。TEC-XP机运行状态控制开关•在TEC-XP实验系统左下方有五个黑色的开关K0、K1、K2、K3、K4,用于设置机器运行状态控制。•控制开关的功能在开关上、下方有标识;开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。•K0:设置单步运行、连续运行。•K1:设置内存读指令、手动置指令。•K2:设置组合逻辑控制、微程序控制。•K3:设置联机、脱机实验。•K4:设置16位、8位机实验。控制开关开关介绍•五个黑色控制开关的功能示意图如下:•(开关拨到上方表示为1,拨到下方为0;)•功能开关K0K1K2K3K4•上面单步手动置指令组合逻辑联机8位•下面连续从内存读指令微程序脱机16位常用的工作方式(开关拨到上方表示为1,拨到下方为0;)工作方式5个拨动开关连续运行、组合逻辑控制器、联机、16位机00110连续运行、微程序控制器、联机、16位机00010单步、手动置指令、组合逻辑控制器、联机、16位机11110单步、手动置指令、微程序控制器、联机、16位机1101016位机、脱机运算器实验1XX00⒉TEC-XP机的软件组成•TEC-XP机的指令系统由基本指令和扩展指令组成,其中53条指令已经采用微程序实现,存放在2片8位的控存ROM中,TEC-XP机的监控程序就由这些基本指令编写,尚留部分扩展指令供实验者自己实现。•所有微程序固化在TEC-XP机中控制存储器中。控存字长48位,由6片74LS6116芯片RAM组成,TEC-XP机指令的执行是通过运行存放在控存中其对应的微程序实现的。•TEC-XP机软件系统主要有:⑴监控程序Monitor•共2048个字,固化在主存0000H—0A2FH共2K字的主存ROM中。新增加部分被固化在主存0A30H—1FFFH共2K字的主存ROM中。•完成功能:①控制微机终端(键盘、显示器)与TEC-2机连接运行;②接收并执行TEC-XP机操作命令;③接收并汇编TEC-XP机的单条汇编命令;④提供TEC-XP机汇编语言的可用子程序。⑵交叉汇编程序ASEC•交叉汇编程序ASEC存放在微机上,并且运行在PC机上。ASEC程序用IBM/PC机的指令系统专门为TEC-XP机设计,它是一个符号汇编程序,能对用TEC-XP所定义的53条指令编写的TEC-XP机源汇编程序进行汇编,得到一个在TEC-XP机上的可执行程序。•具体实现方法是:•在微机PC机上用编辑软件EDIT录入TEC-XP机汇编源程序到PC机磁盘上,然后用交叉汇编程序ASEC对此源程序进行汇编翻译成在TEC-XP机上可运行的二进制可执行程序程序,通过串口V70将微机与TEC-XP机连接,在PC机上运行“TEC-XP机与PC机通讯程序PCEC”,将此可执行程序传入TEC-XP机内存中,从而实现,在PC机上录入,在TEC-XP机上执行,以方便用户的实验操作。⑶TEC-XP机与IBM-PC机通讯程序PCEC16•PCEC16通讯程序用PC机汇编语言编写,由两部分组成,一部分在TEC-XP机监控程序中,另一部分在PC机磁盘上。•PCEC16程序功能:①实现PC机与TEC-XP机间文件传输;即可以把PC机上程序、数据通过PCEC传入TEC-XP机,还可以将TEC-XP机上程序、数据传到PC机进行显示处理。②将PC机作为TEC-XP机终端完成程序、数据的输入及显示。●TEC-XP机硬件系统组成2901_15~122901_7~42901_3~02901_12~824424424458C6558C6558C6561166116IR15~8IR7~0244Timing2452458251MAX202AR15~8138AR7~0139138SHIFTFLAG58C65244244244MACH4352910MAPROMCM1CM0377SCCGALSCCCI3~0下地址DC2DC1MIOREQWEA3~0B3~0I8~I0SST2~0SSHSCI1~0/RD/WRC/DRESET/MIOREQ/WE内存芯片片选/CS0,/CS1,...IO芯片片选/CE0,/CE1,...SSTSSHSCICZVSRAM15RAM0Q15Q0CinIB15~8IB7~0DB7~0DB15~8AB12~0/CE0CLKTxCRxCTxDRxD/GIR/GAR…/SWTOIB/YTOIB/IRLTOIB/FTOIB/FTOIB/YTOIB/YTOIB/IRLTOIB/SWTOIB/MAP/PL地址数据数据微指令地址/CC数据/MMREQ,/IOREQ/MRD,/WE,/RD,/WRAR15~AR13/MMREQ/IOREQAR6~AR4AR7开关开关符号扩展/GIR/GAR/GAR/MIOWE/CS1/CS0/WE/CS?接串口设备RAM0,Q15F15,Cy,CRAM0,RAM15,Q0F15,Cy,F=0,OVRIB7~IB4Cy,OVR,F15YYYYDDDDCLK2IR15~IR8RESETC_M#T3~T0StartQcQdQbQaCD161BA晶振LS04VccGNDCLK1.8432MHz/LoadCKCK1StepResetStartCK2153.6kHz307.2KHzF=0000Q0RAM0CinQ15RAM15VccR153.6kHz当前微地址显示CLKCZSINT#IR3~0C_M#控制总线地址总线数据总线内部总线(1)TEC-XP机的运算器部件•主要由4片AM2901和1片2902组成,除外还有两片Gal20V8,分别构成状态寄存器和移位寄存器,运算器的输出,既可通过地址寄存器AR加到地址总线上,也可以通过三态控制门送到内部数据总线上。•运算器内除算术逻辑运算器之外,还包括16个工作寄存器(以R0~R15标记),其中R0~R3,R8~R15为一般工作寄存器,用于存放临时数据或地址,R4用作堆栈指针寄存器SP,R5为程序计数器PC,用于记录下一条待执行指令的地址,R6用作当前指令指针寄存器IP,R7为单步操作专用寄存器。(2)TEC-XP机的控制器部件•控制器的基本功能是将待执行的指令码由主存储器取至指令寄存器,并完成相应指令的执行。•控制部件由指令寄存器、地址映射器、微程序定序器、控制存储器、微指令寄存器和指令写入寄存器等组成。•控制器的主要部件有:①微程序控制存储器•由2片58C65芯片(记作CM1、CM0)和MACH器件内部的一些电路组成。用于存放48位字长微指令构成的微程序。用于存放TEC-XP机48位字长微指令构成的的微程序。•48位字长微指令由16位的下地址字段(来自CM1、CM0)和32位的微命令字段(来自MACH)组成。•需要注意的是,TEC-XP机微控制存储器的字长是48位,只使用8位地址寻址。②微指令寄存器•微指令寄存器由1片8位的寄存器芯片74LS374和1片74LS273及MACH(32位)组成。•用以存放当前微指令的内容(48位)。•微指令寄存器的输出直接用于驱动相应的硬件电路。③微程序定序器•微程序定序器AM2910芯片是控制器的核心,其功能是依据机器的运行状态与当前微指令的有关内容等,正确形成下一条微指令的地址,以保证微程序按要求,自动地逐条衔接执行。•微程序定序器AM2910的组成与工作原理是TEC-XP机的重要内容,也是难点内容。在本教材后面控制器中要详细讲解。程序计数器PC和当前指令地址寄存器IP、指令寄存器I