计算机组成原理实验五:CPU组成与机器指令执行实验

本篇博文主要是讲述一下计算机组成原理实验中CPU组成与机器指令执行实验,因为很多同学在刚学习计算机组成原理实验的时候对于调试的一些步骤还是有些懵懵懂懂,每个步骤之间的连接做的不是很连贯,故有了写此篇博文的初衷,笔者会在近期分享计算机组成原理实验的五个实验,希望对有学习此课程的同学能够有一些帮助!

实验目的
(1)将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机;
(2)用微程序控制器控制模型机数据通路;
(3)通过CPU运行九条机器指令(排除中断指令)组成的简单程序,掌握机器指令与微指令的关系,牢固建立计算机的整机概念。

实验任务
(1)对机器指令系统组成的简单程序进行译码。
(2)将上述任务(1)中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7—SW0设置通用寄存器R2、R3及内存相关单元的数据。注意:由于设置通用寄存器时会破坏内存单元的数据,因此一般应先设置寄存器的数据,再设置内存数据。
(3)用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中四个寄存器的数据,以及由STA指令存入RAM中的数据(程序结束后从RAM的相应单元中读出),与理论分析值作对比。单拍方式执行时注意观察微地址指示灯、IR/DBUS指示灯、AR2/AR1指示灯和判断字段指示灯的值,以跟踪程序中取指令和执行指令的详细过程(可观察到每一条微指令)。
(4)以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示灯、AR2/AR1指示灯的值(可观察到每一条机器指令)。执行结束后,记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。注意:单指方式执行程序时,四个通用寄存器和RAM中的原始数据与第一遍执行程序的结果有关。

实验步骤:
在这里插入图片描述
在这里插入图片描述
实验结果:
在这里插入图片描述
实验具体操作步骤如下
步骤一:在仿真面板进行连线,此操作以前四个实验的步骤一样,不再进行详细叙述
在这里插入图片描述
步骤二:进入实验面板,并设置实验要求中寄存器R2和R3的值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤三:从00地址开始存10个机器代码:58H,5DH,04H,95H,3EH,1BH,4BH,24H,60H,84H。在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。

补充,下面这步骤按完复位键后需按QD,目的是进入00地址
在这里插入图片描述
补充,上面这步骤按完复位键后需按QD,目的是进入00地址

点击RAM查看输入后的数值
在这里插入图片描述

在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。
在这里插入图片描述
进入地址后,在SW中输入00100100即24H,再按QD,按完QD后地址默认进下一位即61,再在SW中输入10000011即83,再按QD即完成本步操作,操作完数据如下图:
在这里插入图片描述
步骤四:用单拍(DP)方式执行一遍程序,即依次遍历地址执行指令
在这里插入图片描述
单拍执行01H地址的指令
在这里插入图片描述
单拍02H的操作也是一样,但是!!!单拍中03H的操作,也就是
在这里插入图片描述
执行到这一步的时候,跟前面的不一样了,看下图
在这里插入图片描述
04-05的单拍操作也跟00-02一样,但了06又不一样!!!
在SW输入00000110即06,按QD执行,执行的时候需要点击RAM,查看数据,因为06的操作是
在这里插入图片描述
即把R3的地址数据赋值给R2的地址所对应的数值,即R2是01100000(60H)的,60H在RAM中是24H,为什么是24H?在上面的步骤我们依照实验设置的.

即06H的指令是把R2地址60H中的数值24H变成R3 00000001(在单拍中05地址的指令使得R3 = 00000001,上面只示例到操作03)
实验结果如下:在这里插入图片描述
所以同学们要在按QD的时候按一次点击一下RAM查看60H的数值有无变化,一共是按4次QD,地址60的值会变成01,感谢舍友@周

当单拍遍历00-09的操作后即可得出一开始在上面的实验结果

博主注:本次实验操作不复杂,但是在最后的单拍操作中需要注意03和06的操作指令,这是特别需要注意的,因为博主在进行实操的时候因为没有注意(00-09都一直按QD得出数据没有注意具体要求)导致实验错误!

至此,计算机组成原理实验的五个实验都结束了,很高兴与大家一起分享这五个实验!如有不清楚的地方可以在博客下进行留言或进行私聊博主!
再次感谢大家的浏览,谢谢!

猜你喜欢

转载自blog.csdn.net/weixin_44001222/article/details/106472836