【机组】存储器、总线及堆栈寄存器实验的解密与实战

news2024/12/29 13:58:12

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

目录

🌺一、 实验目的

🌼二、 实验内容 

🌻三、 实验详情

实验1:存储器的写操作

实验2:读存储器的数据到总线上

实验3:对4个寄存器进行写入操作

实验4:对4个寄存器进行读出操作

🍀四、 实验步骤

实验1  存储器的写操作

实验2  读存储器的数据到总线上

实验3  对四个寄存器进行写入操作

实验4  对四个寄存器进行读出操作

🌿五、 实验结果

🌷六、 实验体会

📝总结


🌺一、 实验目的

  1. 熟悉存储器的读、写操作;
  2. 掌握在总线上数据传输的方法;
  3. 熟悉堆栈寄存器的组成和硬件电路。

🌼二、 实验内容 

  1. 存储器的写操作;
  2. 读存储器的数据到总线上;
  3. 对四个寄存器进行写入与读出操作。

🌻三、 实验详情

实验1:存储器的写操作

● 把内部地址总线AJ1(8芯盒形插座)与右板上的二进制开关单元中J03插座相连(对应二进制开关H0~H7),把内部数据总线DJ8与右板上的J02插座相连(对应二进制开关H8~H15)。

● 把EMCK连到脉冲单元的PLS1,WC、RC、BUS接入二进制的开关中。(请按下表接线)。

信号定义

接入开关位号

EMCK

PLS1

WM

H22 

RM

H21 

BUS

H21 

接线图示:

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

● 二进制开关H0~H7作为地址(A0~A7)输入,置55H(对应开关如下表)。

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

A7

A6

A5

A4

A3

A2

A1

A0

8位数据

0

1

0

1

0

1

0

1

55H

● 二进制开关H8~H15作为数据(D0~D7)输入,置66H(对应开关如下表)。

H15

H14

H13

H12

H11

H10

H9

H8

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

1

0

0

1

1

0

66H

置各控制信号如下:

H22

H21

WM

RM、BUS

0

1

● 按脉冲单元中的PLS1脉冲按键,在EMCK上产生一个上升沿,数据从内部数据总线流向外部数据总线,将数据66H写入地址为55H的存储单元。


实验2:读存储器的数据到总线上

● 在做好实验1的基础上,保持电源开启和线路连接不变,只拔掉内部数据总线DJ8与CPT-B板上的J02插座 (对应二进制开关H8~H15) 的连接。

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

● 二进制开关H0~H7作为地址(A0~A7)输入,置55H(对应开关如下表)

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

A7

A6

A5

A4

A3

A2

A1

A0

8位数据

0

1

0

1

0

1

0

1

55H

置各控制信号如下:

H22

H21

WM

RM、BUS

1

0

● 按脉冲单元中的PLS1脉冲按键,在EMCK上产生一个上升沿,数据从外部数据总线流向内部数据总线,将存储器55H单元中的内容输出,应该为实验1中的写入的数据66H。此时数据总线上的指示灯IDB0~IDB7显示结果66H。


实验3:对4个寄存器进行写入操作

将R-IN(8芯盒形插座)与右边板上的二进制开关单元中J03插座相连(对应二进制开关H0~H7),R-OUT可通过短8芯扁平电缆与数据总线上DJ4相连。把RR、WR、SA、SB接入二进制拨动开关(SA,SB借用X0,X1的H12,H11孔),把RCK连到脉冲单元的PLS1。(请按下表接线)。

信号定义

接入开关位号

RCK

PLS1 

RR

H15  

WR

H14  

SA

H12  

SB

H11  

接线图示:

1、把数据写入寄存器R0

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

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

0

1

0

0

0

1

11H

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

● 置WR=0、RR=1、SB=0、SA=0 (对应开关如下表)。

H15

H14

H12

H11

RR

WR

SA

SB

1

0

0

0

● 按脉冲单元中的PLS1脉冲按键,在RCK上产生一个上升沿的脉冲,把11H打入R0寄存器。

2、把数据写入寄存器R1

● 置二进制开关H0~H7(D0~D7)为22H,各控制信号对应开关如下表。

H15

H14

H12

H11

RR

WR

SA

SB

1

0

1

0

● 按脉冲单元中的PLS1脉冲按键,在RCK上产生一个上升沿的脉冲,把22H打入R1寄存器。

3、把数据写入寄存器R2

● 置二进制开关H0~H7(D0~D7)为33H,各控制信号对应开关如下表。

H15

H14

H12

H11

RR

WR

SA

SB

1

0

0

1

● 按脉冲单元中的PLS1脉冲按键,在RCK上产生一个上升沿的脉冲,把33H打入R2寄存器。

● 同理:置二进制开关H0~H7为44H,RR=1 WR=0、SA=1、SB=1,在RCK脉冲作用下把44H打入R3寄存器。


实验4:对4个寄存器进行读出操作

● 置WR=1、RR=0、SB=0、SA=0 (对应开关如下表)。此时把寄存器R0数据读出总线数据IDB0~IDB7指示灯将显示11H。保持RR、WR的值不变(RR=0,WR=1),可通过分别设置SB、SA为10、01、11把R1,R2,R3中的值显示在总线上。观察寄存器输出的数据是否与上实验中写入的数据相同。

H15

H14

H12

H11

RR

WR

SA

SB

0

1

0

0

附:74LS139的逻辑

74LS139

输入

输出

SB

SA

Y0

Y1

Y2

Y3

选择寄存器

X

X

H

H

H

H

X

0

0

0

1

1

1

R0

0

1

1

0

1

1

R1

1

0

1

1

0

1

R2

1

1

1

1

1

0

R3


🍀四、 实验步骤

实验1  存储器的写操作

(1)step1:把内部总线AJ1、DJ8分别与二进制开关单元JO3和总线J04相连,并把EMCK使用连接线接到脉冲单元的PLS1上,具体接线如下。

信号定义

接入开关位号

EMCK

PLS1

WM

H22

RM

H21

BUS

H21

(2)step2:按停止按钮,机箱停机将CY清零,再按运行键。二进制开关H0至H7作为地址输入,置55H(对应开关如下)。

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

A7

A6

A5

A4

A3

A2

A1

A0

8位数据

0

1

0

1

0

1

0

1

55H

置各数据输入如下.

H15

H14

H13

H12

H11

H10

H9

H8

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

1

0

0

1

1

0

66H

置各控制信号如下:

H22

H21

WM

RM、BUS

0

1

(3)step3:按下机箱的PLS1脉冲按键,在EMCK产生上升沿,把66H写入地址为55H的存储单元中。


实验2  读存储器的数据到总线上

(1)step1:在实验1的基础上拔掉DJ8与J02的连接,置平台为运行态。具体接线如表1。二进制开关H0至H7作为地址输入,置55H(对应开关如下)。

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

A7

A6

A5

A4

A3

A2

A1

A0

8位数据

0

1

0

1

0

1

0

1

55H

置各控制信号如下:

H22

H21

WM

RM、BUS

1

0

(2)step2:按下机箱的PLS1脉冲按键,在EMCK产生上升沿,从 55H的存储单元中取出数据,显示结果为66H。


实验3  对四个寄存器进行写入操作

(1)step1:将R-IN、R-OUT分别与J03、DJ4相连,其余连线如下.

信号定义

接入开关位号

RCK

PLS1

RR

H15

WR

H14

SA

H12

SB

H11

置H0置H7作为寄存器R0的数据输入,置11H如下:

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

0

1

0

0

0

1

11H

平台在运行状态下各开关如下.

H15

H14

H12

H11

RR

WR

SA

SB

1

0

0

0

按下机箱的PLS1脉冲按键,在RCK产生上升沿,把11H打入R0寄存器。

(2)step2:置H0至H7为22H如下.

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

1

0

0

0

1

0

22H

平台在运行状态下各开关如下.

H15

H14

H12

H11

RR

WR

SA

SB

1

0

1

0

   

按下机箱的PLS1脉冲按键,在RCK产生上升沿,把22H打入R1寄存器。

(3)step3:置H0至H7为33H如下.

H7

H6

H5

H4

H3

H2

H1

H0

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

0

1

1

0

0

1

1

33H

平台在运行状态下各开关如下.

H15

H14

H12

H11

RR

WR

SA

SB

1

0

0

1

   

按下机箱的PLS1脉冲按键,在RCK产生上升沿,把33H打入R2寄存器。


实验4  对四个寄存器进行读出操作

(1)step1:置各开关如下。

H15

H14

H12

H11

RR

WR

SA

SB

0

1

0

0

(2)step2: 设置输入SA、SB分别为00,01,10,11查看数据总线灯的变化如下  。

         

SA

SB

0                   0

SA

SB

0                   1

SA

SB

1                   0

SA

SB

1                   1


🌿五、 实验结果

实验1  存储器的写操作

  

实验2  读存储器的数据到总线上

  

实验3  对四个寄存器进行写入操作

    

实验4  对四个寄存器进行读出操作

SA=0、SB=0显示结果

SA=0、SB=1显示结果

  

SA=1、SB=0显示结果

      

SA=1、SB=1显示结果

  


🌷六、 实验体会

通过对实验操作以及结果分析,我熟悉了对进行存储器进行读、写操作,同时掌握了在总线上数据传输的方法并且熟悉了堆栈寄存器的组成和硬件电路。此次实验1和实验2很快得以解决,但实验3对堆栈寄存器的写操作一直看不到结果,四个显示均为FF导致我以为是平台的问题,但当我仔细看书分析发现自己忽略了实验3的写操作看不见平台变化,并且注意到每次写入R0R1R2寄存器的数据输入都不一样,比如R0数据输入是11HR122HR333H。虽此次实验稍有曲折,但看到结果对自己还是很欣慰。


📝总结

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

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

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

相关文章

【力扣hot100】二分查找

文章目录 Arrays.sort()时间复杂度o(n)二分法时间复杂度o(logn) 1.搜索插入位置代码 2. 搜索二维矩阵思路:代码: 34. 在排序数组中查找元素的第一个和最后一个位置思路:代码: 153. 寻找旋转排序数组中的最小值思路:代码…

5.2 基于深度学习和先验状态的实时指纹室内定位

文献来源 Nabati M, Ghorashi S A. A real-time fingerprint-based indoor positioning using deep learning and preceding states[J]. Expert Systems with Applications, 2023, 213: 118889.(5.2_基于指纹的实时室内定位,使用深度学习和前一状态&…

从零开始的OpenGL光栅化渲染器构建3-法线贴图和视差贴图

前言 我们可以用一张纹理贴图来表现物体表面的基础反射颜色,也可以用一张镜面反射贴图,来指派表面是否产生高光。除此之外,我们可以用贴图来存储表面的法线信息,以及高度信息,从而让渲染效果更加精细。 法线贴图 我…

linux下USB抓包和分析流程

linux下USB抓包和分析流程 在windows下抓取usb包时可以通过wireshark安装时安装USBpcap来实现usb抓包,linux下如何操作呢? 是基于usbmon,本博客简单描述基于usbmon在linux系统上对通过usb口进行发送和接收的数据的抓包流程,分别描…

Matplotlib Mastery: 从基础到高级的数据可视化指南【第30篇—python:数据可视化】

文章目录 Matplotlib: 强大的数据可视化工具1. 基础1.1 安装Matplotlib1.2 创建第一个简单的图表1.3 图表的基本组件:标题、轴标签、图例 2. 常见图表类型2.1 折线图2.2 散点图2.3 条形图2.4 直方图 3. 图表样式与定制3.1 颜色、线型、标记的定制3.2 背景样式与颜色…

Linux:使用for+find查找文件并cp到其他目录,文件名带有空格

一、场景描述 在终端窗口中,用shell命令,批量拷贝文件到指定目录。 我是在Windows系统上,通过git bash终端来执行shell命令的。 二、实现过程 命令1 for filepath in find /d/LearningMaterials/数学/数学/高中/一数/偏基础(基…

Zabbix分布式监控系统概述、部署、自定义监控项、邮件告警

目录 前言 (一)业务架构 (二)运维架构 一、Zabbix分布式监控平台 (一)Zabbix概述 (二)Zabbix监控原理 (三)Zabbix 6.0 新特性 1. Zabbix server高可用…

用BEVformer来卷自动驾驶-4

书接前文 前文链接:用BEVformer来卷自动驾驶-3 (qq.com) 上文书介绍了BEVformer是个啥,以及怎么实现Deformable-attention 我们继续 BEVformer的输入数据格式: 输入张量(batachsize,queue,cam,…

工厂设计模式看这一篇就够了

本文将重点介绍几种工厂设计模式:简单工厂、工厂方法模式、抽象工厂模式和建造者模式。这几种设计模式在生产制造的流程下层层递进,可以满足不同的使用场景。在实际运用时,没有一个万能的工厂模式可以套用,要结合具体业务场景选择…

【华为GAUSS数据库】IDEA连接GAUSS数据库方法

背景:数据库为华为gauss for opengauss 集中式数据库 IDEA提供了丰富的各类型数据库驱动,但暂未提供Gauss数据库。可以通过以下方法进行连接。 连接后, 可以自动检查xml文件中的sql语句是否准确,表名和字段名是否正确还可以直接在…

基于 IoT 物联网 + 5G 技术搭建 100万台电梯智能化运维平台

随着近20年我国房地产的蓬勃发展,电梯已经成为人们现代生活中不可或缺的一部分,也是城市化建设中重要的建筑设备之一。据中国电梯行业协会统计,截至2022年底,我国电梯保有量为990万台,电梯运营健康度,减少事…

Pyro —— Sparse vs dense simulations

目录 Simulation area Sparse solving Understanding resizing Simulation area 在模拟的期间,pyro场都在当前容器内定义;开始非常小,随模拟的进行,解算器会不断的对其扩展或收缩;为重置流体框,解算器会…

Android 基础技术——addView 流程

笔者希望做一个系列,整理 Android 基础技术,本章是关于 addView 在了解 addView 流程之前,先回答下以下几个问题: PhoneWindow是什么时候创建的? DectorView 是什么? DectorView 是什么时候创建的&#xf…

conda国内加速

1、配置国内源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 2、显示源地址 conda config --set show_channel_urls yes

外呼机器人有什么优势?

外呼机器人有什么优势?值得受到大多数电销企业的追捧! 1、电话外呼效率高: 每天可拨打的电话数量是人工的5-10倍,人工一天只能拨打200-300通电话,机器人每天能打3000通电话以上,无须休息,按照…

PWM之舵机

舵机又称直流电机,如下图 本节承接上节,具体的PWM技术已经在上一节讲的很详细了,本节就不再讲了,那么我们的重点就放在直流电机的工作原理上了。 一、工作原理 我们研究直流电机,主要式研究直流电机旋转速度的调节&a…

linux LPT和COM回路测试(基于python+Qt+C++)

软件UI: 回路治具&#xff08;COMLPT&#xff09;&#xff1a; lpt_test.cpp&#xff08;c 源代码&#xff09;&#xff1a; #include <iostream> #include <fstream> #include <sstream> #include <unistd.h> #include <fcntl.h> #include <…

什么是游戏盾?哪家效果好。

游戏盾是什么呢&#xff0c;很多做游戏开发的客户估计都是听说过的&#xff0c;但是也不是所有的游戏开发者会运用到。因为&#xff0c;游戏盾是针对游戏行业APP业务所推出的高度可定制的网络安全管理解决方案&#xff0c;除了能针对大型DDoS攻击(T级别)进行有效防御外&#xf…

Python(18)--文件输入/输出 Ⅱ

​ 大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 前言 前一篇文章&#xff08;python(17)–文件的输入/输出-CSDN博客&#xff09;介绍了如何操作文本文件和二进制文件&#xff0c;以及对应…

设计亚马逊按销售排名功能

1&#xff1a; 定义 Use Cases 和 约束 Use cases 作用域内的Use Case Service 通过目录计算过去一周内最受欢迎的产品User 通过目录去View过去周内最受欢迎的产品Service 有高可用 作用域外 整个电商网站 设计组件&#xff08;只是计算销售排名&#xff09; 约束和假设…