【机组】通用寄存器单元实验的解密与实战

news2024/11/25 6:42:25

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

目录

🌺一、 实验目的

🌼二、 实验内容

🌻三、 实验详情

实验1:数据输入通用寄存器

实验2:寄存器内容无进位位左移实验

实验3:寄存器内容无进位位右移实验

🍀四、 实验步骤

实验1  数据输入通用寄存器

实验2  寄存器内容无进位位左移实验

实验3  寄存器内容无进位位右移实验

🌿五、 实验结果

🌷六、 实验体会

📝总结


🌺一、 实验目的

  1. 掌握寄存器组成及硬件电路;
  2. 掌握通用寄存器单元的工作原理运用。

🌼二、 实验内容

  1. 数据输入通用寄存器;
  2. 寄存器内容无进位位左移实验;
  3. 寄存器内容无进位位右移实验。

🌻三、 实验详情

实验1:数据输入通用寄存器

● 把RA-IN(8芯的盒型插座)与右板上二进制开关单元中的J01插座相连(对应二进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。

● 把RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-O、M接入二进制拨动开关。(请按下表接线)。

控制信号

接入开关位号

RACK

PLS1    孔

X0

H12      孔

X1

H11      孔

ERA

H10     孔

RA-O

H9       孔

M

H4       孔

接线图示:

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

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

0

0

0

0

1

0

42H

置各控制信号如下:

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

1

1

0

0

1

● 按启停单元中的运行按钮,置实验平台为运行状态。

● 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,把42H打入通用寄存器。

●此时数据总线上的指示灯IDB0~IDB7 应该显示为42H。由于通用寄存器内容不为0,所以LED(ZD)灯灭。


实验2:寄存器内容无进位位左移实验

● 按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。实现左移功能,置各控制信号如下:

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

0

1

0

0

1

● 按启停单元中的运行按钮,置实验平台为运行状态。

● 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值左移。

● 此时数据总线上的LED指示灯IDB0~IDB7 应该显示为84H。由于通用寄存器内容不为0,所以ZD(LED)灯灭。

● 按脉冲单元中的PLS1脉冲按键,使通用寄存器中的值左移,此时数据总线上的LED指示灯IDB0~IDB7应该显示为09H。若一直按PLS1,在总线上将看见数据循环左移的现象。


实验3:寄存器内容无进位位右移实验

● 按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。实现右移功能,置各控制信号如下:

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

1

0

0

0

1

● 按启停单元中的运行按钮,置实验平台为运行状态。

● 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值右移。

● 此时数据总线上的LED指示灯IDB0~IDB7 应该显示为21H。由于通用寄存器内容不为0,所以ZD(LED)灯灭。

● 按脉冲单元中的PLS1脉冲按键,使通用寄存器中的值右移,此时数据总线上的LED指示灯IDB0~IDB7应该显示为90H。若一直按PLS1,在总线上将看见数据循环左移的现象。

附:通用寄存器的逻辑

通用寄存器(8位并入并出移位寄存器)

CLR

X1   X0

CLK

SL  SR

QA~AH

0

X    X

X

X   X

全 0

1

X    X

0

X   X

保持不变

1

1     1

上升沿

X   X

并行接数A~H

1

0     1

上升沿

X   0

右移 移入0

1

0     1

上升沿

X   1

右移 移入1

1

1     0

上升沿

0   X

左移 移入0

1

1     0

上升沿

1   X

左移 移入1


🍀四、 实验步骤

实验1  数据输入通用寄存器

(1)step1:把RA-IN、RA-OUT分别与二进制开关单元JO1和总线DJ6相连,并把DACK使用连接线接到脉冲单元的PLS1上,具体接线如表1。

表1

控制信号

接入开关位号

RACK

PLS1

X0

H12

X1

 H11

ERA

 H10

RA-0

H9

M

H4

(2)step2:二进制开关H16至H23作为数据输入,置42H(对应开关如表2)。

表2

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

0

0

0

0

1

0

42H

置各控制信号如表3.

表3

H12

H11

H10

H9

H4

X0

X1

ERA

RA-0

M

1

1

0

0

1

(3)step3:启动机箱的运行键,按下PLS1脉冲按键,在D1CK产生上升沿,把42H打入通过寄存器中,运算结果在数据总线上的指示灯IDB0-IDB7的LED显示灯应为42H,但由于通用寄存器不为0,所以LED(ZD)灯灭。


实验2  寄存器内容无进位位左移实验

(1)step1:在实验1基础上,置各信号如表4。

表4

H12

H11

H10

H9

H4

X0

X1

ERA

RA-0

M

0

1

0

0

1

(2)step2:启动机箱的运行键,按下PLS1脉冲按键,在D1CK产生上升沿,运算结果在数据总线上的指示灯IDB0-IDB7的LED显示灯应为84H,但由于通用寄存器不为0,所以LED(ZD)灯灭。

(3)step3:启动机箱的运行键,再次按下PLS1脉冲按键,运算结果在数据总线上的指示灯IDB0-IDB7的LED显示灯应为09H,若一直按PLS1,可发现数据循环左移现象(通过灯的变化判断)。


实验3  寄存器内容无进位位右移实验

(1)step1:在实验1基础上,置各信号如表5。

表5

H12

H11

H10

H9

H4

X0

X1

ERA

RA-0

M

1

0

0

0

1

(2)step2:启动机箱的运行键,按下PLS1脉冲按键,在D1CK产生上升沿,运算结果在数据总线上的指示灯IDB0-IDB7的LED显示灯应为21H,但由于通用寄存器不为0,所以LED(ZD)灯灭。

(3)step3:启动机箱的运行键,再次按下PLS1脉冲按键,运算结果在数据总线上的指示灯IDB0-IDB7的LED显示灯应为90H,若一直按PLS1,可发现数据循环右移现象(通过灯的变化判断)。


🌿五、 实验结果

实验1  数据输入通用寄存器

实验2  寄存器内容无进位位左移实验

实验3  寄存器内容无进位位右移实验


🌷六、 实验体会

  1. 通过使用通用寄存器实现置42H,完成数据左移和右移功能,我明白了通用寄存器的硬件工作原理,以及通用寄存器的组成。
  2. 通过完成不带进位移位实验,最初在机箱实验并未发现数据总线的灯的变化,其中灯始终全亮但在IDB0-IDB7的LED显示灯变化正确,在按下停止按钮并重新运行时,可发现数据总线灯的变化,原因在于设备反应可能因为年代原因较为迟钝。
  3. 对于实验三,在键入42H后(即第一次实验基础上)设置信号如表5,按下PLS1按键后并未由42H变为21H而是84H,连续三遍实验结果一致,但在其他机箱操作显示正确,所以正确的机箱设备也是实验成功的重要因素。

📝总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring MVC——Spring MVC(2)

1.参数接收 Springmvc中,接收页面提交的数据是通过方法形参来接收: 处理器适配器调用springmvc使用反射将前端提交的参数传递给controller方法的形参 springmvc接收的参数都是String类型,所以spirngmvc提供了很多converter(转换…

activemq 消息转发流程

【金山文档】 未命名文件(32) https://kdocs.cn/l/cikIMdusf0jD 我们在系统中新部署一个mq,新增一个python程序去进行消息的转发

一文了解GeoTrust SSL证书

在当今互联网的高度连接世界中,确保网站安全性至关重要。SSL证书是保护网站和用户数据的关键组成部分。GeoTrust证书在SSL证书市场上享有盛誉,被许多网站所有者和企业所信赖。JoySSL将深入探讨GeoTrust证书的特点,帮助大家了解该品牌并做出更…

全球光伏知名企业-晶科能源联合泛微采知连,建立文控管理平台

晶科能源股份有限公司(简称“晶科能源”)是一家全球知名、极具创新力的太阳能科技企业。 (图片素材来自晶科能源官网) 公司战略性布局光伏产业链核心环节,聚焦光伏产品一体化研发制造和清洁能源整体解决方案提供&…

2024最有发展潜力的代理项目!格行随身wifi代理项目分析测评,轻资产靠谱创业项目推荐

最近很多网友都有创业的想法,身边创业的朋友也不在少数,当然有成功的,也有亏的血本无归的。最近网上也有很多适合新手的创业或代理项目,什么单身经济啊,大健康啊还有创业圈一直在讨论的随身WiFi代理等。当然一些创投圈…

23.实战演练--个人主页

<?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"><applicationandroid:allowBackup"true"an…

06-python数据容器-set(集合)入门基础操作

集合的定义 """ 演示数据容器集合的使用 """ #定义集合 my_set{"计算机","0854","考研上岸","计算机","0854","考研上岸","计算机","0854","考研上岸&qu…

IPv6自动隧道---6to4隧道

IPv6 over IPv4自动隧道特点 由于IPv4兼容IPv6隧道要求每一个主机都要有一个合法的IP地址,而且通讯的主机要支持双栈、支持IPv4兼容IPv6隧道,不适合大面积部署。目前该技术已经被6to4隧道所代替。 6to4隧道 集手动隧道和自动隧道的优点于一身,提出6to4的目的是为IPv4网络…

4种方法用Python批量实现多Excel多Sheet合并

目录 方法一&#xff1a;使用pandas库 方法二&#xff1a;使用openpyxl库 方法三&#xff1a;使用xlrd和xlwt库 方法四&#xff1a;使用os和glob库 在数据处理中&#xff0c;经常需要将多个Excel文件中的多个工作表进行合并。以下介绍了4种方法&#xff0c;使用Python批量实…

Failed to load class org.slf4j.impl.StaticLoggerBinder

Failed to load class org.slf4j.impl.StaticLoggerBinder 问题描述问题分析解决方案1解决方案2 问题描述 在使用Slf4J的时候发现报错了&#xff0c;日志一直都是使用了slf4j-api、slf4j-log4j12、log4j这三个包结合起来使用&#xff0c;新搭建了一个项目&#xff0c;然后创建了…

如何使用Docker本地部署Wiki.js容器并结合内网穿透实现知识库共享

文章目录 1. 安装Docker2. 获取Wiki.js镜像3. 本地服务器打开Wiki.js并添加知识库内容4. 实现公网访问Wiki.js5. 固定Wiki.js公网地址 不管是在企业中还是在自己的个人知识整理上&#xff0c;我们都需要通过某种方式来有条理的组织相应的知识架构&#xff0c;那么一个好的知识整…

uni-app的组件(二)

多项选择器checkbox-group 多项选择器&#xff0c;内部由多个 checkbox 组成。 <checkbox-group><checkbox checked color"red" value"1"></checkbox> 篮球<!-- disabled:是否禁用 --><checkbox disabled color"rgba(0,0…

Python开发环境安装:梦的起点

Python解释器安装 前言 解释器&#xff08;Interpreter&#xff09;&#xff0c;又译为直译器&#xff0c;是一种电脑程序能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来&#xff0c;只像一位“中间人”&#xff0c;每次运行程序时都要先转成另一…

version-polling一款用于实时检测 web 应用更新的 JavaScript 库

为了解决后端部署之后&#xff0c;如何通知用户系统有新版本&#xff0c;并引导用户刷新页面以加载最新资源的问题。 实现原理 1.使用 Web Worker API 在浏览器后台轮询请求页面&#xff0c;不会影响主线程运行。 2.命中协商缓存&#xff0c;对比本地和服务器请求响应头etag字…

Qt 倒计时或定时器的简单实现

1.相关说明 QTimer类实现定时器或倒计时 2.界面绘制 3.相关主要代码 // widget.h typedef struct TimeHMS{qint32 hour;qint32 minute;qint32 second; }TimeHMS;// widget.cpp #include "widget.h" #include "ui_widget.h" #include <QTime> #inclu…

容器与K8s

一、容器 容器 vs 虚拟机 二、Docker容器使用 三个概念&#xff1a; 2.1 镜像 Docker镜像除了运行程序也打包了程序运行环境。 2.2 镜像仓库 存放镜像的仓库&#xff0c;需要login之后拉去响应的镜像。 2.3 容器 基于Docker镜像创建的linux容器&#xff0c;本质是宿主机上…

掌握Spring MVC拦截器整合技巧,实现灵活的请求处理与权限控制!

拦截器 1.1 拦截器概念1.2 拦截器入门案例1.2.1 环境准备1.2.2 拦截器开发步骤1:创建拦截器类步骤2:配置拦截器类步骤3:SpringMVC添加SpringMvcSupport包扫描步骤4:运行程序测试步骤5:修改拦截器拦截规则步骤6:简化SpringMvcSupport的编写 1.3 拦截器参数1.3.1 前置处理方法1.3…

【python】学习笔记01

一、基础语法 1. 字面量 - 什么是字面量&#xff1f; 在代码中&#xff0c;被写下来的的固定的值&#xff0c;称之为字面量。 - 常用的值类型 Python中常用的有6种值&#xff08;数据&#xff09;的类型。 666 13.14 "程序员"print(666) print(13.14) print(&qu…

深入解析JavaScript的原生原型

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》 ​ ​ ✨ 前言 在JavaScript中,除了自定义对象,还存在很多由JavaScript语言本身提供…

【分布式技术】分布式存储ceph之RGW接口

目录 1、对象存储概念 2、创建 RGW 接口 //在管理节点创建一个 RGW 守护进程 #创建成功后默认情况下会自动创建一系列用于 RGW 的存储池 #默认情况下 RGW 监听 7480 号端口 //开启 httphttps &#xff0c;更改监听端口 #更改监听端口 ​ //创建 RadosGW 账户 …