以下是基本模型机和带移位运算的设计和实现的调试的基本步骤:
①连续运行
A、将编程开关置为RUN(运行)状态,“STEP”置为“STEP ”,“STOP” 置为“RUN”。
B、使CLR1→0→1 ,微地址寄存器清零,程序计数器清零。按动START键,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
C、停机后,可检查存数单元(0B)中的结果是否和理论值一致。
D、在联机运行程序时,进入DEBUG调试界面,使CLR1→0→1,序的首地址为00H,按相应功能键即可联机运行、调试程序。
②单步运行程序
1、运用联机软件的传送文件功能(F4)将该格式文件传入实验系统。
2、使编程开关处于“RUN”状态,STEP处于“STEP”状态,STOP处于(STOP)状态。
3、拨动总清开关CLR(0->1),微地址清零,PC计数器清零,程序首地址为00H。
4、按F6进入DEBUG界面,再按相应的功能键可以进入分步调试。
1基本模型机的设计和实现结果分析:
理论分析:输入的被减数为B8H(184D)减数为8H(8D),则两个数相加为:B8H-8H=B0H(176D)。
实验结果:输出和为B0H,十进制数为176D。
由上面可得理论分析和实验结果相吻合,故实验正确。
2带有移位基本模型机的设计和实现结果分析:
1从实验电路中装入第一个加数, 10H(0001000),并且从内存中读取另一个加数10H(00010000) 10H+10H=20H(00100000).2 将结果20H(00100000)进行RRC带进位的左移操作,OF=0,得结果为40H(010000000)3 将结果40H(00100000)进行RL左移,得结果为80H(10000000)。
(一)课设感受和体会:
1.基础知识和原理很重要
我们试验指导书上给给出了基本模型机设计与实现,其中用到了加法指令。我们按照指导书把试验做出来了,但是不知道为什么是这样的。然而,老师要求我们改变其中的指令实现不一样的功能。我们小组就按照指导书并结合课本,另外,还有机房的联机软件,可以把数据的流向看的非常清楚。更有利于我们的理解。如果不了解这些指令,我们就无法去更深层次的去设计出其它的模型机。
2.认真听老师的讲解加上主动请教老师
计算机组成原理是一些计算机底层的东西,有时自己看书很难明白。所以,我们要多问老师。老师讲解的时候,我们要做好笔记,我们遇到问题的时候,要主动请教老师。通过这样的交流,我们对计算机模型机设计与实现这个问题会有新的认识。把自己的想法和思路跟老师交流,看看自己计划的可行性。
3.多查资料和网络实现资源共享(图书馆和Internet)
我查了其它高校的计算机学院的教学资源网站,也有相关的内容。我把这些资料下载下来,并本类打印了,以便参阅。为了做好这个课设,由于北区的图书资料比较少,就去了南区借了四本有关图书。其实,网上有很多这方面的资料。我去了(www.csdn.net)查到了很有用的资料,是一位网友上传上去的。网络让我们的资源实现共享,这样最大的受益者就是我们这些大学生了和一些研究者。通过网络还和一下网友交流了,自己的想法,并把自己的想法和思路和他们交流了一下。
4.实践是检验真理的唯一途径
有了思路,设计好了,把自己的设计通过指令输入联机软件中,看电路中数据的流向和最终的结果和理论是否相符,开始的时候不知道什么问题,得出的结果是错的。后来换了一台计算机之后,就正确了,经分析后,才知道,是联机的模型级出现了问题,导致指令不能正常执行。通过分析和设计后,让自己对计算机的内部构造和指令的执行有了更加深刻的认识。
还要多谢老师的指导,最终把问题解决。
(二)与众不同之处:
1.这两个模型机设计与实现中,先把数据通过“INPUT DEVICE ”输入送入至内存之中, 通过微程序控制器,取出相应的[16H]地址中的内容,再送往运算器,进行两个数的相加或相减。相加或相减可以通过改变相应的微程序代码而来变化。
相加只要在微地址为[06]的微程序改为:$ M06019A95
相减只要把以上微程序改为: $ M06019A61 。
也可以把减数进行改变只要把[16H]地址的所对应的微程序改为:$ MP1608
2、在带移位运算的模型机的设计与实现中,
实验中有4条移位运算指令:RL(左环位) RLC(带进位左环移)
RR(右环移) RRC(带进位右环移)
先把数据通过“INPUT DEVICE ”输入送入至内存之中, 通过微程序控制器,取出相应的[0DH]地址中的内容,再送往运算器,进行两数的相加。再进行带进位左环移。再输入其他的数据则可以进行其他方法的运算。
开始输入的数据为(R0):10H(十六进制),加数[16H]地址的内容为10H(十六进制);实验中得到两数相加的和为(R0):20H(十六进制);再进行带进位左环移可得到(R0):40H (十六进制);第二次输入的数据为:40H(十六进制);进行左环移得到的数据(R0)为:80H(十六进制)
理论值:
40H(十六进制)对应的二进制为:0100 0000,进行带进位的左环移如下图:
(带进位的左环移)
可得理论值为:1000 0000 转换为十六进制为:80H。
可见实验值与理论值一致。