实 验 报 告
实验四 模型机的设计与实现
一、实验目的
1、构造一台基本模型计算机。
2、掌握在模型计算机上进行微程序编制、指令输入、运行调试的方法。 二、实验设备
DVCC-C5JH计算机组成原理教学实验系统一台,排线若干。 三、实验内容
1、实验原理:
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次试验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本实验采用五条机器指令:IN(输入)、SUB(减法)、STA(存数)、OUT(输出)、JMP(件转移)其指令格式如下(4位为操作码):
IN 0010 0000 “INPUT DEVICE”中的开关状态RO SUB addr 0011 0000 ******** RO-[addr] -1RO STA addr 0100 0000 ******** RO[addr] OUT addr 0101 0000 ******** [addr] BUS JMP addr 0110 0000 ******** addrPC
其中IN为单字长(8位),其余为双字长指令,******为addr对应的二进制地址码。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须三个控制台操作微程序。
存储器读操作(KKD):拨动总清开关CLR后,控制台SWB、SWA为“0 0”时,按START未动开关,可对RAM连续手动读操作。
存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为“0 1”时,按START微动开关可对RAM进行连续手动写入。
启动程序:拨动总清开关CLR后,控制台SWB、SWA置为“1 1”时,按动START微动开关,即可转入到底01号“取址”微指令,启动程序运行。
2、实验步骤:
先详细了解实验的原理然后进行以下步骤:
⑴设计模型机的数据通路图,根据机器指令系统要求,设计微程序流程图及确定微地址;
⑵根据⑴的设计,编制好微程序;
⑶根据⑴中的数据通路,连接好实验线路,仔细检查无误后接通电源; ⑷将编制好的微程序写入控存;
⑸使用上面设计好的机器指令编写机器指令程序,存放在内存中; ⑹执行⑸中的机器指令程序,并验证前面的设计是否正确,若不正确请修改前面的设计和微程序; 四、实验结果
1、模型机的数据通路图:
2、微程序流程图(含相应微地址):
运行微程序 02 RAMBUS BUSIR 10 OUT 15 PCAR PC+1 17 RAMBUS BUSAR 25 RAMBUS BUSDR1 26 R0DR1 01 JMP 16 R0BUS BUSPC PCAR PC+1 01 IN 12 ADD P(1) STA 14 PCAR PC+1 07 RAMBUS BUSAR 11 R0BUS BUSRAM 01 13 PCAR SWR0 PC+1 03 01 RAMBUS BUSAR 04 RAMBUS BUSDR2 05 R0DR1 06 (DR1)-(DR2)-1R0 01 01
3、微程序(列表显示或输出相应的十六进制表示的微程序): $M00108101 $M0182ED01 $M0248C000 $M0304E000 $M0405B000 $M0506A201 $M06019A61 $M0709E000
$M08011000 $M09018202 $M0A011000 $M0B83ED01 $M0C87ED01 $M0D8FED01 $M0E81D301 $M0F15E000 $M1092ED01 $M1194ED01 $M1217A000 $M13018001 $M14182000 $M1516A000 $M16010A07 $M17100A07 $M18118A06 $M1981D300 $M1A019A01 $M1B32A201 $M1C33A201 $M1D36A201 $M1E378231 $M1F398231
4、用于验证的机器指令程序: 0000 0000 0010 0000 INRO
0000 0001 0011 0000 SUB[0AH] 0000 0010 0000 1010
0000 0011 0100 0000 STA[0BH] 0000 0100 0000 1011
RO-[0AH]-1RO RO[0BH] 0000 0101 0101 0000 OUT[0BH] [0BH] BUS 0000 0110 0000 1011
0000 0111 0010 0000 INRO
0000 1000 0110 0000 JMP[00H] 00HPC 0000 1001
0000 1010 0000 1000 自定 0000 1011 结果 转化为: $P0020 $P0130 $P020A $P0340 $P040B $P0550 $P060B $P0720 $P0860 $P0900 $P0A08
5、机器指令执行的情况:
⑴执行至“OUT”指令时便发生异常,会重复执行程序。 ⑵经重复校验修正后得到正确结果。 ⑶得到结果(输入数-08-01)。 五、实验总结
学习应当认真,有耐心,有问题时应当及时想办法解决,可以查资料想老师同学询问等。只要学习态度端正,及时询问,认真思考,积极向上就没有解决不了的问题。
在这次实验中,认真的听懂了老师的讲解,并由小组参考实验四设计了一组程序指令和微程序指令,实现了(输入数-08-01)的功能。但是由于数字繁琐,导
致马虎出错。所以我们应该更有耐心的去完成任务。 六、实验问题及解答
执行至“OUT”指令时便发生异常,会重复执行程序。 经过详细的检查后发现是指令编码输入有误。经校验修正后便可成功执行。
因篇幅问题不能全部显示,请点此查看更多更全内容