1、213控制总线提供内存和串口的读写命令,是把控制器提供的3位控制信号送1片双二-四译码器得到的,以决定有无内存或接口读写,若有,是内存和还是接口工作,执行的是读还是写操作。内存和CPU选用同步方式运行,串行接口和CPU选用状态查询方式工作。22运算器运算器中配置了两组独立的8位字长的运算器,各自由2片位片结构的运算器器件组成;还有四位的状态标志寄存器和教案实验所需的相关逻辑部件。全部的算术与逻辑运算均在这里完成;还完成几种寻址方式的实际地址计算;它也是主要的数据、地址传送的通路。23控制器控制器分别用微程序方式与硬布线方式两种方案实现,实验者可以方便地选择使用其中任何一种。这能方便地比较两种控
2、制器各自的优缺点,和设计过程的相同的、不同的步骤与方法。在选用器件时,微程序方案中选用了美国AMD公司的微程序定序器Am2901芯片,保证微程序设计的规范与实用性;控存体选用只读存储器(ROM)芯片,通过对该ROM的编程写入方式支持动态微程序设计。硬布线方案中,节拍逻辑与时序控制信号形成部件(组合逻辑线路)选用了GAL20V8现场可编程器件和Macro Array CMOS High density(简写为MACH)器件,这对简化控制器的逻辑设计与实现至关重要。24存储器在教案计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器系统,包括了唯读存储区(ROM,存放监
3、控程序等)和随读写存储区(RAM)两部分,ROM存储区选用4片长度8位、容量8KB的芯片实现,RAM存储区选用2片长度8位、容量2KB的芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:0-1777h用于第一组ROM,固化监控程序,2000-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作为监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量的教案实验。25 I/O设备教案计算机提供了2路串行接口(INTEL 8251),以支持接入PC机作为教案计算机的仿真终端完成输入输出操作;第一个串口的端口地
4、址分配为80h/81h,第二个串口的端口地址可以由用户选择。作为扩展实验内容,也可以通过在一个40芯的器件插座上插上其他标准接口线路(例如INTEL的8255、8253等)并适当接线,完成常用接口线路的输入输出操作。3、实验机指令系统3.1指令分类教案机的指令按不同的分类标准可划分为:1. 从指令长度区分,有单字指令和双字指令。2. 从操作数的个数区分,有三操作数指令、双操作数指令、单操作数指令和无操作数指令。3. 从使用的寻址方式区分,有寄存器寻址、寄存器间址、立即数寻址、直接地址、相对寻址等多种基本寻址方式。4. 从指令功能区分,给出了算术和逻辑运算类指令、读写内存类指令、输入/输出类指令
5、、转移指令、子程序调用和返回类指令,还有传送、移位、置进位标志和清进位标志等指令。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、JMPRB组: 基本指令JMPA、LDRR、STRR、PUSH、POP、PUSHF、POPF、MVRD、IN、OUT、
6、RETC组: 扩展指令CALR、LDRA、STRA、LDRX、STRXD组: 基本指令CALA扩展指令IRETA组指令完成的是通用寄存器之间的数据运算或传送,在取指之后可一步完成。B组指令完成的是一次内存或I/O读、写操作,在取指之后可两步完成,第一步把要使用的地址传送到地址寄存器ARH、ARL中,第二步执行内存或I/O读、写操作。C组指令在取指之后可三步完成,其中CALR指令在用两步读写内存之后,第三步执行寄存器之间的数据传送;而其它指令在第一步置地址寄存器ARH、ARL,第二步读内存(即取地址操作数)、计算内存地址、置地址寄存器ARH、ARL,第三步读、写内存。D组指令完成的是两次读、写内
7、存操作,在取指之后可四步完成。3.2指令格式TEC-XP教案机实现了29条基本指令,用于编写教案机的监控程序和支持简单的汇编语言程序设计。同时保留了19条扩展指令,供学生在教案实验中完成对这些指令的设计与调试。教案机的指令格式支持单字和双字指令,第一个指令字的高8位是指令操作码字段,低8位和双字指令的第二个指令字是操作数、地址字段,分别有3种用法,如下图所示。操作码DRSRIO端口地址 / 相对偏移量立即数 / 直接内存地址 / 变址偏移量这8位指令操作码(记作“IR15IR8”),含义如下:1. IR15、IR14用于区分指令组:0X表示A组,10表示B组,11表示C、D组;C、D组的区分还
8、要用IR11,IR11=0为C组,IR11=1为D组。2. IR13用于区分基本指令和扩展指令:基本指令该位为0,扩展指令该位为1;3. IR12用于简化控制器实现,其值恒为0;4. IR11IR8用于区分同一指令组中的不同指令。教案机的指令根据指令字长、操作数不同可划分为如下6种指令格式:1) 单字、无操作数指令:格式:0000 0000基本指令:PSHF; 状态标志(C、Z、V、S、P1、P0)入栈POPF; 弹出栈顶数据送状态标志寄存器RET 子程序返回扩展指令:CLC; 清进位标志位C=0STC; 置进位标志位C=1EI; 开中断,置中断允许位INTE=1DI; 关中断,置中断允许位I
9、NTE=0IRET; 中断返回2) 单字、单操作数指令:DR 00000000 SROFFSETI/O PORTDEC DR; DRDR-1INC DR; DRDR+1SHL DR; DR逻辑左移,最低位补0,最高位移入CSHR DR; DR逻辑右移,最高位补0,最低位移入CJR OFFSET; 无条件跳转到ADR,ADR=原PC值+OFFSETJRC OFFSET; 当C=1时,跳转到ADR,ADR=原PC值+OFFSETJRNC OFFSET; 当C=0时,跳转到ADR,ADR=原PC值+OFFSETJRZ OFFSET; 当Z=1时,跳转到ADR,ADR=原PC值+OFFSETJRNZ
10、OFFSET; 当Z=0时,跳转到ADR,ADR=原PC值+OFFSETIN I/O PORT; R0I/O PORT ,从外设I/O PORT端口读入数据到R0OUT I/O PORT; I/O PORTR0,将R0中的数据写入外设I/O PORT端口PUSH SR; SR入栈POP DR; 弹出栈顶数据送DRRCL DR; DR与C循环左移,C移入最低位,最高位移入CRCR DR; DR与C循环右移,C移入最高位,最低位移入CASR DR; DR算术右移,最高位保持不变,最低位移入CNOT DR; DR求反,即DR/DRJMPR SR; 无条件跳转到SR指向的地址CALR SR; 调用SR
11、指向的子程序JRS OFFSET; 当S=1时,跳转到ADR,ADR=原PC值+OFFSETJRNS OFFSET; 当S=0时,跳转到ADR,ADR=原PC值+OFFSET3) 单字、双操作数指令:ADD DR,SR; DRDR+SRSUB DR,SR; DRDR-SRAND DR,SR; DRDR and SRCMP DR,SR; DR-SRXOR DR,SR; DRDR xor SRTEST DR,SR; DR and SROR DR,SR; DRDR or SRMVRR DR,SR; DRSRLDRR DR,SR; DRSRSTRR DR,SR; DRSRADC DR,SR; DRDR
12、+SR+CSBB DR,SR; DRDR-SR-C4) 双字、单操作数指令:ADRJMPA ADR; 无条件跳转到地址ADRCALA ADR; 调用首地址在ADR的子程序5) 双字、双操作数指令:格式1: 0000 SRDATAMVRD DR,DATA; DRDATALDRA DR,ADR; DRADRSTRA ADR,SR; ADRSR格式2:LDRX DR,OFFSETSR; DROFFSET+SRSTRX DR,OFFSETSR; OFFSET+SRDR4、实验机软件系统软件:解释BASIC 语言汇编语言支持监控程序(指令)级模拟教案机模拟:运算器、控制器模拟(微程序级或硬连线控制器级模
13、拟)主存储器模拟,总线,接口模拟输入设备/ 输出设备模拟运行环境:PC机,Windows系统从计算机组成原理课程教案需求的角度看,该计算机软件系统的组成也是完整的,支持简单的高级语言(包括浮点运算指令和基本函数运算功能),汇编语言(支持基本伪指令功能)和二进制的机器语言,配有自己的监控程序,以及PC机仿真终端程序等。毫无疑问,全部软件的源程序代码是宝贵的教案参考资料。从上图可以看到,软件实现的计算机系统级和指令级模拟系统,可以脱离硬件教案计算机系统,直接在PC机的Windows平台上运行教案机的程序,可以在PC机上运行教案机的监控程序,其运行效果和在真正的教案计算机上运行监控程序是相同的。微程
14、序和硬连线这一级别的模拟软件,可以通过PC机屏幕查看在教案计算机内部数据、指令的流动过程,并显示每一步的运行结果,为设计、调试教案机新的软件或硬件功能提供重要的辅助作用。5、实验机与PC关系 在本次实验中,需要使用到一台TEC-XP实验机和一台PC机;其中TEC-XP教案机系统是实验中必不可少的东西,教案机系统中配置了两个不同方案的系统,一二CPU演戏传统的设计思路,和当前主流的教材配套,由中小规模的器件组成;另一个CPU参考国外著名大学的设计思路用大规模的EPGA器件设计实现。上面集成了各类实验所需的硬件元器件,它是我们本次实验的主要设备。 其次,在实习的过程中还配置了PC机,这主要是为了在
15、做联机实验是要用到电脑;当用串口线将PC机遇教案机连接好设置好后,通过软件PCEC 16.EXE进行以及一些基本的汇编命令,我们就可以设计一些小程序来操作各种不同的寄存器,从而验证或是自己扩展一些汇编指令,实现通过程序来操作实验机教案系统的目的。6、实验机工作原理在实验机上运行一下小程序,来说明实验机的工作原理小程序如下:2000 MVRD R0, 00012002 MVRD R1, 00022004 ADD R0,R12005 RET2006MVRD R0 , 0001这条指令的微程序如下取指周期PC - MAR,1 - RAd(CMDR) -CMARM(MAR)-MDR,(PC) + 1-
16、PCMDR -IR, OP(IR) -CU-形成微指令执行周期0001 R0 将0001直接送至通用寄存器R0。Ad(CMDR)-CMAR 取指令程序入口地址-MVRD R1 , 0002这条指令的微程序如下取指周期:0002 R1 将0002直接送至寄存器R1。ADD R0,R1这条指令的微程序如下CU执行周期:(R0)+(R1) -R0RET这条指令的微程序0 G通过上述这段实现加法运算的小程序可以得出计算机运行程序的原理,计算机首先将每一条汇编程序转化成微程序,而每一段微程序都有若干条微指令构成,微指令可以直接对硬件进行操作。7、实验内容及实验过程71基础汇编语言程序设计7.1.1实验内
17、容用R命令查看寄存器内容或修改寄存器的内容。在命令行提示符状态下输入R R0,用来修改R0寄存器的内容。通过D 2000可以显示从2000H开始的连续128个字的内容。通过E 2000可以修改存储器的内容。.用A命令键入一段汇编程序,主要是向累加器送入数据和进行运算。用U命令反汇编刚输入的程序。用G命令运行刚输入的程序。用P或T命令单步执行刚键入的程序7.1.2实验过程1. 准备一台串口工作良好的PC机;2. 将TEC-XP实验箱与PC机通过串口COM1或者COM2连接,并且将实验系统左下方的五个黑色的控制机器运行状态的开关置成00110(连续、内存读指令、组合逻辑、联机、16位),并打开电源
18、;3. 在PC机C盘目录下tec-xp目录下找到PCEC16.EXE文件并运行,根据连接的PC机串口设置联机工作,直至主机显示如下: TEC-2000 CRT MONITOR Version 1.0 April 2001 Computer Architectur Lab. , Tsinghua University Programmed by He Jia 即为联机成功;4. 联机成功后进行实验内容。72脱机运算器实验7.2.1实验过程1. 将教案机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化;2. 按下表所列的操
19、作在机器上进行运算器脱机实验,将结果填入表中:其中D1取为0101H,D2取为1010H;通过两个十二位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。表1.脱机运算器实验结果运算I8I0SSTSSHSCiBA压START前压START后ALU输出CZVS*D1+0-011000111001000000不用0101*D2+0-R100011010R0+R1-01100000111112121R0-R1-01100100101F0F11000R1-R0-0F0F0E0ER0R1-011011001R0R1-011100001R0R1-01
20、1110001(R0R1)-011111001FEFE10012*R0-111000011FDFCR0/2-1010000117EFE73组合逻辑控制器实验7.3.1实验内容1. 完成控制器部件的教案实验,主要内容是有学生自己设计几条指令的功能、格式和执行流程,并在教案计算机上实现、调试正确。2. 首先是看懂TEC-XP教案计算机的功能部件组成和线路逻辑关系,然后分析教案计算机中已经设计好并正常运行的几条指令(例如,ADD、SHR、OUT、MVRD、JRC、CALA、RET等指令)的功能、格式和执行流程。3. 设计几条指令的功能、格式和执行流程,并在教案计算机上实现、调试正确。例如ADC、JR
21、S、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