《计算机组成原理实验》指导书(6)

2020-02-21 16:03

$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 4、运行程序

方法一:联机运行程序 首先使各个开关的状态为:SIGNAL UNIT中的SP03开关设置为“STEP”状态,SP04开关设置为“RUN”状态;CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN” 状态;SWITCH单元的开关SWB、SWA为“11”。

使SWITCH单元的总清开关CLR(1?0?1)清零后,程序首址为00H。通过联机软件进入调试界面(其操作方法参见附录2系统联机操作软件说明),可以通过调试程序的操作界面控制程序的运行,同时观察运行过程和结果。

方法二:手动运行程序 (1)单步运行程序

A、使CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN”状态,SIGNAL UNIT中的SP03为“STEP”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”。

B、拨动SWITCH单元的总清开关CLR(1?0?1),微地址清零,程序计数器清零,程序首址为00H。 C、单步运行微指令,每按动一次CONTROL UNIT的START触动开关,即单步运行一条微指令。对照微程序流程图2-2,观察微地址显示灯MA5-MA0是否和流程一致。

D、当运行结束后,可检查运行结果是否和理论值一致。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。

(2)连续运行程序

A、使CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN”状态,SIGNAL UNIT中的SP03为“RUN”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”。

B、拨动SWITCH单元的总清开关CLR(1?0?1),微地址及程序计数器清零,然后按动CONTROL UNIT的START触动开关,系统连续运行程序,稍后将SIGNAL UNIT中的SP04拨至“STOP”时,系统停机。 C、停机后,可检查运行结果是否正确。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。

六、实验报告:

1、将实验中观察到的数据列表记录;

七、思考题:

1、机器指令包括哪两个基本要素?微指令又包括哪两个基本要素?程序靠什么实现顺序执行?靠什么实现转移?微程序中顺序执行和转移执行依靠什么方法?

实验八 复杂模型机实验

一、实验目的:

综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。

二、实验内容:

根据复杂模型机的指令系统,编写实验程序,并运行程序,观察和记录运行结果。

三、实验仪器:

1、计算机组成原理教学实验箱 一台 2、排线 若干 3、PC机 一台

四、实验原理:

复杂模型机的数据通路框图如图2-7。根据机器指令系统要求,设计微程序流程图及确定微地址,如图2-8。

地址总线ALU-GARS3S2S1S0LDARALUPC-GMEMLED-GT4LDDR1T4LDDR2PCDR2LOADLDPCWECEOUTT4299-G74299WEDR1数据总线R0-GR0LDR0LDR1R1-GR1LDR2R2-GR2时序微控制器WET1T2INIRSW-GLDIR

图2-7 复杂模型机数据通路框图

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。 微程序 24 23 22 21 20 19 18 控制信号 S3 S2 S1 S0 M CN RD 17 16 15 14 13 A 12 11 10 9 8 B P 7 6 5 4 3 2 1 M17 M16 uA5 uA4 uA3 uA2 uA1 uA0 A字段 15 0 0 0 0 1

B字段 12 0 0 0 0 1 11 0 0 1 1 0 10 0 1 0 1 0 控制信号 RS_G RD_G RI_G 299_G 9 0 0 0 0 1 8 0 0 1 1 0 LDRI LDDR1 LDDR2 LDIR P字段 7 0 1 0 1 0 控制信号 P1 P2 P3 P4 14 0 0 1 1 0 13 0 1 0 1 0 控制信号

1 1

0 1 1 0 LOAD LDAR 1 1 0 1 1 0 ALU_G PC_G 1 1 0 1 1 0 AR LDPC 五、实验步骤及注意事项:

1、根据复杂模型机的指令系统,编写实验程序。 实验例程如下:

本实验完全使用寄存器操作。程序首先从数据输入开关采集数据放入R0中,经循环左移两次放入R1中。然后再次从数据输入开关采集数据放入R0中,经循环右移一次与R1中的数据相加,其结果送到R1中,然后判断加法的结果是否有进位或为全零,若是就循环运行,否则,输出结果到数码管上显示。实验的机器指令程序如下:

地址 内 容 助记符 01 F0

说 明

;R0带进位左循环移位一次

00 44 IN R0 ;INPUT数据?R0,第一次采集数据(设输入数据为14H)

RLC R0, R0

02 F1 RLC R0, R1 ;第二次左移后保存到R1中 03 44 IN R0 ;输入开关数据?R0,第二次采集数据(设输入数据仍为14H) 04 E0 05 91 06 0C 07 00 08 59 09 60

以上程序的机器指令如下:

$P0044 $P01F0 $P02F1 $P0344 $P04E0 $P0591 $P060C $P0700 $P0859 $P0960

微程序

$M00018108 $M0101ED82 $M0200C050 $M0300A004 $M0400E0A0 $M0500E006 $M0600A007 $M0700E0A0 $M0801ED8A $M0901ED8C $M0A00A03B $M0B018001 $M0C00203C $M0D00A00E $M0E01B60F $M0F95EA25 $M1001ED83 $M1101ED85 $M1201ED8D $M1301EDA6 $M14001001 $M15030401 $M16018016 $M173D9A01 $M18019201 $M1901A22A $M1A01B22C $M1B01A232 $M1C01A233 $M1D01A236 $M1E318237 $M1F318239 $M20009001 $M21028401 $M2205DB81 $M230180E4 $M24018001 $M2595AAA0 $M2600A027 $M2701BC28 $M2895EA29 $M2995AAA0 $M2A01B42B $M2B959B41 $M2C01A42D

RRC R0, R0 ADC R0, R1 BZC 00 OUT R1 HALT

;R0带进位右循环移位一次 ;两数据相加

;若有进位或结果为零,则跳到00地址单元 ;R1? OUTPUT UNIT 显示; ;停机

$M2D05AB6E $M2E0DAA2F $M2F01AA30 $M300D8171 $M31959B41 $M32019A01 $M3301B435 $M3405DB81 $M35B99B41 $M360D9A01 $M37298838 $M38019801 $M3919883A $M3A019801 $M3B070A08

$M3C068A09

2、按图2-9连接实验线路,仔细检查线路无误后接通电源。(图中箭头表示需要接线的地方,接总线和控制信号时要注意高低位一 一对应,可用彩排线的颜色来进行区分。 本次实验中连线工作量较大,务必仔细,仔细检查接线是否正确,以免信号线接错导致控制出错,影响实验的进度。)

(1)先将机器指令对应的微代码正确地写入28C16中,可以参照实验1.7微程序控制器的组成与微程序设计实验中微代码的写入方法,将本实验对应的微代码写入E2PR0M芯片中,对照前面的微程序内容校验正确后就可使用。

(2)使用控制台WRITE和READ微程序进行机器指令程序的手动装入和检查,其操作如下: A、使SIGNAL UNIT单元的SP03为“STEP”状态,SP04为“RUN”状态,CONTROL UNIT的开关SP05处于“NORM”状态,开关SP06处于“RUN” 状态。

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

C、校验。拨动SWITCH单元的总清开关CLR(1?0?1),微地址清零。PC程序计数器清零,然后使SWITCH单元的开关SWB、SWA为“00”,按动CONTROL UNIT的触动开关START,微地址灯将显示“001000”,再按START,微地址灯显示为“001010”,第三次按START,微地址灯显示为“111011”,再按START后,此时OUTPUT单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中显示。

3、写程序

对于本实验箱可以用两种方法来写入程序。 方法一:联机读/写程序

按照规定格式,将机器指令及微指令编辑成十六进制的规定格式文件,已经在前面列出。 使用联机软件的文件装载将实验程序和微程序下载到实验箱中,并用软件的读出功能进行检查。本实验参考程序对应的文件名为“复杂模型机.TXT”(联机软件的使用方法参看附录2)。


《计算机组成原理实验》指导书(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中安专升本计算机过关题(三)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: