在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实 现内存储器系统,包括了唯读存储区(ROM,存放监控程序等)和随读写存储区(RAM)两部分,ROM存储区选用4片长度8位、容量8KB的芯片实现,RAM存储区选用2片长度8位、容量2KB的芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:0-1777h用于第一组ROM,固化监控程序,2000-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作为监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量的教学实验。
关于计算机中的接口线路,教学计算机提供了2路串行接口(INTEL 8251),以支持接 入PC机作为教学计算机的仿真终端完成输入输出操作;第一个串口的端口地址分配80h/81h,第二个串口的端口地址可以由用户选择。作为扩展实验内容,也可以通过在一个40芯的器件插座上插上其他标准接口线路(例如INTEL 的8255、8253 等)并适当接线,完成常用接口线路的输入输出操作。在教学计算机总线部件设计中,选用单总线结构,数据总线、地址总线和控制总线都比较简单,保证教学机的正常运行并体现出总线设计的基本原理。图1.1.5给出了各个部件如何通过总线相互连接在一起,从而构成一台能够正常运行的计算机系统。
图1.1.3 TH-union(计原16)教学计算机系统组成
4
图1.1.4 计原16位教学计算机线路逻辑框图
5
图1.1.5 部件之间的连接关系和信息传送路径
数据总线被划分成内部总线IB(在CPU 一侧)和外部总线DB(在存储器和串行接口一侧)两部分,它们之间通过2片8位的双向三态门电路连接在一起。3组存储器芯片的数据输入输出引脚都直接连接在一起,连接到16位的数据总线DB上,串行接口芯片的8位数据输入输出引脚只与数据总线DB的低8位(DB7-DB0这8位)相连接。
地址总线的构成比较特殊,仅地址寄存器AR一个来源,AR又只接收ALU一路输入。内存储器和接口电路的地址都来自于地址总线AB(地址寄存器AR 的输出),地址总线的最高3位送到1片3-8译码器,地址总线的低位字节中的高4位(规定最高一位必定为1)送到另外1片3-8译码器,分别产生存储器芯片的8个片选信号和接口电路的8个片选信号。
控制总线提供内存和串口的读写命令,是把控制器提供的3位控制信号送1片双2-4译码器得到的,以决定有无内存或接口读写,若有,是和内存还是接口工作,执行的是读还是写操作。内存和CPU选用同步方式运行,串行接口和CPU选用状态查询方式工作。 通过图1.1.5简单地看一下教学计算机每个部件的运行环境和相关功能的执行过程。 运算器部件中的ALU可以对两路输入数据A和B执行3种算术或5种逻辑运算功能,其两路输入可来自芯片内部的寄存器堆送出来的数据(是由指令寄存器IR的两个寄存器编号选定的寄存器的内容,还设置有锁存线路),或来自芯片外的内部总线IB的数据,其运算结果可以在芯片内部被直接写入寄存器堆,或送到芯片外被直接连接到地址寄存器AR、或经过支持三态逻辑的开关门送到内部总线IB。ALU运算产生的4个标志位的值被保存进芯片外部的Flag 寄存器。运算器部件中的寄存器堆暂存用于ALU运算的数据和运算的中间结果。
6
控制器部件将依据指令内容和指令执行步骤信息来提供管理计算机各个部件运行所必需的控制信号,指令寄存器IR接收从内存储器读出来的指令内容,其输出被送到MACH芯片的输入引脚,由MACH(也包括Am2910芯片,图中未画)产生指令执行步骤信号,并为各个部件提供每一个执行步骤要用到的全部控制信号。指令寄存器低位字节的内容可以经过带三态逻辑的开关门送到内部总线,用作为运算器部件的外部输入数据D的一个来源。 内存储器用于保存运行中的程序和数据,可读可写。读写操作的第一步是为其提供内存 单元的地址,即把ALU的输出内容写进地址寄存器AR,第二步是执行读或者写操作。为读操作时,若读出的是指令则经过数据总线DB和内部总线IB写进指令寄存器IR,若读出的是数据应经过数据总线DB和内部总线IB、经过运算器的D输入引脚写到运算器寄存器堆中一个寄存器。这个寄存器由指令字中的目的寄存器字段指定。为写操作时,把由指令字的一个字段指定的寄存器堆中的一个寄存器的内容经内部总线IB和数据总线DB写进存储器的一个存储单元。
串行接口用于执行数据的输入输出操作。输入输出操作的第一步是为接口芯片提供入出 端口地址,即把指令寄存器低位字节的内容(IO端口地址)经过内部总线和运算器部件写进地址寄存器AR,第二步是执行输入或者输出操作,若执行输入指令IN,则应从接口芯片读出一个8位的数据并经过数据总线DB和内部总线IB写进寄存器堆中的R0寄存器,若执行输出指令OUT,则需要把寄存器堆中的R0寄存器的内容经过内部总线IB和数据总线DB写入接口芯片。接口芯片与输入输出设备之间的数据传送过程无需另外管理,会自动完成。
在教学计算机系统中,实现并提供了简明、常规的中断处理能力,在支持多级的中断嵌套实验方面,这个系列的教学计算机有非常明显的特色。
四、主要技术指标
1、机器字长16位, 即运算器、主存、数据总线、地址总线均是16位。
2、基本指令系统支持多种基本寻址方式。其中部分指令已实现, 用于设计监控程序和用户的常规汇编程序, 尚保留多条指令供用户自己实现。 3、主存最大寻址空间是18K字,可进行主存储器扩展实验。
4、运算器由4片位片结构器件AM2901级联而成, 片间用串行进位方式传递进位信号。ALU实现8种算术与逻辑运算功能, 内部包括16个双端口读出、单端口写入的通用寄存器, 和一个能自行移位的乘商寄存器。设置C、Z、 V、S四个状态标志位。运算器实验可以有脱机和联机两种实验方式。
5、控制器采用微程序和组合逻辑两种控制方案实现。组合逻辑控制器用的是LATTICE公司
7
的CPLD的芯片。在做控制器实验时,用户可按基本指令的格式和流程扩展指令,编写程序使新老指令同时运行。
6、主机上安装有一路INTEL8251串行接口,可直接接计算机终端, 或接入一台PC机作为自己的仿真终端。另保留一路为用户扩展用,可完成串口初始化,双机通讯等实验。 7、主机可完成三级中断实验和中断嵌套实验。
8、实验箱有自己的监控程序(操作系统),支持多种实验方式(如:单步/连续,手动置指令/从内存读指令等),监控源码开放,用户可以修改。 9、配有简单的逻辑笔电路,可以测量板上各个信号的电压。
10、用作组合逻辑控制器的MACH芯片和实验箱上的XILINX的FPGA芯片也可用于实现各种时序电路和组合逻辑电路实验。
11、实验箱上XILINX的FPGA芯片可以实现流水和非流水两种CPU方案,还可完成高速缓冲存储器(CHACHE)的教学实验。
12、实验箱支持比较正规的汇编语言设计和BASIC语言设计。 13、实验箱配套指令级和微指令级的仿真软件。
§1.2 TEC-XP16机指令系统
一、教学计算机的指令系统概述
在字长为16位的教学计算机系统中,规定指令的位数也是16位的倍数,支持单字指令和双字指令,指令格式要规范和简单,尽量向DLX指令集结构靠拢,使其有一定的完备性和更好的典型性。从有利于教学实验考虑,把指令划分为基本指令(已经由设计者和制作厂家实现)和扩展指令(留待进行教学实验的同学实现)两大类。
对指令的格式说明如图1.2.1所示:
8位 操作码 4位 DR 4位 SR IO端口地址/相对偏移量
立即数 / 直接内存地址 / 变址偏移量 图1.2.1 指令格式
8