【机组】指令控制模块实验的解密与实战

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《机组 | 模块单元实验》
⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。

目录

🌺一、 实验目的

🌼二、 实验内容

🌻三、 实验详情

实验1:PC计数器置数

实验2:PC计数器加1

实验3:置当前指令寄存器

🍀四、 实验步骤

实验1  PC计数器置数

实验2  PC计数器+1

实验3  置当前指令寄存器

🌿五、 实验结果

🌷六、 实验体会

 📝总结


🌺一、 实验目的

  1. 掌握指令部件模块原理;
  2. 熟悉跳转指令的实现过程;
  3. 理解数据打入指令寄存器IR1。

🌼二、 实验内容

  1. PC计数器置数;
  2. PC计数器+1;
  3. 置当前指令寄存器。

🌻三、 实验详情

实验1:PC计数器置数

● 二进制开关H0~H7作为数据输入,置05H(对应开关如下表)。

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

0

0

0

1

0

1

05H

● 置控制信号如下:

H20

H19

H18

H17

H16

H15

H14

EIR1

EIR2

IR2-O

PC-O

ELP

JS0

JS1

1

0

1

1

0

1

1

● 按启停单元中的运行按键,使实验平台处于运行状态。

● 按脉冲单元中的PLS1脉冲按键,在IR2CK上产生一个上升沿,把当前数据总线数据打入IR2锁存器,按脉冲单元中的PLS2脉冲按键,在PCCK上产生一个上升沿,将IR2锁存器中的地址打入PC计数器(2片74LS161)中,这样的操作过程可实现无条件跳转指令。若要观测输出结果,再置信号PC-O=0,此时PC计数器把其内容作为地址输出到地址总线上,地址总线上的指示灯IAB0~IAB7应显示05H。


实验2:PC计数器加1

● 完成实验1后,重置各控制信号如下:

H20

H19

H18

H17

H16

H15

H14

EIR1

EIR2

IR2-O

PC-O

ELP

JS0

JS1

1

1

1

0

1

1

1

 按脉冲单元中的PLS2脉冲按键,在PCCK上产生一个上升沿,因PC-O=0,PC计数器将加1,PC计数器为06H,并且输出至地址总线。此时地址总线上的指示灯IAB0~IAB7应显示06H。


实验3:置当前指令寄存器

● 二进制开关H0~H7作为数据输入,置5FH(对应开关如下表)。

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

0

1

1

1

1

1

5FH

● 置控制信号如下:

H20

H19

H18

H17

H16

H15

H14

EIR1

EIR2

IR2-O

PC-O

ELP

JS0

JS1

0

1

1

1

1

0

0

● 按启停单元中的运行按键,使实验平台处于运行状态。

● 按脉冲单元中的PLS1脉冲按键,在IR1CK上产生一个上升沿,把当前数据总线数据5FH打入IR1锁存器,表示当前运行的指令码为5FH。此时指令寄存器的指示灯I0~I7应显示5FH。


🍀四、 实验步骤

此次实验涉及到使用地址总线,故需将PC-OUT用短8位扁平电缆连接地址总线AJ1;连接机箱平台右侧的二进制输入,故需连接将PC-IN用短8位扁平电缆连接二进制开关单元J03,其余具体连线如下.

信号定义

接入开关位号

IR1CK

PLS1

IR2CK

PLS1

PCCK

PLS2

EIR1

H20

EIR2

H19

IR2-0

H18

PC-0

H17

ELP

H16

JS0

H15

JS1

H14

JZ

H13

实验1  PC计数器置数

(1)step1:在表1连线基础上,置二进制输入为05H,具体设置如下.

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

0

0

0

1

0

1

05H

各控制信号如下.

H20

H19

H18

H17

H16

H15

H14

EIR1

EIR2

IR2-0

PC-0

ELP

JS0

JS1

1

0

1

1

0

1

1

实验平台处于运行状态,按下机箱的PLS1脉冲按键,在IR2CK产生上升沿,将当前数据打入锁存器。再次按下机箱的PLS2脉冲按键,在PCCK产生上升沿,将锁存器内容打入PC计数器,此时置PC-0为0,地址总线上应显示05H。


实验2  PC计数器+1

(1)step1:使实验平台处于实验1状态下,重置二进制输入信号如下。按下机箱的PLS2脉冲按键,在PCCK产生上升沿,由于PC-0为0,PC计数器将加1,此时地址总线上应显示06H。

H20

H19

H18

H17

H16

H15

H14

EIR1

EIR2

IR2-0

PC-0

ELP

JS0

JS1

1

1

1

0

1

1

1

实验3  置当前指令寄存器

(1)step1:使实验平台处于运行状态,置二进制输入数据为5FH,如下.

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

0

1

1

1

1

1

5FH

置控制信号如下.

H20

H19

H18

H17

H16

H15

H14

EIR1

EIR2

IR2-0

PC-0

ELP

JS0

JS1

0

1

1

1

1

0

0

按下机箱的PLS1脉冲按键,此时地址总线上应显示5FH。


🌿五、 实验结果

实验1  PC计数器置数

实验1的整体连线图

实验1的数字显示05H图

实验1的地址总线显示101

实验2  PC计数器+1

实验2的整体连线图

实验2的数字显示06H

实验2的地址总线显示110

实验3  置当前指令寄存器

实验3的整体连线图

实验3的指令寄存器显示0101,1111


🌷六、 实验体会

通过对实验操作以及结果分析,我掌握了指令部件模块原理,并且理解了熟悉跳转指令的实现过程和学会如何设置数据打入指令寄存器IR1的方法。此次实验123联系密切,均为同一实验平台相同连线下进行,故实验操作完成较快。此处需要注意的是实验1的地址总线的显示问题,在地址总线全亮的情况下大多认为是实验机箱故障。而仔细阅读实验操作手册可以发现大多没注意到地址总线的变化前提是置PC-0为0即二进制输入H17为0,此时地址总线灯才会变化显示出101即05H。实验2、3未遇到问题,注意按下PLS1与PLS2的顺序即可。


 📝总结

计算机组成原理领域就像一片广袤而未被完全探索的技术海洋,邀请你勇敢踏足数字世界和计算机组成原理的神秘领域。这是一场结合创造力和技术挑战的学习之旅,从基础概念到硬件实现,逐步揭示更深层次的计算机结构、指令集架构和系统设计的奥秘。渴望挑战计算机组成原理的学习路径和掌握计算机硬件的技能?不妨点击下方链接,一同探讨更多数字技术的奇迹吧。我们推出了引领趋势的💻 计算机组成原理专栏:​​​​​​​《机组 | 模块单元实验》,旨在深度探索计算机系统技术的实际应用和创新。🌐💡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/341995.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis——RDB持久化

前言 Redis是一个键值对数据库服务器,服务器中通常包含任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。 因为Redis数据库是内存数据库&a…

如何在Docker上运行Redis

环境: 1.windows系统下的Docker deckstop 1.Pull Redis镜像 2.运行Redis镜像 此时,Redis已经启动,我们登录IDEA查看下是否连接上了 显示连接成功,证明已经连接上Docker上的Redis了

INTEWORK—PET 汽车软件持续集成平台

产品概述 INTEWORK-PET-CI是经纬恒润自主研发的汽车软件持续集成&持续交付平台,在传统的持续集成基础上深化了研运一体化(DevOps)的概念,将嵌入式软件中的拉取代码、检查、构建、测试、版本管理以及发布交付等环节串联起来&am…

大模型学习与实践笔记(十一)

一、使用OpenCompass 对模型进行测评 1.环境安装: git clone https://github.com/open-compass/opencompass cd opencompass pip install -e . 当github超时无法访问时,可以在原命令基础上加上地址: https://mirror.ghproxy.com git clon…

〔保姆级教学〕2024华数杯国际赛B题完整参考论文22页+四小问matlab代码+数据集+可视化高清图表

光伏发电 一、问题分析(完整资料在文末) 问题一: 首先题目要求得到电能行业与经济状况、居民消费水平、城市化率和市场化程度等因素的关系,并对供电量进行预测。其中,电能采用供电量数据、经济采用GDP数据&#xff…

JavaEE 网络原理

JavaEE 网络原理 文章目录 JavaEE 网络原理1. 网络互连1.1 局域网LAN1.2 广域网WAN 2. 网络通信基础2.1 IP地址2.2 端口号 3. 网络协议3.1 概念3.2 五元组3.3 协议分层3.4 TCP/IP 五层模型3.5 封装和分用 1. 网络互连 随着时代的发展,需要多个计算机协同工作来完成…

一款自动化提权工具

免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。…

Unity3D控制人物移动的多种方法

系列文章目录 unity知识点 文章目录 系列文章目录前言一、人物移动之键盘移动1-1、代码如下1-2、效果 二、人物移动之跟随鼠标点击移动2-1、代码如下2-2、效果 三、人物移动之刚体移动3-1、代码如下3-2、效果 四、人物移动之第一人称控制器移动4-1、代码如下4-2、效果 五、And…

Java缓存介绍

一、什么是缓存 1、Cache是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问 2、凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache 二、缓存的分类 1、基于…

全文干货!信息化和数字化的本质区别是什么?

信息化和数字化都是行业的发展方向,但有一些区别。 简单来说就是,信息化侧重系统建设,用以管理生成的信息与数据,通常包括建立OA办公系统、业务系统、财务管理系统、客户关系管理系统和人力管理系统等。数字化侧重于将物理业务和…

CC工具箱使用指南:【用地用海代码和名称转换】

一、简介 在国土空间规划中,用地用海的名称和代码是一一对应的,手动修改用地代码后,还需要相应的修改名称,纯纯的重复工作,因此做了这个工具。 工具可以实现用地编码转名称、名称转编码,并且同时支持新旧…

开源云真机平台-Sonic-H5页面自动化测试

开源云真机平台-Sonic-H5页面自动化测试 一、参考官方文档 切换WebView | Sonic - 开源云真机平台 1、WebView/H5调试 使用网页调试时的教学与注意事项。 #注意事项# v2.0.0-beta开始,使用网页调试时,需确保: 已经打开WebView页面被测…

leetcode—图 岛屿数量

岛屿数量 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网…

React16源码: React中的completeUnitOfWork的源码实现

completeUnitOfWork 1 )概述 各种不同类型组件的一个更新过程对应的是在执行 performUnitOfWork 里面的 beginWork 阶段它是去向下遍历一棵 fiber 树的一侧的子节点,然后遍历到叶子节点为止,以及 return 自己 child 的这种方式在 performUni…

vConsole 与 Vue中未定义变量而引发的Maximum call stack size exceeded异常问题

一、问题描述 前段时间有个前端小伙伴反馈在打包发布正式环境后调用VantUI的<van-popup>组件显示时&#xff0c;显示空白&#xff0c;并且在控制台看到一个Maximum call stacksize exceeded&#xff08;超出最大调用堆栈大小&#xff09;,而本地开发环境正常&#xff1a…

Redis应用(1)缓存(1.2)------Redis三种缓存问题

三者出现的根本原因是&#xff1a;Redis缓存命中率下降&#xff0c;请求直接打到DB上了。 一、 缓存穿透&#xff1a; 1、定义&#xff1a; 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存永远不会生效&#xff0c;这些请求都会打到数据库。…

编程语言MoonBit新增矩阵函数的语法糖

MoonBit更新 1. 新增矩阵函数的语法糖 新增矩阵函数的语法糖&#xff0c;用于方便地定义局部函数和具有模式匹配的匿名函数&#xff1a; fn init {fn boolean_or { // 带有模式匹配的局部函数true, _ > true_, true > true_, _ > false}fn apply(f, x) {f(x)}le…

第二篇【传奇开心果短博文系列】Python的OpenCV库技术点案例示例:图像处理

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例短博文系列 博文目录一、项目目标二、第一个示例代码三、第二个示例代码四、第三个示例代码五、第四个示例代码六、第五个示例代码七、知识点归纳总结 系列短博文目录 Python的OpenCV库技术点案例示例短博文…

阿里云 SAE 2.0 正式商用:极简易用、百毫秒弹性效率,降本 40%

作者&#xff1a;黛忻 本文主要介绍阿里云 Serverless 应用引擎&#xff08;以下简称 SAE &#xff09;如何帮助企业跨越技术鸿沟&#xff0c;从传统应用架构无感升级到 Serverless 架构&#xff0c;以更高效、更经济的方式进行转型&#xff0c;快速进入云原生快车道&#xff0…

【android】 android 里写jni

目录 &#xff08;1&#xff09; 环境准备 (2) 关联c文件到gradle文件 &#xff08;3&#xff09; 生成了 (4) 书写 &#xff08;5&#xff09; 使用 &#xff08;6&#xff09;业务调用 参考文档 &#xff08;1&#xff09; 环境准备 ndk, cmake (2) 关联c文件到gr…