计算机组成原理实验三 数据寄存器组R0..R3, MAR, ST, OUT

news2024/12/23 13:10:21
  • 实验目的和要求

目的:了解模型机中各种寄存器结构、工作原理及其控制方法。

要求:利用CP226 实验系统上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,将数据写入寄存器,数据寄存器组R0..R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。

  • 实验环境

Cp226 实验仪 

  • 实验内容与过程

【实验涉及的电路及原理】

实验1:R0,R1,R2,R3 寄存器实验

 

实验内容:

连接线表

连接

信号孔

接入孔

作用

状态说明

1

J1

J3

将K23-K16接入DBUS[7:0]

实验模式:手动

2

RRD

K11

寄存器组读使能

低电平有效

3

RWR

K10

寄存器组写使能

低电平有效

4

SB

K1

寄存器选择B

5

SA

K0

寄存器选择A

6

CK

已连

寄存器工作脉冲

上升沿打入

7

D7..D0

L7..L0

观察寄存器数据输出

将11H写入R0寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据AAH

K23

K22

K21

K20

K19

K18

K17

K16

0

0

0

1

0

0

0

1

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

0

0

按住STEP 脉冲键,CK 由高变低,这时寄存器R0 的黄色选择指示灯亮,表明选择R0 寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据AAH 被写入R0 寄存器。

将29H写入R1寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据29H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

0

0

0

0

0

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

0

1

按住STEP 脉冲键,CK 由高变低,这时寄存器R1 的黄色选择指示灯亮,表明

择R1 寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据29H被写入R1 寄存器。

将63H写入R2寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据63H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

1

0

0

0

0

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

1

0

按住STEP 脉冲键,CK 由高变低,这时寄存器R2 的黄色选择指示灯亮,表明选择R2 寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据63H被写入R2 寄存器。

将44H写入R3寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据44H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

1

1

0

0

0

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

1

1

按住STEP 脉冲键,CK 由高变低,这时寄存器R3 的黄色选择指示灯亮,表明选择R3 寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据44H被写入R3 寄存器。

读R0寄存器

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

0

0

这时寄存器R0 的红色输出指示灯亮,R0 寄存器的数据送上数据总线。此时数据总线指示灯L7... L0为:00010001. 将K11(RRD)置为1,关闭R0 寄存器输出。

读R1寄存器

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

0

1

这时寄存器R1 的红色输出指示灯亮,R1 寄存器的数据送上数据总线。此时数据总线指示灯L7... L0为: 00100010. 将K11(RRD)置为1, 关闭R1 寄存器输出。

读R2寄存器

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

1

0

这时寄存器R2 的红色输出指示灯亮,R2 寄存器的数据送上数据总线。此时数据总线指示灯L7... L0为: 00110011. 将K11(RRD)置为1, 关闭R2 寄存器输出。

读R3寄存器

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

1

1

这时寄存器R3 的红色输出指示灯亮,R3 寄存器的数据送上数据总线。此时数据总线指示灯L7... L0为: 01000100. 将K11(RRD)置为1, 关闭R3 寄存器输出。

实验2:MAR 地址寄存器,ST 堆栈寄存器,OUT输出寄存器

 

 寄存器MAR原理图

寄存器ST原理图 

 寄存器OUT原理图

连接线表

连接

信号孔

接入孔

作用

状态说明

1

J2

J3

将K23-16接入DBU[7:0]

实验模式:手动

2

MAROE

K14

MAR地址输出使能

低电平有效

3

MAREN

K15

MAR寄存器写使能

低电平有效

4

STEN

K12

ST寄存器写使能

低电平有效

5

OUTEN

K13

OUT寄存器写使能

低电平有效

6

CK

已连

寄存器工作脉冲

上升沿打入

将72H写入MAR寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据72H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

1

1

0

0

1

0

置控制信号为:

K15(MAREN)

K14(MAROE)

K13(OUTEN)

K12(STEN)

0

0

1

1

按住STEP脉冲键,CK由高变低,这时寄存器MAR的黄色选择指示灯亮,表明选择MAR寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据72H被写入MAR寄存器。

K14(MAROE)为0, MAR寄存器中的地址输出,MAR 红色输出指示灯亮。

将K14(MAROE)置为1,关闭MAR输出。

将34H写入ST寄器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据34H

K23

K22

K21

K20

K19

K18

K17

K16

0

0

1

1

0

1

0

0

置控制信号为:

K15(MAREN)

K14(MAROE)

K13(OUTEN)

K12(STEN)

1

1

1

0

按住STEP 脉冲键,CK 由高变低,这时寄存器ST 的黄色选择指示灯亮,表明选择ST 寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据34H被写入ST 寄存器。

将56H写入OUT寄存器

二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据56H

K23

K22

K21

K20

K19

K18

K17

K16

0

1

0

1

0

1

1

0

置控制信号为:

K15(MAREN)

K14(MAROE)

K13(OUTEN)

K12(STEN)

1

1

0

1

按住STEP 脉冲键,CK 由高变低,这时寄存器OUT 的黄色选择指示灯亮,表明选择OUT 寄存器。放开STEP 键,CK 由低变高,产生一个上升沿,数据56H 被写入OUT寄存器。

  • 实验结果与分析

1.将19H写入R0寄存器。

K23

K22

K21

K20

K19

K18

K17

K16

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

0

0

1

1

0

0

1

1

0

0

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

0

0

2.将29H写入R1寄存器。

K23

K22

K21

K20

K19

K18

K17

K16

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

0

1

0

1

0

0

1

1

0

1

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

0

1

3.将39H写入R2寄存器。

K23

K22

K21

K20

K19

K18

K17

K16

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

0

1

1

1

0

0

1

1

0

1

0

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

1

0

4.将49H写入R3寄存器。

K23

K22

K21

K20

K19

K18

K17

K16

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

0

1

0

0

1

0

0

1

1

0

1

1

置控制信号为:

K11(RRD)

K10(RWR)

K1(SB)

K0(SA)

1

0

1

1

5.按住STEP脉冲键实验现象? (实验箱中有什么变化)

按住STEP 脉冲键,CK 由高变低,这时寄存器R1 的黄色选择指示灯亮,表明选择R1 寄存器。

6.放开STEP 键实验现象? (实验箱中有什么变化)

放开STEP键,CK由低变高,产生一个上升沿,数据29H被写入R1 寄存器。

7.数据是在什么时候被打入寄存器的?

在按下STEP键后。

8.R0,R1,R2,R3能同时输入数据吗?

可以同时向R0,R1,R2和R3寄存器输入数据。要实现同时输入数据到这些寄存器,要确保对于每个寄存器,只有对应的控制信号(如R0EN、R1EN、R2EN、R3EN)为有效状态(例如置1),其他寄存器的控制信号为无效状态(例如置0)。

9. MAR, ST, OUT能同时输入数据吗?你试一试。

可以同时向MAR、ST和OUT寄存器输入数据。每个寄存器都有独立的数据输入线(如DBUS[7:0]),可以使用二进制开关或其他方式为每个寄存器设置不同的数据值。

在写入数据之前,将相应的控制信号设置为正确的状态,并按需要选择要写入的寄存器。例如,对于MAR寄存器,控制信号K12(STEN)和K13(OUTEN)应该为0,而对于ST寄存器,K12(STEN)应为1,K13(OUTEN)应为0。

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

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

相关文章

【大数据】Flink CDC 实时同步mysql数据

目录 一、前言 二、Flink CDC介绍 2.1 什么是Flink CDC 2.2 Flink CDC 特点 2.3 Flink CDC 核心工作原理 2.4 Flink CDC 使用场景 三、常用的数据同步方案对比 3.1 数据同步概述 3.1.1 数据同步来源 3.2 常用的数据同步方案汇总 3.3 为什么推荐Flink CDC 3.4 Flink …

进程间通信(匿名管道 创建管道及分配任务代码)

文章目录 一.进程间通信进程为什么要通信?进程如何通信 二.管道匿名管道pipe写端慢写入,读端等待写端写入,读端不读 && 管道的大小写端关闭,读端不会读取写端写入,读端关闭字节流 总结安全问题 三.进程池创建管…

VADv2 论文学习

VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning 解决了什么问题?相关工作感知运动预测规划自动驾驶领域的大语言模型 提出了什么方法?场景编码器概率规划训练分布损失冲突损失场景 Token 损失 推理 实验实验设定指标消融实…

AI类课程的笔记

信息论、导论、模式识别(数据挖掘)、语义网络与知识图谱、深度学习、强化学习 (零)信息论 详见另一篇博文 信息论自总结笔记(仍然在更新)_信息论也更新了-CSDN博客https://blog.csdn.net/sinat_27382047/article/details/12690…

【Unity踩坑】Unity导出的UWP项目编译失败

在Unity中导出了UWP平台的项目后(Xaml或D3D),使用Visual Studio编译时发生错误: Error: Unity.IL2CPP.Building.BuilderFailedException: Lump_libil2cpp_vm.cpp 查找后发现是Visual Studio 与Unity兼容的问题 原贴:…

数据分析案例-机器学习工程师薪资数据可视化分析

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

bus中设备驱动的probe触发逻辑和device、driver的添加逻辑

注:以下的代码皆摘自于linux 4.9.88版本的内核源码,不同版本可能有所出入。 往期内容: 驱动中的device和device_driver结构体bus总线的相关结构体和注册逻辑 1. driver的probe触发方式 在 Linux 设备模型中,probe() 函数是驱动…

自动驾驶系列—智能驾驶中的“换挡革命”:线控换挡技术详解

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

Java垃圾回收简述

什么是Java的垃圾回收? 自动管理内存的机制,负责自动释放不再被程序引用的对象所占用的内存。 怎么触发垃圾回收? 内存不足时:JVM检测到堆内存不足时,无法为新的对象分配内存时,会自动触发垃圾回收。手动…

UDP协议【网络】

文章目录 UDP协议格式 UDP协议格式 16位源端口号:表示数据从哪里来。16位目的端口号:表示数据要到哪里去。16位UDP长度:表示整个数据报(UDP首部UDP数据)的长度。16位UDP检验和:如果UDP报文的检验和出错&…

【电路】1.2 电流和电压的参考方向

1.2 电流和电压的参考方向 参考方向就是一个假设的方向(类似中学物理的正方形),选参考方向的原因是电路结构略显复杂, 无法直接看出支路电压、电流的实际方向,参考方向可以任意选择,任意支路电压、电流只有…

【韩顺平Java笔记】第8章:面向对象编程(中级部分)【272-284】

272. 包基本介绍 272.1 看一个应用场景 272.2 包的三大作用 272.3 包的基本语法 273. 包原理 274. 包快速入门 在不同的包下面创建不同的Dog类 275. 包命名 276. 常用的包 一个包下,包含很多的类,java 中常用的包有: java.lang.* //lang 包是基本包,默认引入&…

【英语】5. 考研英语语法体系

文章目录 前言句字的成分一、常规句型简单句(5 种)1. 定义:句子中只包含 *一套主谓结构* 的句子。(一个句子只能有一个谓语动词)2. 分类 并列句(由关联词组成)(3 种)基本…

Unity Shader Graph基础包200+节点及术语解释

目录 Master Stack: Vertex block: Fragment block​编辑 Alpha Clip Threshold Dither transparency Graph Inspector Texture 2d Array/Texture 3d Virtual Texture Sampler State Keywords Boolean keyword 右键显示所有节点 简化测试系列节点&#x…

[SpringBoot] 苍穹外卖--面试题总结--上

前言 1--苍穹外卖-SpringBoot项目介绍及环境搭建 详解-CSDN博客 2--苍穹外卖-SpringBoot项目中员工管理 详解(一)-CSDN博客 3--苍穹外卖-SpringBoot项目中员工管理 详解(二)-CSDN博客 4--苍穹外码-SpringBoot项目中分类管理 详…

ThreeJS入门(091):THREE.PositionalAudio 知识详解,示例代码

作者: 还是大剑师兰特 ,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,webgl,ThreeJS,canvas&#xf…

二叉树—相关结构

1.相关的结构问题(分治递归) 1.1节点个数 1.2叶子结点个数 叶子结点:没有孩子的节点 1.3树的高度(深度) 1.4二叉树第k层的节点个数 1.5二叉树查找值为x的节点 2.二叉树的创建和销毁 2.1二叉树的构建 二叉树遍历_牛客…

mysql语句执行过程

具体流程如下: 1】当客户端的SOL发送到MySQL时,首先是到达服务器层的连接器,连接器会对你此次发起的连接进行权限校验,以此来获取你这个账号拥有的权限。当你的账号或密码不正确时,会报用户错误。连接成功如果后续没有任何操作&am…

xlwings直接读取使用区域的数据

这里的读取方法,不用最大行号最大列号,直接使用used_range对应的方法 代码如下: import xlwings as xwfile_path r...\AAA.xlsx# 实例化app,打开文件 app_e xw.App(VisibleFalse,add_bookFalse) work_book appe.books.open(f…

New Phytologist | 中国科学院地理所:菌根共生途径塑造树木根经济空间

本文首发于“生态学者”微信公众号! 根经济空间是环境驱动下一系列根属性复杂互作的结果,本质上反映了植物地下碳(“货币”)投资与养分(“商品”)收益的多维策略权衡关系(图1)。然而…