【计算机组成原理】实验二:通用寄存器单元实验

实验二:通用寄存器单元实验

一、实验目的

了解通用寄存器的组成和硬件电路,利用通用寄存器实现数据的置数、左移、右移等功能。

二、实验内容

  1. 数据输入通用寄存器

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

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

三、实验步骤和结果

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

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

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

控制信号接入开关位号
RACKPLS1 孔
X0H12 孔
X1H11 孔
ERAH10 孔
RA-OH9 孔
MH4 孔

接线图示:

img

图1 接线

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

H23H22H21H20H19H18H17H16数据总线值
D7D6D5D4D3D2D1D08位数据
0100001042H

置各控制信号如下:

H12H11H10H9H4
X0X1ERARA-OM
11001

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

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

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

img

图2 实验结果显示为42H

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

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

H12H11H10H9H4
X0X1ERARA-OM
01001

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

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

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

img

图3 实验结果显示为84H

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

img

图4 实验结果显示为09H

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

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

H12H11H10H9H4
X0X1ERARA-OM
10001

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

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

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

img

图5 实验结果显示为21H

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

img

图6 实验结果显示为90H

附:通用寄存器的逻辑

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

CLRX1 X0CLKSL SRQA~AH
0X XXX X全 0
1X X0X X保持不变
11 1上升沿X X并行接数A~H
10 1上升沿X 0右移 移入0
10 1上升沿X 1右移 移入1
11 0上升沿0 X左移 移入0
11 0上升沿1 X左移 移入1

四、实验总结

通过本次实验,我成功实现了数据的输入以及左移和右移操作,观察了寄存器在不同控制信号下的表现,进一步加深了对通用寄存器工作原理的理解。在实验中,LED指示灯的状态变化与寄存器内容的变化相对应,验证了实验的有效性。这次实验不仅增强了我对通用寄存器硬件结构的理解,也提升了我在数字电路操作方面的实践能力。通过对控制信号的设置和脉冲信号的触发,我掌握了数据在寄存器中流动和变化的过程。在未来的学习中,我计划继续探索更复杂的数字电路设计,以进一步提升我的专业技能。

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

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

相关文章

4G模块详解

在之前的教程中,无线通信技术我们学习了蓝牙和 WiFi,今天我们要来学习 4G。 4G 模块在距离上有个突破,它不像蓝牙短距离,也不像 WiFi 只能在局域网,4G 模块可使用户无论在哪,只要有 4G 网络信号覆盖&#…

Visual Studio 使用 GitHub Copilot 聊天

🎀🎀🎀【AI辅助编程系列】🎀🎀🎀 Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…

TimerPickerDialog组件的用法

文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了Snackbar Widget相关的内容,本章回中将介绍TimePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的TimePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为时间,它主…

Linux高并发服务器开发 第四天(wc/whoami命令 权限修改chmod 添加/删除用户(组) 切换用户 修改文件所有者/所属组 查找/过滤)

目录 1.wc和whoami命令 1.1wc命令 1.2whoami命令 2.用户权限/用户/用户组 2.1修改文件权限chmod 2.1.1文字设定法 2.1.2数字设定法 2.2添加删除新用户和新用户组 2.3切换用户 2.4修改文件所有者和所属组 2.4.1修改所有者 2.4.2修改所属组 3.查找和过滤 3.1find—…

微服务架构导学

一. 什么是微服务 微服务是一个软件架构风格,将一个大型的项目拆分成多个小项目,每个项目都被称为一个微服务,通过多个微服务共同组成一个大的项目。 二. 单体架构和微服务架构 单体架构 将整个项目的功能、模块全部堆积在一个项目中 优点&am…

【kubernetes】kubectl get nodes报NotReady

目录 1. 说明2. 问题描述3. kube-flannel.yml 1. 说明 1.这里k8s的版本是v1.17.4。2.若kube-flannel.yml中的镜像拉取不下来,可以下载本文章的文件资源,手动docker load -i ***.tar的方式。3.v1.17.4的kube-flannel.yml参考下面代码。4.通过kubectl get…

web实操7——ServletContext

概念 和服务器通信 功能 解释说明: mime:互联网中一种文件的类型,可以用servletContext对象来获取。 域对象:用来共享数据,里面有一些get,set,removeAttribute,只要搞清楚ServletContext对象的域的范围是什么 如何…

LLMC:大语言模型压缩工具的开发实践

关注:青稞AI,学习最新AI技术 青稞Talk主页:qingkelab.github.io/talks 大模型的进步,正推动我们向通用人工智能迈进,然而庞大的计算和显存需求限制了其广泛应用。模型量化作为一种压缩技术,虽然可以用来加速…

舌头分割数据集labelme格式2557张1类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):2557 标注数量(json文件个数):2557 标注类别数:1 标注类别名称:["tongue"] 每个类别标注的框数&#xff1…

测试工程师八股文03|Python编程题

一、题目 1、合并两个数组 class Solution:def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:nums1[m:] nums2nums1.sort()2、判断链表中是否有环 class Solution:def hasCycle(self, head: ListNode) -> bool:seen set()while head:if…

MyBatis-Plus 基础

教程 视频教程:https://www.bilibili.com/video/BV1Xu411A7tL 详细文档:https://b11et3un53m.feishu.cn/wiki/PsyawI04ei2FQykqfcPcmd7Dnsc 常见注解 MybatisPlus就是根据PO实体的信息来推断出表的信息,从而生成SQL的。默认情况下&#xf…

VMware Workstation Pro 17 下载 以及 安装 Ubuntu 20.04.6 Ubuntu 启用 root 登录

1、个人免费版本 VMware Workstation Pro 17 下载链接怎么找?直接咕咕 VMware 找到如下链接。链接如下:Workstation 和 Fusion 对个人使用完全免费,企业许可转向订阅 - VMware 中文博客 点进去链接之后你会看到如下,注意安装之后仍…

深度学习——激活函数、损失函数、优化器

深度学习——激活函数、损失函数、优化器 1、激活函数1.1、一些常见的激活函数1.1.1、sigmoid1.1.2、softmax1.1.3、tanh1.1.4、ReLU1.1.5、Leaky ReLU1.1.6、PReLU1.1.7、GeLU1.1.8、ELU 1.2、激活函数的特点1.2.1、非线性1.2.2、几乎处处可微1.2.3、计算简单1.2.4、非饱和性1…

智慧政务数据中台建设及运营解决方案

数据中台:政府数字化转型的引擎 数据中台作为政府数字化转型的核心驱动力,起源于美军的作战体系,强调高效、灵活与强大。它不仅促进了政府决策的科学性,还推动了政府服务的精细化与智能化。 数据中台的应用场景:数字…

计算机毕设-基于springboot的社区居民诊疗健康管理系统的设计与实现(附源码+lw+ppt+开题报告)

博主介绍:✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…

day11 性能测试(4)——Jmeter使用(黑马的完结,课程不全)直连数据库+逻辑控制器+定时器

【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、复习 1.1 断言(3种) 1.2 关联(3种) 1.3 录制脚本 2、Jmeter直连数据库 2.1 直连数据库——使用场景 2.2 直连数据库——操作步骤 2.2.1 案例1&…

React的状态管理库-Redux

核心思想:单一数据源、状态是只读的、以及使用纯函数更新状态。 组成部分 Store(存储) 应用的唯一状态容器,存储整个应用的状态树,使用 createStore() 创建。 getState():获取当前状态。dispatch(action)&#xff…

解决MAC装win系统投屏失败问题(AMD显卡)

一、问题描述 电脑接上HDMI线后,电脑上能显示有外部显示器接入,但是外接显示器无投屏画面 二、已测试的方法 1 更改电脑分辨,结果无效 2 删除BootCamp,结果无效 3更新电脑系统,结果无效 4 在设备管理器中&#…

PWM调节DCDC参数计算原理

1、动态电压频率调整DVFS SOC芯片的核电压、GPU电压、NPU电压、GPU电压等,都会根据性能和实际应用场景来进行电压和频率的调整。 即动态电压频率调整DVFS(Dynamic Voltage and Frequency scaling),优化性能和功耗。 比如某SOC在…

【C++】OOP(二):定义基类和派生类

15.2 定义基类和派生类 15.2.1 定义基类 我们首先完成 Quote 类的定义&#xff1a; #include <string>class Quote {public:Quote() default; // 默认构造函数Quote(const std::string &book, double sales_price):bookNo(book), price(sales_price) { }std::st…