计算机组成原理实验之CPU组成与指令周期实验

本文详述了计算机组成原理实验中关于CPU构造与指令周期的实践内容,包括实验目的、步骤、环境及结果。通过TEC-5实验系统,实现了微程序控制器与数据通路的联机,执行了8条机器指令的简单程序,以理解微指令与机器指令的关系。实验涉及了手动汇编、控制存储器编程、数据存取以及单拍与连续执行模式,加深了对计算机整机概念的理解。

(实验五  CPU组成与指令周期实验)

课程 计算机组成原理实验

实验日期 2015 年 12 月  8 日   

 

一、实验目的

1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机。

2.用微程序控制器控制模型计算机的数据通路。

3.通过TEC-5执行由8条机器指令组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。

 

二、实验内容

1. 实验电路图1

 

2.实验任务

(1)将下表5-1的程序按机器指令格式手工汇编成二进制机器代码(要求预习时完成)。

表5-1

内存地址

机器指令

机器代码(十六进制表示)

00H

ADD R1, R0

01H

01H

JC R3

5CH

02H

STA R1, [R2]

39H

03H

LDA R2, [R2]

4AH

04H

AND R2, R0

22H

05H

SUB R2, R3

1EH

06H

OUT R2

78H

07H

STP 

60H

(2) 将实验任务(1)中的程序代码用控制台指令存入内存中,并根据程序的需要,用数码开关SW7-SW0设置通用寄存器的数据和内存数据。要求使用两组寄存器数据,第一组寄存器数据在执行 ADD R1,R0指令时产生进位,第二组寄存器数据在执行ADD R1,R0指令时不产生进位,以观察同一程序的不同执行流程。

(3)用单拍(DP)方式执行一遍程序,记录最后得到的四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值比较。执行时注意观察各个指示灯的显示,以跟踪程序执行的详细过程(可观察到每一条微指令的执行过程)。

(4)用连续方式再次执行程序。这种情况相当于计算机正常的工作。程序执行到STP指令后自动停机。读出寄存器中的运算结果,与理论值比较。

 

参考数据:

假设第一组数据:

预置寄存器数据R0=35HR1=43HR2=10HR3=07H。存储器10H单元的内容为55H

假设第二组数据:

预置寄存器数据R0=86HR1=88HR2=10HR3=07H。存储器10H单元的内容为55H

 

三、实验环境

软件: WIN XP、串口调试助手软件

硬件:1.微机                                    1台

   2.TEC-5实验系统                1台

        3.逻辑测试笔          1支 

        4.编程器                                  公用

 

四、实验步骤和实验结果

(一)对机器指令系统组成的简单程序进行手工译码的结果如下:

内存地址

机器指令

机器代码(十六进制表示)

00H

ADD R1, R0

01H

01H

JC R3

5CH

02H

STA R1, [R2]

39H

03H

LDA R2, [R2]

4AH

04H

AND R2, R0

22H

05H

SUB R2, R3

1EH

06H

OUT R2

78H

07H

STP 

60H

 

(二)接线表:

控制器

LDIR

PC+1

LDPC#

AR+1

LDAR#

LDDR1

LDDR2

LDRi

数据通路

LDIR

PC+1

LDPC#

AR+1

LDAR#

LDDR1

LDDR2

LDRi

 

控制器

SW_BUS#

Rs_BUS#

ALU_BUS#

RAM_BUS#

CER#

CEL#

数据通路

SW_BUS#

Rs_BUS#

ALU_BUS#

RAM_BUS#

CER#

CEL#

 

控制器

LR/W#

Cn#

M

S0

S1

S2

S3

数据通路

LR/W#

Cn#

M

S0

S1

S2

S3

 

控制器

进位C

IR7

IR6

IR5

IR4

数据通路

进位C

IR7

IR6

IR5

IR4

 

数据通路

IR3

IR2

IR1

IR0

IR1

IR0

数据通路

RS1

RS0

RD1

RD0

WR1

WR0

 

控制器

TJ

时序电路

TJ

 

(三)打开TEC-5电源。

(四)用串口调试助手对控存EEPROM进行改写。

      首先需要用串口调试助手对控存EEPROM进行改写:

      TEC-5中的4片EEPROM(CM0-CM3,U35-U38)是控存,里面装有TEC-5微程序的微代码。由于它是电可擦除可编程的EEPROM,因此可以实现不用将CM0-CM3从插座上取出就能实现对其编程的目的。为此我们在TEC-5上用1片单片机芯片89S52(U39)和一些附加电路实现了不用拔出CM0-CM3就能对其编程,从而改写这些EEPROM中微代码的目的。89S52中包含一个监控程序,它负责通过串行口和PC机通讯,向PC机发出提示信息、接收命令和数据,并根据接收到的命令(0,1,2,3)决定将随后收到的64个数据写入指定的EEPROM。命令0、1、2、3指定写那个器件,0对应CM0,1对应CM1,2对应CM2,3对应CM3。64个字节的数据将写入指定EEPROM的前64个单元(地址00H-3FH)。

      注意波特率为1200波特。

  CM0-CM3的下载步骤:

(1)在TEC-5关闭电源的情况下,用出厂时提供的RS232串口线将TEC-5实验仪的串口与主机的串口连接起来。TEC-5上的编程开关拨到“1编程”位置。将串口调试助手程序打开,设置好参数。打开电源。按一下复位键RESET,使控制存储器处于接收信息状态,此时TEC-5中微地址与微码的指示灯全亮。(注意:在数据传送过程中这些指示灯会闪烁)。

(2)软件的数据接收区此时会显示‘WAITING FOR COMMAND ...’,如下图4。按“清空重填”按钮,然后请在数据发送窗口写入‘0’,按‘手动发送’按钮,将命令‘0’发送给89S52,表示通知它要写CM0文件了。

(3)此时数据接收区会出现‘PLEASE CHOOSE A CM FILE’,如下图5所示,请通过按钮‘选择发送文件’,选择要写入二进制文件(如CM0.BIN),文件必须是“BIN”格式,长度为64字节。然后点击‘发送文件’按钮,将文件发往89S52。89S52接收数据并对CM0编程,然后它读出CM0的数据和从PC机接收到数据比较,不管正确与否,89S52都向PC机发出结果信息,在串口调试助手软件数据接收窗口显示出来。如果发送成功,则结果如下图6所示。

 

图4  数据接收区等待命令窗口

 

图5 选择发送文件窗口

 

图6 数据接收区发送成功窗口 

 

(4)等待文件发送完毕的提示(注意看软件的最底下的状态行和数据接收区),请注意看数据接收区的命令提示,重复(2)-(3)步骤,分别输入命令‘1’、‘2’、‘3’,同时,应分别选择CM1、CM2、CM3文件,对相应的EEPROM编程。CM1、CM2、CM3全部编程完后,按RESET按钮结束编程。最后将TEC-5上的编程开关拨到正常位置。

   注意:对CM0、CM1、CM2、CM3的编程顺序无规定,只要在发出器件号后紧跟着发送该器件的编程数据(文件)即可。例如,可以按CM3、CM2、CM0、CM1的顺序编程。编程也可以只对一个或者几个EEPROM编程,不一定对4个EEPROM全部编程,只要编程结束后按RESET按钮结束编程,最后将TEC-5上的编程开关拨到正常位置即可

 

(五)存程序代码。

      设置通用寄存器R0、R1、R2和R3的第一组值及存储器相关单元的数据。

     设本组的寄存器数据R0=35H,R1=43H,R2=10H,R3=07H。存储器10H单元的内容为55H。选择这组数据的目的是执行ADD R1,R0指令时不产生进位C,从而在执行JC R3指令时不产生跳转,而是顺序执行。

 

设置通用寄存器R0、R1、R2和R3的值

在本操作中,置R0=35H,R1=43H,R2=10H,R3=07H

(1)令DP=0,DB=0,使系统处于连续运行状态。令SWC=0,SWB=1,SWA=1,使系统处于写寄存器状态WRF。按CLR#按钮,使实验系统处于初始状态。

(2)在SW7—SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。即该地址设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值