计算机组成原理 基本模型机实验

  • 格式:doc
  • 大小:111.50 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

淮海工学院计算机工程学院实验报告书

课程名:《计算机组成原理》

题目:实验四基本模型机实验

班级:

学号:

姓名:

1、目的与要求

1)在“微程序控制器的组成与微程序设计实验”的基础上,将第一部分中的各单元组成系统,构造一台基本模型计算机。

2)本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。2、实验设备

1) ZYE1601B计算机组成原理教学实验箱一台,排线若干。

2) PC机一台。

3、实验步骤与源程序

l) 根据该模型机的指令系统,编写一段程序。这里给出两个参考程序。

参考程序一:

本程序从输入设备(数码开关)取入数据,保存在内存单元08,然后从08单元送到输出设备(LED数码管)进行显示。然后程序停止(请实验者考虑:如何修改程序,使程序不断从输入设备取出数据,送到输出设备显示。每次循环过程中,可以使输入设备数据改变,考察输出显示的结果。)。

设计机器指令程序如下(机器码为十六进制数据)。

地址内容助记符说明

00 00 IN ;输入开关数据→R0

01 20 STA [08H] ;R0→[08]

02 08 ;地址

03 30 OUT [08H] ;[08H]→BUS

04 08 ;地址

05 40 JMP [00H] ;00H→PC

06 00 ;跳转地址

参考程序二:

本程序从输入设备(数码开关)读入数据,与0A单元的数据相加,然后送到输出设备(LED 数码管)进行显示。本程序不断地循环运行,在运行中可改变输入开关(INPUT)的值,观察输出显示的变化。

设计机器指令程序如下(机器码为十六进制数据)。

地址内容助记符说明

00 00 IN ;输入开关数据→R0,采集数据

01 10 ADD [0AH] ;R0+[0AH]→R0,输入数据与指定数据相加

02 0A ;地址

03 20 STA [0BH] ;R0→[0B]

04 0B ;地址

05 30 OUT [0BH] ;[0BH]→BUS,输出显示

06 0B ;地址

07 40 JMP [00H] ;00H→PC

08 00 ;跳转地址

0A 01 ;加数,可自定

0B ;求和结果保存在0B单元

2) 按图1连接实验线路。

3) 写程序:

对于本实验箱可以用两种方法来写入程序。

方法一:手动写入

(1)先将机器指令对应的微代码正确地写入2816中,由于在实验1.6微程序控制器的组成与微程序设计实验中已将微代码写入E2PR0M芯片中,对照表2—2校验正确后就可使用。

(2)使用控制台WRITE 和READ 微程序进行机器指令程序的装入和检查,其操作如下:

A. 使SP03为“STEP ”状态,SP04为“RUN ”状态,中断开关SP05处于“NORM ”状态,编程开关SP06处于“RUN ” 状态,。

B. 拨动总清开关CLR (1→0→1),微地址寄存器清零,程序计数器清零。然后使控制台SWB 、SWA 开关设置为“01”,按动一次启动开关START ,微地址显示灯显示“010001”,再按动一次START ,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动两次START 键后,即完成该条指令的写入。若仔细阅读WRITE 的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC 会自动加1。所以,每次按动START ,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。

C. 校验。拨动总清开关CLR (1→0→1)后,微地址清零。PC 程序计数器清零,然后使控制台开关SWB 、SW A 为“00”,按动启动start ,微地址灯将显示“010000”,再按START ,微地址灯显示为“010010”,第三次按START ,微地址灯显示为“010111”,再按START 后,此时输出单元的数码管显示为该首地址中的内容。不断按动START ,以后每个循环PC 会自动加1,可检查后续单元内容。每次在微地址灯显示为“010000”时,是将当前地址中的机器指令写入到输出设备中显示。

方法二:联机读/写程序

按照规定格式,将机器指令及表2-2微指令二进制表编辑成十六进制的如下格式文件。微指令格式中的微指令代码为将表2-2中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。

图1 基本模型机实验接线图

参考程序一的机器指令: $P0000 $P0120

$P0208 $P0330

$P0408

$P0540

$P0600 参考程序二的机器指令:

$P0000 $P0110 $P020A $P0320 $P040B

$P0530 $P060B $P0740 $P0800 $P0A01

微程序(以上两程序公用):

$M00018110 $M0101ED82 $M0200C048 $M0300E004 $M0400B005 $M0501A206 $M06959A01 $M0700E00D $M08001001 $M0901ED83

$M0A01ED87

$M0B01ED8E

$M0C01ED96

$M0D028201

$M0E00E00F

$M0F00A015

$M1001ED92

$M1101ED94

$M1200A017

$M13018001

$M14002018

$M15070A01

$M1600D181

$M17070A10

$M18068A11

用联机软件的装载程序功能,将该格式文件传入实验箱即可(具体方法参见软件使用说明)。参考程序一的文件名为“基本模型机1”,参考程序二的文件名为“基本模型机2”

4) 运行程序

(1)单步运行程序

A. 使中断控制开关SP05处于“NORM”状态,编程开关SP06处于“RUN”状态,

SP03为“STEP”状态,SP04为“RUN”状态,SWA为“1”,SWB为“1”状态。

B. 拨动总清开关CLR(1→0→1),微地址清零,程序计数器清零,程序首址为00H。

C. 单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程

序流程图,观察微地址显示灯是否和流程一致。

D. 当运行结束后,可检查运行结果是否和理论值一致。

(2)连续运行程序

A. 使“SIGNAL UNIT”中的SP03开关设置为“RUN”状态。SP04开关设置为“RUN”

状态。

B. 拨动CLR开关,微地址及程序计数器清零,然后按动START,系统连续运行程序,

稍后将SP04拨至“STOP”时,系统停机。

C. 停机后,可检查运算结果是否正确。

(3)联机运行程序

按总清开关CLR(1→0→1)清零后,程序首址为00H。通过联机软件进入调试界面(其操作方法参见附录3系统联机操作软件说明),可以通过调试程序的操作界面控制程序的运行(注意SW A、SWB的状态都为“1”)。

4、结果分析与实验体会

本次实验要接的线比较多,接的我都有点头晕了。最终还是按照书上把线接好了。按好后,按照说明一步步做,得到了正确的结果。只要线接对,就没什么大的问题了。