您的当前位置:首页正文

计算机组成原理实验手册

来源:华拓网
TEC-2000使用手册

教学机使用方法简介

摘要:

一、设置左下方5个开关状态,确定实验箱的工作模式 二、选按RESET键,再按START键教学机开始工作

教学机与PC机的互联 摘要:

一、教学机和PC机通过RS-232串行口通信

二、教学机使用其固化在ROM上的监控程序监控与PC机的通信

三、PC机通过运行仿真终端程序PCEC16与教学机进行通信。即PC使用PCEC程序通过串行口与教学机的监控程序通信,使用PCEC主要可完成以下功能

1、通过PC机向教学机加载程序

2、向监制程序发送调试命令,使之控制程序在教学机中的运行,可令程序单步运行、连续运行等,控制方法参见监控程序一节。

OUT 80H

;检测前一个数据是否发送完毕 2300H: IN 81H SHR R0

JRNC 2300H OUT 80H

2000H IN 81H 2001H SHR R0 2002H SHR R0

2003H JRNC 2000H ;分析是否有新数据,若有 ;若无,则跳到2000H IN 80H

PC机向教学机发送数据的过程

1. pc机运行的监控程序向教学机的8251发送数据 2. 8251接收数据,存储在其数据接收寄存器中

3. 教学机CPU运行程序将8251数据接收寄存器的数据接收到R0

仿真终端程序PCEC

监控程序

汇编编程

在仿真终端下,使用监控程序提供的A命令逐行编程

例1、

例2、

例3、

小结

一、每个程序最终必需以RET指令结束,使得程序结束后返回去运行监控程序

二、80H、81H两端口分别是串行通信控制器8251的数据端口与状态端口,对它们进行读写能达到以下功能 1、读80H端口(IN 80H),可使教学机监控程序向PCEC读取用户在PC键盘上按下按键对应的ASCII码,存储到R0寄存器 2、写80H端口(OUT 80H),可使教学机监控程序将R0的值发送给PCEC,PCEC将接收到的值当做ASCII码,将相应字符显示在PC机显示器上 3、读状态端口(IN 81H),可得到串行通信控制器8251的状态字,其D0位用于指示数据是否发送就绪(D0=1发送就绪),D1位用于指示数据是否接收就绪(D1=1接收就绪),这里的8251是教学机COM1对应的那片8251,发送和接收指教学机的发送接收。

使用汇编源程序编程 摘要

一、在PC机上用文本编辑器编写教学机汇编源程序

二、在PC机上用交叉汇编程序ASEC编译教学机源程序,生成教学机可执行代码 二、通过PCEC将教学机可执行代码加载到教学机内存中

交叉汇编程序

教学机编程源文件格式示例

例1、

org 2000h mvrd r0,44h out 80h jr 2000h ret end

例2、

ORG 2000H MVRD R2,0AH MVRD R0,30H OUT 80H DEC R2 JRZ 200EH PUSH R0

IN 81H SHR R0

JRNC 2008H POP R0 INC R0 JR 2004H RET END

教学机汇编编程小结

1、可使用标号做跳转,标号字符数不可太长(8位?) org 2000h test:

mvrd r0,44h out 80h jr test ret end

2、可使用标号指示子程序入口,标号字符数不可太长(8位?)

org 2000h mvrd r0,44h out 80h cala xx … ret xx: push r0 … ret end

mvrd R14,1234h

org 2000h mvrd r0,44h

out 80h;将R0保存的ASCII字符显示在PC机的屏幕上

jr 2000h ret end

0000~FFFFH

0000~1FFFH:ROM(8K字*16位),保存监控程序 2000~27FFH:RAM(2K字*16位) 2000~25FFH:1.5K字

2600~27FFH:0.5k字,监控程序专用

实验一、TEC-2000汇编语言程序设计

实验目的

1.学习和了解TEC-2000十六位机监控命令的用法;(参考实验指导书P116) 2.学习和了解TEC-2000十六位机的指令系统; 3.学习TEC-2000十六位机汇编程序设计。

实验设备

TEC-2000教学机和PC机各一台

实验内容

1. 熟悉教学机的组成,完成教学机与PC机互联 2. 熟悉监控命令的使用 3. 汇编程序设计

a) 设计一个小程序,从键盘上接收一个字符并在屏幕上输出显示该字符。 b) 打印fibonnacii数列的前20个值:1,1,2,3,5,…..,用二进制形式打印,值与值之间

用逗号隔开

23231

预习要求

1.熟悉教学机的基本指令集 2.实验前仔细阅读实验指导书P112~120,或者是阅读本文档的TEC2000使用手册(权威) 3.提交实验预习报告,其中给出“实验报告格式”一~四的内容。

实验报告格式

一、实验目的 二、实验设备 三、实验内容 四、汇编程序设计

a) 程序一源代码

b) 程序二流程图及源代码 五、实验小结

实验参考

一、教学机与PC机互联

1.关闭电源,将大板上的COMl口与PC机的串口相连;

2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可;

3.置控制开关为00101(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: TEC-2000 CRT MONITOR Version 2.0 2001.10

Computer Architecture Lab.,Tsinghua University Copyright Jason He >

二、监控命令的使用

1.用R命令查看寄存器内容或修改寄存器的内容 1)在命令行提示符状态下输入:

R↙ ;显示寄存器的内容

注:寄存器的内容在运行程序或执行命令后会发生变化。 2)在命令行提示符状态下输入:

R R0↙ ;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有—个或数个空格 主机显示:

寄存器原值:xxxx

在后面输入新的值0036

再用R命令显示寄存器内容,则R0的内容变为0036。

2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙

会显示从2000H地址开始的连续120个字的内容;

连续使用不带参数的D命令,起始地址会自动加120(即78H)。 3.用E命令修改存储器内容 在命令行提示符状态下输入: E 2000↙ 屏幕显示:

2000 xxxx(地址单元的原有内容):(光标在此闪烁等待输入) 输入0000

(提示快捷使用方法:用E命令连续修改内存单元的值时,每修改完—个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。) 依次改变地址单元2001~2005的内容为:1111 2222 3333 4444 5555 用D命令显示这几个单元的内容 D 2000↙

可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。

4.用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。

1)在命令行提示符状态下输入:

A 2000↙ ;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000:

输入如下形式的程序:

2000:MVRD R0,AAAA ;MVRD与R0之间只有一个空格,其他指

令相同

2002:MVRD R1,5555 2004:ADD R0,R1 2005:AND R0,R1 2006:RET ;程序的最后一个语句,必须为RET指令 2007:↙ ;直接敲回车键,结束A命令输入程序的

操作过程

若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。

2)用U命令反汇编刚输入的程序

在命令行提示符状态下输入: U 2000↙

在相应的地址会得到输入的指令及其操作码。

注:连续使用不带参数的U命令时,将接着从上一次反汇编的最后一条语句之后继续反汇编。

3)用G命令运行前面刚键入的源程序

G 2000↙

程序运行结束后,观察程序的运行结果,记录寄存器R0和R1的值。 R0=? R1=?

4)用P或T命令,单步执行这段程序,观察指令执行结果

在命令行提示符状态下输入: T 2000↙ 寄存器R0=? T↙

寄存器R1=? T↙

寄存器R0=?

T↙

寄存器R0=?

用P命令执行过程同上。

注:T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。T、P命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。

实验二、脱机运算器部件实验

参见实验指导书P128的6.2“脱机运算器部件实验”,对其做如下修改

3.实验内容

1)拨动开关置为1xx00

2)D1取为0101H,D2取为1010H

实验预习报告:

填表6-1的ALU控制信号

操作参考

实验三、 微程序控制器

实验目的

通过设计一条指令的微程序,深入理解微程序控制器的工作原理。

实验设备

运行TEC-2000模拟软件的PC机。

实验内容

为TEC-2000新增一条指令,其功能为将两个内存单元的内容相加,结果写回其中一个内存单元。

预习要求

1、说明上述指令的指令格式并为其分配指令操作码(不能与基本、扩展指令集中的任一指令操作码相同)

2、给出上述指令的执行周期微程序编码,并为其中的每一条微指令分配微地址 3、说明实现上述指令应修改MAPROM存储单元的地址和值。

实验参考:

一、教学计算机微程序控制器模拟程序使用说明

在安装好TEC-2000教学计算机软件系统的PC机上,单击“开始”菜单,选择“程序”,在弹出的列表中选择“TEC-2000教学软件”,在右边的菜单中选择“辅助设计与仿真”,然后在列表中选择“仿真”,打开“16位机微程序”。计算机微程序仿真软件并启动运行,将出现图2-1所示界面。

TEC-2000微程序模拟主界面

界面的最左边是功能区,设置了程序的主要功能按钮,下面将介绍这些按钮的功能和使用方法。中间部分是用户程序区,用做调试的用户程序将在程序区中显示,供调试过程中查看。右边的上半部分是输出窗口,可看成是TEC-2000教学计算机的显示器,按下“显示

图2-1

ROMS内容”按钮后,将被切换为显示各ROM的二进制数值。下半部分是模拟程序的输出,主要包括当前运行程序的指令字、程序状态字、各通用寄存器的值,以及ALU的输出结果,这些,可供用户调试程序时观察程序运行的结果。

使用模拟程序主要是对用户设计的微程序方案进行仿真运行,以检验方案的正确性。因此,首先要装入用户设计的微程序,它采用的是和真正要在硬件的控制存储器上烧制的格式,即全部微程序方案由MAPROM、ROM1~ROM7共8个二进制文件组成。这些文件可用UltraEdit软件编写,也可自行编制程序完成由文本格式到二进制数据格式的转换后生成。

准备好MAPROM、ROM1~ROM7共8个二进制文件后,将它们存放在一个文件目录下。然后,按图5-1中界面上的“导入各ROM文件”按钮,在图5-2所示界面上选定这8个文件(文件名必须按照上述名称给定,并以.bin为文件后缀),按“打开”按钮,将装入用户设计的微程序方案。以后的操作,均是对本方案的各种机器语言程序运行过程的模拟。

装入微程序方案

微程序方案装入完成后,可点击“显示各ROMS内容”按钮,进行查看和检查,如图5-3所示。若发现错误,可直接在界面上修改。修改后注意按“Update”按钮保存。

图5-2

图5-3

查看或修改微程序界面

按“显示输出窗口”按钮可返回主界面。 为检查、验证微程序方案的正确性,需要对微程序实现的指令系统中全部指令进行模拟运行,检查运行结果是否正确。这一过程可用简单的机器语言程序来完成,如我们可以用如下程序来验证MVRD、ADD及RET三条指令的正确性。

MVRD R0, 0 MVRD R1, 1 ADD R0, R1 RET

将指令系统中所有指令都验证完后,可得到微程序方案基本设计正确的结论。此时,可尝试进行加载监控程序并运行,这样,整个教学计算机将在用户设计的微程序控制器的控制下运行。

为方便用户输入程序,教学计算机模拟系统支持汇编语言(如用户使用TEC-2000规定的基本指令集)、文本形式的二进制机器语言程序(对一些用户自行扩展的指令,交叉汇编程序不能汇编,此时可采用这种方式)和纯二进制机器指令程序(即真正的机器语言程序)。下面分别介绍它们的使用过程。

汇编语言程序是符号化的机器语言,与机器语言相比,更方便进行人机交流。通过“导入汇编文件”按钮或“文件”菜单项中的“导入汇编文件”项,将汇编语言程序读入到系统中,然后,再使用“交叉汇编”按钮,对该汇编语言程序进行交叉汇编。此时,系统界面如图5-4所示,可以对该汇编语言程序进行连续、单指令或单步骤执行。

图5-4

装入汇编语言程序并交叉汇编

汇编语言程序虽然比较直观,但受交叉汇编的限制,只能是使用TEC-2000的基本指令且是规定的操作码。对用户自行扩展的指令,或者是改变了指令的操作码,则无法直接使用汇编语言程序,只能使用机器语言程序。

机器语言程序一般应是二进制格式,直接装入到主存储器中运行,这样,对用户编写程序就不是很方便,写出0、1的代码后,还要事先转换成二进制格式才能装入。为此,教学计算机模拟系统支持用户用0、1代码编写的机器语言程序(文本形式),由模拟系统本身进行到二进制的转换。例如,我们可以用下面的机器语言文本文件来替换前面的汇编语言程序。

1000100000000000 0000000000000000 1000100000010000 0000000000000001 0000000000000001 1000111100000000

这些机器指令由前面的汇编语言程序对应而来,使用的是TEC-2000缺省定义的操作码。将这些内容保存为文本文件后(以.txt)为后缀,选择“文件”菜单项中的“导入机器指令的汇编文件”项,可将程序装入到系统中。系统将自动完成该程序从文本文件到二进制机器指令的转换。

当然,本系统也可直接装入二进制机器指令运行,这可以将一些已经是机器指令的程序直接装入到系统中运行。程序在模拟系统中运行正确后,也可以用做在实际的教学计算机上,用来进行硬件调试(此类文件一般应以.COD或.BIN作为后缀)。选择“文件”菜单项中的“导入机器指令的汇编文件”项,可将程序装入到系统中。需要说明的是,监控程序也可以采用这种方式装入。

所有的指令均检查无误后,可以把监控程序作为对微程序设计方案的一个总的测试对象。选择“文件”菜单项中的“加载监控程序”项,可将监控程序装入到系统中。

程序装入完成后,可使用“Reset”按钮,启动程序的运行。可用“连续执行”按钮将程序完整的执行,也可使用“单指令执行”按钮单独执行一条指令,还可以用“单步执行”按钮单独执行一个微操作。“单指令执行”和“单步执行”时,可通过观察各输出结果,判断程序执行的正确性。若不正确,可能是微程序设计方案有错误,可通过前面介绍的查看和修改微程序界面,修改微程序,再进行进一步的调试,直到程序能正常运行。最后,可通过运行监控程序来进行较大规模的检验。

二、微程序控制器指令扩展示例

下面,以在现有TEC-2000教学计算机微程序控制器基础上,扩展指令ADC DR,SR为例,说明实验的步骤。

(1)指令功能和格式的确定

ADC DR,SR指令的功能是,将SR中的值用作源操作数、DR的值用作目的操作数,并把状态寄存器中C标志位的值作为最低位进位输入完成求和运算,结果存入目的寄存器DR中,即DR←DR+SR+C。

指令格式可确定为操作码(8位),DR(4位),SR(4位)。由于它的功能在取指之后可一步完成,我们把它归为A组指令,分配操作码为00100000。

指令寻址方式显然为寄存器寻址。

(2)指令步骤划分

与ADD指令类似,ADC指令也划分为以下3个步骤: (i)AR←PC

(ii)读主存,IR←读出内容

PC←PC+1

(iii)DR←DR+SR+C,保存状态信息

结束,检测中断请求,无中断请求,进入下一条指令的执行过程。 (3)给出每个步骤的控制信号

我们发现,上面的(i)(ii)两步都可借用原有微程序的段,只有(iii)的控制信号需要设计。根据教学计算机的要求,各部件要求的控制信号设计如下:

CI3~0 SCC3~0 0MRW 0I2~0 SAI8~6 SBI5~3 B口 A口 0SST SSHSCI DC2 DC1

0011 0000 0100 0001 1011 1000 0000 0000 0001 0010 0000 0000

另外,(iii)结束后,将和其他指令一样,转到检测中断请求的操作,所以,该条微指令的下地址字段值应为00110000(也就是16进制的30)。 (4)将设计好的微程序段加入到原有微程序中

首先,应确定该段微程序的微地址,我们可以选择一个原有微程序中没有使用的微地址如50,来存放该段微程序。

具体的操作步骤是,启动模拟程序后,先导入只有基本指令的ROM文件,进入显示ROMS内容窗口,在该窗口输入微地址50,按“查找”按钮后,在对应栏目中输入上面设计的微程序控制信号,输入完成后,按“update”按钮修改。注意:因为我们给ADC设计的操作码是20,还需要修改地址为20的MPROM单元的内容,向该单元写入50。如希望保存设计结果,可按“生成新文件”按钮保存。此处的数字均为16进制的数。

(5)检查并调试设计方案

设计一段汇编语言程序,包含有ADC指令。装入到模拟程序中运行调试,通过观察寄存器状态,检查设计正确与否。

实验四 存储器部件实验

实验目的

通过看懂教学计算机中已经使用的几个存储器芯片的逻辑连接关系和用于完成存储器容量扩展的几个存储器芯片的布线安排,在教学计算机上设计、实现并调试出存储器容量扩展的实验内容。其最终要达到的目的是:

1.深入理解计算机内存储器的功能、组成知识;

2.深入地学懂静态存储器芯片的读写原理和用他们组成教学计算机存储器系统的方法(即字、位扩展技术),控制其运行的方式;

思考并对比静态存储器芯片和动态存储器芯片在特性与使用场合等方面的异同。

实验说明

主存储器是计算机中存放正在运行的程序和相关数据的部件。教学计算机中的内存储器有只读存储区(8K 字,用于保存监控程序、汇编器或者BASIC 语言解释执行程序)和随机读写存储区(2K 字的RAM 区,用作为系统工作区和保存用户的程序和数据,可以执行读和写操作)。还设置了可以增加另外8K 字的存储空间的芯片位置,用于实现扩展存储器空间(存储器的字、位扩展)的教学实践。

技术说明如下:

1. 要扩展8K 字的存储空间,需要使用2 片(每一片有8KB 容量,即芯片内由8192 个单元、每个单元由8 个二进制位组成)存储器芯片实现。

2. 当存储器选用58C65 芯片时,由于它是电可擦除可编程的ROM 器件,既可以通过专用的编程软件和设备向芯片写入相应的内容,也可以通过写内存的指令向芯片的指定单元写入16 位的数据,只是这种写操作每次均需占用比较长的写入时间,例如几百个微秒,因此需要通过运行延时子程序来加以保证。对58C65 ROM 芯片执行读操作时,需要保证正确的片选信号(/CE)为低点平,使能控制信号(/OE)为低电平,读写命令信号(/WE)为高电平,读58C65 ROM芯片的读出时间与读RAM 芯片的读出时间相同,无特殊要求;对58C65 ROM 芯片执行写操作时,需要保证正确的片选信号(/CE)为低电平,使能控制信号(/OE)为高电平,读写命令信号(/WE)为低电平,写58C65 ROM 芯片的维持时间要比写SRAM 芯片的操作时间长得多。为了防止对58C65 ROM 芯片执行误写操作,可通过把芯片的使能控制引脚(/OE)接地来保证,或者确保读写命令信号(/WE)恒为高电平。

实验内容

1.正确设置6116RAM和58C65ROM的跳线,使之正常工作。

2.用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(28系列芯片)在读写上的异同;

3.用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确;

4.用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。

预习要求

1、画出6116和58C65的芯片引脚图,说明每条控制引脚的功能。 2、6116和58C65的读、写周期分别是多少ns?教学机系统时钟频率为307.2KHz,其系统时钟周期为多少ns?读、写6116各需要多少个系统时钟周期?读、写58C64各需要多少个系统时钟周期?

3、画出教学机存储器(2片6116,4片58C65)与16位地址总线、16位数据总线、读写控制信号(/MWR,/MRD)的连接图。(可在实验后修正该图)

4、思考实验步骤中的思考题。(在实验报告中给出答案)

实验步骤

1.设置教学机的工作模式开关,使其处于适当的工作模式。

2.设置两片6116和四片58C64的跳线,使之构成一个RAM容量为2K×16,ROM容量为16K×16的存储器。RAM和ROM的地址范围各为多少?

3.6116支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。

1)用E命令改变内存单元的值并用D命令观察结果。

<1>在命令

示符状态下输入:

E 2020↙

屏幕将显示: 2020 内存单元原值: 按如下形式键入:

2020 原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:

5555↙

<2>在命令行提示符状态下输入:

D 2020↙

屏幕将显示从2020内存单元开始的值,记录2020H~2023H的值:

<3>断电后重新启动教学实验机,用D命令观察内存单元2020~2023的值,会发

现什么现象?说明了什么道理?

4.AN58C65的读操作和RAM一样,而写操作需要一定的时间,大约为1毫秒。因此,需要编写一段延时子程序,在对EEPROM进行写操作时,调用该延时子程序,以完成正确的读写。

1)用E命令改变内存单元的值并用D命令观察结果。

<1>在命令行提示符状态下输入:

E 5000↙

屏幕将显示; 5000 内存单元原值: 按如下形式键入:

5000 原值:2424(空格)原值:3636(空格)原值:4848(空格)原值:

5050↙

<2>在命令行提示符状态下输入:

D 5000↙

屏幕将显示5000H~507FH内存单元的值,从5000开始的连续四个内存单元的值依次为2424 3636 4848 5050。 <3>断电后重新启动,用D命令察看内存单元5000~5003的值,观察数值是否发

生变化,说明EEPROM的内容断电后能否保持?

2)AN58C65存储器不能直接用A命令输入程序(建议试一试),可将编写好的程序

用编程器写入片内;也可将程序放到RAM(6116)中,调用延时子程序,访问AN58C65中的内存地址。

下面给出的程序,在5000H~500FH单元中依次写入数据0000H、

0001H、...000FH。

<1>从2000H单元开始输入主程序: (2000)MVRD R0,0000

MVRD R2,0010 ;R2记录循环次数 MVRD R3,5000 ;R3的内容为16位内存地址

(2006)STRR [R3],R0 ;将R0寄存器的内容放到R3给出的内存单元中

CALA 2200 ;调用延时子程序 INC R0 ;R0加1 1NC R3 ;R3加1 DEC R2 ;R2减l JRNZ 2006 ;R2不为0跳转到2006H RET

<2>从2200H单元开始输入延时子程序: (2200)PUSH R3

MVRD R3,000F

(2203)DEC R3

JRNZ 2203 POP R3 RET

<3>运行主程序,在命令提示符下输入:

G 2000↙

<4>程序执行结束后,在命令提示符下输入:

D 5000↙

观察并记录从5000H开始的内存单元的值: 5000: 5008:

【思考题】(1)为何能用E命令直接写AN58C65的存储单元,而A命令则有时不正确?

(2)修改延时子程序,将其延时改短,可将延时子程序中R3的内容赋成00FF或0FFF等,再看运行结果,并记录下来(运行之前,先将5000H开始的十个单元内容清零)。

R3=00FF时: R3=0FFF时:

3)自行编写一段程序,实现以下功能:将从5000H开始的16个内存单元的值转存至从2050H开始的16个内存单元。

实验五 串行接口输入输出实验

实验目的:

学习串行口的正确设置与使用。

实验说明:

1. TEC-2000配置了两个串行接口COM1和COM2,其中COM1口是系统默认的串行

口,加电复位后,监控程序对其进行初始化,并通过该口与PC机或终端相连;而COM2口,留给用户扩展用。 2. 查阅有关书籍,了解串行通信接口芯片8251的工作原理;了解8251复位、初始化、

数据传输的过程。提醒注意的是,每次对8251复位后(即按1次“RESET”按键),都需要对其进行初始化,然后再进行正常的数据传输;复位后,只能对其进行1次初始化,多次初始化将导致串口工作不正常。

3. 在使用COM2口时,需要将两片8251芯片之间的插针用短路子短接(出厂时已短

接),这样才能为COM2正常工作提供所需的控制信号和数据;另外,还需要为其分配数据口地址和控制地址。本教学机,已将COM2口的C/(D非)与地址总线的最低位AO相连,而其片选信号未连,只引出1个插孔,实验时,应将该插孔与标有“I/O /CS”的7个插孔中的1个相连。

实验内容:

1. 为扩展I/O口选择一个地址,即将与COM2口相连的8251的/CS与标有I/O /CS的

一排插孔中的一个相连。

2. 初始化教学机COM2对应的8251。 3. 编程向COM2发送数据。

预习要求:

1. 复习监控命令和教学机编程。 2. 编写实验步骤中第4、5步的程序

实验步骤:

1. 为扩展I/O口选择一个地址,将与COM2口相连的8251的/CS与标有I/O /CS的插

孔中的一个相连;注意,将两片8251芯片之间的插针短接(出厂时已按默认方式短接)。

2. 将教学机COM1口与PC机COM1相连,在PC机上启动PCEC16.EXE。

3. 将连接到教学机COM1插座的插头拔起,改接到教学机COM2插座。用另一根电

缆连接教学机的COM1和PC的COM2,再次启动PCEC16.EXE(原来那个窗口不要关),新开一个PCEC窗口,且称旧的那个PCEC窗口为PCEC_OLD,新的PCEC窗口为PCEC_NEW,则PCEC_NEW可与教学机的监控程序互动,PCEC_OLD只能接收显示教学机COM2送来的字符。

4. 在PCEC_NEW上输入程序(A命令或加载.COD文件):

1) 初始化教学机COM2的8251,使之:波特率=9600,字符长度=8,无奇偶校验,

停止位长度=1

2) 给教学机COM2送命令字,使#RTS引脚=0,状态寄存器出错位清0,发送器

使能

5. 编程从使教学机COM1(对应PCEC_NEW窗口)接收PC按键ASCII码,并转换

成大写字母从教学机COM2输出,此时在PCEC_OLD窗口能看见输出的字符。

实验六 总线传递实验

一.实验目的

1.熟悉接总线的逻辑器件的种类和特征。 2.掌握采用总线结构进行信息传送的方法。

二.实验说明

TSL器件:TSL—三态逻辑(Tri—State Logic)该类器件具有三种逻辑状态(0,l,高阻)利用器件的高阻状态几乎能完全与总线上互联的所有部件隔离,它可以提高总线的负载能力及电路的稳定性,是目前常用的总线传送器件。 I.74LS244—三态输出八缓冲器/总线驱动器

它是专作挂总线用的三态逻辑器件之一。 其逻辑图见下:

该器件有8位数据输入。8位原码三态输出, 二个输出控制端#1G,#2G,分别控制两组独立的4位数据传送,当#1G,#2G连接时,可作8位控制端,控制端为“0”时为数据传送状态为“1”时输出为高阻状态,整个器件与总线隔离。用一片74LS244可作为单向数据传送,若用二片器件则可构成双向数据传送,事实上,目前市场上也有现成的双向总统驱动器件出售。如:74LS245。 II.74LS273八D锁存器

74LS273有8个数据输入端D7~0,8个数据输出端Q0~7,一个时钟端CP

和一个清零端#MR。其逻辑图见后。

3.总线建立的原则

(1)互斥性:指挂在总线上的各总线驱动器(指发送端)必须分时操作,

即不允许在同一总线上同时有多个数据源发送信息但允许有几个部件同时接收总线上的信息。

(2)一致性:指在同一总线上所用的总线控制器件类型(如OC线或门

或三态传输门)应一致,同时应考虑总统的负载能力和阻抗匹配,挂总线器件的有关参数可查手册。

三.实验内容:

下列框图所示为四个部件I、O、M、P共享总线传输数据,各部件和总线字长为4位。要求各部件之间的信息传送功能如下:

a、I→0,P b、P→M c、I→M d、M→P Single Bus 4

74LS273×1 74LS273×1 74LS273×1 74LS244×1 I O M P D0~D3 LO LM LP

要求分别用单步和连续两种方式完成上述四步动作。可用实验箱的节拍信号T1~T4指示四个步骤,如用Ti=1指示正在执行第i步。单步传送时,各输入部件的时钟信号可用P2生成;连续传送时,各输入部件的时钟信号可用M生成。如:I部件由一片74LS273中的1A3~1A1构成,其使能控制信号为#IG,则在单步时#IG的逻辑表达式为:#IGT1T4。其它各部件的组成芯片的时钟、输出使用信号也可用T1~T4、M、P1通过与、或、非门(74LS00/04/08/32)合成。

四.预习要求:

1、熟悉实验芯片:74LS244/74LS273/74LS08;其它可用芯片:74LS373,74LS00,74LS04,74LS32 2、画出实验的逻辑框图:I、O、M、P四个部件各由何芯片构成?它们与总线、LED、拨动开关的连接图

3、每个芯片的控制信号的逻辑表达式

a)手动单步:输入为T1~T4、P2 b)自动连续:输入为T1~T4、M

4、实验报告规范:在预习报告上添加小结,总线实验现象及故障排除方法。

五.参考资料

JYS-3型计算机组成原理实验仪的结构组成

一. 概述

JYS—3型计算机组成原理实验仪由直流稳压电源、电平显示灯、逻辑开关、单脉冲按钮、时钟\时序发生器,微程序控制器、八位数据通路,通用设计板9个部分组成。它采用模块组合结构。各部分在实验仪中的位置见图1所示。

为了提高学生的实践能力,每个实验都要求学生自己设计电路和布线。为了实验方便,我们对原来的时钟,时序发生器进行了改造,输出端跟原来的一样。

二.各组成部分功能介绍

1. 通用设计板

通用设计板位于实验箱的右边,由一些双列直插式插座组成,这些插座都是按74LS系列的标准定义(逆时针,第一排的最后一脚接地,第二排的最后一脚接+5V。)这些插座有14脚,16脚,18脚,20脚,40脚。实验中学生可以根据所用芯片的管脚数选择相应的插座来插芯片。并且这些插座的地线和电源线都已经连接在一起。它必须通过通用设计板的正电源和地接线柱引入直流电源,则整个通用设计板的每个插座都有电。这些插座除电源和地管脚没有接线柱引出,其它管脚都有一接线柱与之对应,并在接线柱边标出对应的管脚号。学生在连线时,把导线插在接线柱上就可和对应的管脚连接好。

2. 直流稳压电源

交流输入电压:220V±10% 50Hz,直流输出电压:+5V±0.1V 2.5A。直流稳压电源位于实验箱左边的最上面。有两组+5V电源输出。一组电源的正极和负极分开的插孔,用来给实验台提供电源。另外一组电源的正极和负极是同一插孔的,用来给逻辑笔供电。电源的通断是通过开关实现。

3. 时钟,时序发生器

时钟,时序发生器输出信号有:T1—T4, T1—T4,M1。输入信号:HALT 。 时序频率分二档:

低频:10Hz 中频:2KHz

时序频率的选择是通过电平开关K23实现的。当开关为低电平时,时序频率为中频。为高电平时,时序频率为低频。

节拍信号T1—T4波形:

M1 T1 T2 T3 T4 每个节拍内均包含脉冲M1。节拍信号有三种工作方式。这三种工作方式受K24,K25电平开关组合控制。

K24 K25 功能说明 0 0 连续时标方式 0 1 单周期时标方式 1 0 单周期时标方式 1 1 单拍时标方式 时标信号的启动,停止受P1,P0按钮开关控制。当时标信号启动运行时,不论时标信号运行到第几拍,这时只要输入端信号(HALT)有低电平信号输入,时标信号都会回到T1怕并停止运行。只有再次按启动按钮开关,时标信号才能运行。

三.利用实验台的时标系统,获得各种时标信号

通常,实验系统中所需的时标信号可用两种方法得到: 方法一,直接输出—指直接从实验台时钟,时序发生器的时标信号输出接线柱引出。

本实验台提供下列几种信号: (1)受控制脉冲信号:M1

(2)受控节拍电平:T1—T4, T1—T4

(3)单脉冲信号:P0,P0,P1,P1,P2,P2 方法二,组合输出—指把几种时标信号作为输入逻辑变量,经各种逻辑组合而获得所需的时标信号。

如:N1=T1M1 N2=T1M1+T2M1 N3=T1+T2

如何做好实验

为了做好《计算机组成原理》课程实验,对每个学生来说,除了有一定的理论知识及认真严肃的学习态度外,还需掌握一些必要的实验方法和技巧,培养根据实验器件情况进行逻辑设计的能力和良好的操作习惯,对于本课程实验,要做好每一个实验的步骤是:实验前的准备—组装—调试—书写总结报告,下面就上述每一步骤提出一些注意事项。

一. 实验前的准备

由于《计算机组成原理》实验所涉及的规模较大,逻辑关系也较复杂。因此,做好实验前的预习及所需仪器、器件、工具配置等各项准备工作是必需的。 1.预习

预习是做好每个实验的一项极为必要又必不可少的工作,预习工作做得越充

分,越能加深对实验原理的理解,从而避免不必要的错误,缩短实验时间,提高效率。

预习时应做到:

(1)认真阅读指导书,明确实验目的,弄清实验原理。

(2)根据实验内容和要求,自行设计实验方案。设计实验方案时,应根据实

验室所能提供的器件,结合实验内容和要求,简化逻辑函数,力争使用较少的逻辑器件,实现所要求的逻辑功能,同时要考虑器件的负载能力(一般器件的负载能力不能超过手册上的额定值)等。

(3)画出逻辑框图,详细的布线图和各控制信号的时序波形图。

逻辑框图为某实验的总体结构框图,各组成部分一般由特定的符号,

并在各方框的边上标明所用器件的型号和数量。例如,某逻辑框图如下,其中8表示数据宽度为8位,I部件是由一块型号为74LS244的芯片组成的。

8

74LS244×1 74LS273×1 74LS273×1 74LS273×1

I O M P

DI LO LM LP

其中DI表示开关输入,LO,LM,LP表示输出显示。布线图应注明

器件的型号、连线的脚号。器件在面包板上的位置和指出哪些脚或线在布线时应特别注意等。并核对其正确性,详细,正确的布线图能减少出错,提高组装速度,也便于查错和修改。分析时序波形图是根据逻辑函数,描绘好实验方案中各功能部件或观察点输出的时序波形,这些波形应画在同一时间坐标系统中,以便能清楚地看出它们之间的时序关系。

2.仪器、器件、工具的配置

实验设备的配置是做好实验的必要条件,学生在做实验之前必须填写设备和器件清单,以使实验员提供器件和设备,本实验室可供学生选择的各类设备有: (1)仪器

JYS-3一型多功能计算机实验台—该实验台是本实验的主要装置。 示波器—用以检测电源和电路输出的电压及波形等。

逻辑笔—观察电路测点的逻辑状态。可记忆单个或多个脉冲。 (2)器件

本课程实验的大部分器件是采用进口芯片—74LS系列芯片(双列直插式塑料封装,各种型号的逻辑功能。外引脚图。负载能力等参数可见附录或者器件手册)。

由于实验方案是由学生自行设计的。使用的器件型号也由学生自行确定,但只能在实验室所能提供器件型号的范围内选择。因此在设计逻辑方案时,必须向实验室有关人员预先登记所需器件的型号和数量。若有可替代的器件型号,则应选择控制逻辑简单的为宜。 (3)工具

常用的工具有:镊子和各种单色或花色导线等。

二.组装

预习时设计的逻辑方案如何在实验台上实现其功能呢?首先,必须把方案这个“虚体”变为“实体”,即组装,然后才能着手进行调试,“实体”的主要组成部分是器件及把所有器件连成一个功能部件或者整机的导线和其它一些辅助元器件等。所以组装这一步骤的关键是器件的安排和布线的技巧两个问题。

l.器件的安排

如果把逻辑关系较紧密的几片器件尽可能地近放在一起,则有利于减小

走线长度,使面板整洁便于检查。对于那些接受开关输入的器件应尽可能地置于最下方的插座上,那些输出信息供显示用的器件,应尽可能地置于最上方的插座上;那些逻辑上与实验台的时标信号(如M1,T1~T4,HALT等)有关的器件,应尽量安插在右边;除此之外的其它器件可考虑安放在通用设计板左边的适当位置上。

2.布线的技巧

先布数据的输入输出线,最后布各种控制线。总线的数据线可用同一种

单色线。布线的正确性检查:每布一根线必须检测其逻辑正确和接触良好,不要等线全部布好了再一起检查。最好的办法是二人合作,一人操作,一人监督,或者二人轮流布线和检查一。总线可设置在通用设计板的中间,有利于左右两边的器件连线。尽量先布横线,后布纵线,避免交叉太多而引起的杂乱感,也利于检修。

三. 调试

组装完毕,便可着手进行调试,调试过程中,必须按照预习时列出实验步骤

进行。注意观察,记录和分析实验现象。并与预计的结论比较,判断实验是否成功。由于种种原因,实验可能不会一举即成,往往会出现实验结果与预计不符。这就需要实验者及时记录和分析错误现象,通过改变实验方法或修改方案,尽快地排除故障,做好实验。

1.故障的分类

在调试过程中出现的故障是各种各样的,如果按时间来分,这些故障可

分为永久性和暂时性两类。

(1)永久性故障:此类故障一般是指器件损坏、器件负载能力不够、布线错

误、设计性错误等等。这类错误导致的出错现象一般会重复出现。

(2)暂时性故障:此类故障是由于接触不良、布线不合理引起的噪声干扰、

电源不稳、实验手段和操作步骤不妥等引起的。这类实验性错误大部分带有随机性,出现错误现象往往不重复。 2.分析和排错 (1)验证故障的真实性

调试过程中,如果“出现错误现象,必须先核实一下,是否由于观察手段、控制手段。、操作步骤的不正确而引起的假出错现象。若是,只需按正确的实验方法进行一遍,便可排除这种假故障。若非则应记录错误现象,以便分析和排除。

(2)排错

如果出错现象是属永久性故障,则应检查电源地线是否漏接、布

线有无错误、器件是否有悬空脚。有无设计性错误,尤其是各控制端的时序关系是否协调等等,而造成暂时性故障往往与实验者本人的实践经验及良好的实验习惯有关。因此,应在实验过程中培养独立分析和解决问题的能力。充实实践经验。

附录 常用器件简介

74LS00 2输入四正与非门 74LS04 六倒相器

74LS08 2输入四正与门 74LS32 2输入四正或门 74LS02 74LS10 74LS11 74LS20 74LS27 74LS54 74LS74 74LS85 74LS138 74LS86 74LS139 74LS153 74LS154 74LS157 74LS161 74LS174 74LS181 74L8182 74LS 193 74LS244 74LS245 74LS273 74LS373 74LS374 74LS381 74LS670 21l4

2输入四正或非门 3输入三正与非门 3输入三正与门 4输入双正与非门 3输入三正或非门 四组输入与或非门 正沿触发双D触发器 4位幅度比较器 3一8线译码器 2输入四异或门 双2—4线译码器 双4选1数据选择器 4—16线译码器 四2选1数据译码器 同步4位计数器 六D触发器 算术逻辑单元 超前进位发生器 同步可逆双时钟计数器 八缓冲器/总线驱动器 八总线收发器 八D触发器 八D锁存器 八D锁存器 算术逻辑单元 4×4寄存器堆 1K×4静态RAM 附录 常用器件简介

74LS00 2输入四正与非门

74LS04 六倒相器

74LS08 2输入四正与门

74LS32 2输入四正或门

74LS02 2输入四或非门

74LS10 3输入三正与非门

74LS11 3输入三正与门

74LS20 4输入双正与非门

74LS27 3输入三正或非门

74LS54 四组输入与或非门

74LS74 正沿触发双D型触发器

H(Note 1)这种情况是不稳定的,即当顶置和清除输入回到高电平时,状态将不能保持

74LS85 四位幅度比较器

74LS85 功能表

比较输入 A2B2 × × A2>B2 A2B1 A1B0 A0B AB AB3 A3138 功能表

74LS86 2输入四异或门

74LS139 双2—4译码器

74LS139 功能表

74LS153 双4选1数据选择器

74LS153 功能表

74LS154 4—16线译码器

74LS154 功能表

74LS157

四2选1数据译码器

74LS157 功能表

74LS161 同步四位计数器

74LS161 功能表

74LS174 六D触发器

74LS181 四位算术逻辑单元/功能发生器

74LS181 功能表(原码输出,反码输出)

74LS182 超前进位发生器

74LS182 功能表

73LS193 同步可逆双时钟计数器

74LS193 功能表

74LS244 三态输出八缓冲器/总线驱动器

74LS244 功能表

74LS245 八总线收发器

74LS245 功能表

74LS273 八D触发器

74LS273

功能表

74LS373 八D锁存器

74LS373 功能表

74LS374 八D锁存器

74LS374 功能表

74LS381 算术逻辑单元

74LS381 功能表

74LS670 三态输出4×4寄存器堆

74LS670 功能表

写输入 字 Wb Wa Ew 0 1 2 3 L L L Q=D Q0 Q0 Q0 L H L Q0 Q=D Q0 Q0 H L L Q0 Q0 Q=D Q0 H H L Q0 Q0 Q0 Q=D ╳ ╳ H Q0 Q0 Q0 Q0 MN2114 随机存储器

读输入 Rb Ra Er L L L L H L H L L H H L ╳ ╳ H 读出数据 Q1 Q2 Q3 Q4 W0B1 W0B2 W0B3 W0B4 W1B1 W1B2 W1B3 W1B4 W2B1 W2B2 W2B3 W2B4 W3B1 W3B2 W3B3 W3B4 Z Z Z Z

MN2114 功能表

CE非 H L L L WE非 ╳ L L H I/O 高阻 H L 输出 操作方式 没有选中 写“1” 写“0” 读

因篇幅问题不能全部显示,请点此查看更多更全内容