计算机组成原理实验五: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得出数据没有注意具体要求)导致实验错误!


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

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


相关文章
|
3月前
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
CPU的工作原理基于其内部结构,通过执行指令来完成各种任务
105 2
|
2月前
|
存储 人工智能 编译器
【AI系统】CPU 指令集架构
本文介绍了指令集架构(ISA)的基本概念,探讨了CISC与RISC两种主要的指令集架构设计思路,分析了它们的优缺点及应用场景。文章还简述了ISA的历史发展,包括x86、ARM、MIPS、Alpha和RISC-V等常见架构的特点。最后,文章讨论了CPU的并行处理架构,如SISD、SIMD、MISD、MIMD和SIMT,并概述了这些架构在服务器、PC及嵌入式领域的应用情况。
137 4
|
5月前
|
存储 缓存 数据处理
计算机临时存储CPU运算数据
【8月更文挑战第4天】
106 8
|
5月前
|
存储 固态存储 测试技术
|
6月前
|
编译器 芯片
计算机中CPU 架构
【7月更文挑战第27天】
103 2
|
6月前
|
存储 缓存 数据处理
计算机中 中央处理器 (CPU)
【7月更文挑战第27天】
91 2
|
6月前
|
NoSQL Redis 开发工具
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
|
7月前
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
汇编语言(第四版) 实验一 查看CPU和内存,用机器指令和汇编指令编程
115 1
|
6月前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
6月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间

热门文章

最新文章