计算机组成原理实验五: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中的原始数据与第一遍执行程序的结果有关。


实验步骤:


2020060115145289.png

20200601151519803.png

实验结果:20200601151553488.png

实验具体操作步骤如下

步骤一:在仿真面板进行连线,此操作以前四个实验的步骤一样,不再进行详细叙述20200601151706233.png

步骤二:进入实验面板,并设置实验要求中寄存器R2和R3的值20200601152455531.png20200601153342845.png20200601153756832.png

步骤三:从00地址开始存10个机器代码:58H,5DH,04H,95H,3EH,1BH,4BH,24H,60H,84H。在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。

补充,下面这步骤按完复位键后需按QD,目的是进入00地址20200601154820996.png

补充,上面这步骤按完复位键后需按QD,目的是进入00地址

点击RAM查看输入后的数值

20200601155442802.png

在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。

20200601155329648.png

进入地址后,在SW中输入00100100即24H,再按QD,按完QD后地址默认进下一位即61,再在SW中输入10000011即83,再按QD即完成本步操作,操作完数据如下图:

20200601155848387.png

步骤四:用单拍(DP)方式执行一遍程序,即依次遍历地址执行指令20200601160448741.png

单拍执行01H地址的指令2020060116091651.png

单拍02H的操作也是一样,但是!!!单拍中03H的操作,也就是20200601161114544.png

执行到这一步的时候,跟前面的不一样了,看下图2020060116124120.png

04-05的单拍操作也跟00-02一样,但了06又不一样!!!

在SW输入00000110即06,按QD执行,执行的时候需要点击RAM,查看数据,因为06的操作是

20200601161449324.png

即把R3的地址数据赋值给R2的地址所对应的数值,即R2是01100000(60H)的,60H在RAM中是24H,为什么是24H?在上面的步骤我们依照实验设置的.


即06H的指令是把R2地址60H中的数值24H变成R3 00000001(在单拍中05地址的指令使得R3 = 00000001,上面只示例到操作03)


20200601162007607.png


实验结果如下:

所以同学们要在按QD的时候按一次点击一下RAM查看60H的数值有无变化,一共是按4次QD,地址60的值会变成01,感谢舍友@周


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


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


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

再次感谢大家的浏览,谢谢!


相关文章
|
1月前
|
存储
计算机组成原理(7)----CPU内部单总线数据通路
计算机组成原理(7)----CPU内部单总线数据通路
80 0
|
1月前
|
存储
计算机组成原理(5)----CPU的基本结构
计算机组成原理(5)----CPU的基本结构
64 0
|
5天前
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
|
1月前
|
存储 芯片 块存储
计算机组成原理(2)-----存储芯片与CPU的连接
计算机组成原理(2)-----存储芯片与CPU的连接
85 1
|
1月前
|
存储
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
409 2
|
1月前
|
存储 算法 索引
【头歌·计组·自己动手画CPU】三、存储系统设计(HUST)(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】三、存储系统设计(HUST)(理论版) 【计算机硬件系统设计】
321 1
|
1月前
|
存储 人工智能 BI
【头歌·计组·自己动手画CPU】二、运算器设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】二、运算器设计(理论版) 【计算机硬件系统设计】
191 1
|
1月前
|
存储
【头歌·计组·自己动手画CPU】四、控制器设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】四、控制器设计(理论版) 【计算机硬件系统设计】
85 0
|
1月前
|
Linux
Linux rsyslog占用内存CPU过高解决办法
该文档描述了`rsyslog`占用内存过高的问题及其解决方案。
87 4
|
1月前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
141 10