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

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



🌺一、 实验目的

  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。虽此次实验稍有曲折,但看到结果对自己还是很欣慰。


📝总结

计算机组成原理领域就像一片广袤而未被完全探索的技术海洋,邀请你勇敢踏足数字世界和计算机组成原理的神秘领域。这是一场结合创造力和技术挑战的学习之旅,从基础概念到硬件实现,逐步揭示更深层次的计算机结构、指令集架构和系统设计的奥秘。渴望挑战计算机组成原理的学习路径和掌握计算机硬件的技能?不妨点击下方链接,一同探讨更多数字技术的奇迹吧。

目录
相关文章
|
弹性计算 监控 安全
教你选择合适的阿里云服务器ECS配置,极致性价比
阿里云服务器配置选择方法包括云服务器类型、CPU内存、操作系统、公网带宽、系统盘存储、网络带宽选择、安全配置、监控等,阿里云百科分享阿里云服务器配置选择方法,选择适合自己的云服务器配置
|
1月前
|
运维 监控 Java
从单体地狱到微服务天堂:架构演进与拆分的核心原则+全链路实战落地
本文系统阐述微服务本质与渐进式演进路径:破除“盲目拆分”误区,强调业务驱动;详解单体→模块化→垂直拆库→非核心服务→核心服务的五步安全演进;提炼高内聚低耦合、数据自治、业务域对齐等七大落地原则;辅以电商实战代码与避坑指南。
398 6
6、Mybatis-Plus wrapper的使用
这篇文章详细介绍了Mybatis-Plus中Wrapper的使用,包括QueryWrapper和UpdateWrapper的基本概念、组装查询、排序、删除、修改条件的方法,以及如何设置条件优先级、组装SELECT子句和实现子查询等高级用法。
|
监控 安全 数据安全/隐私保护
如何有效防止验证码盗刷?
验证码盗刷是攻击者利用程序批量请求短信验证码,对用户和企业造成经济损失与骚扰的安全威胁。为更安全地完成身份验证,企业可以采用阿里云提供的防盗刷监控、号码认证及图形认证等服务。
1322 11
|
消息中间件 前端开发 数据库
RocketMQ实战教程之MQ简介与应用场景
RocketMQ实战教程介绍了MQ的基本概念和应用场景。MQ(消息队列)是生产者和消费者模型,用于异步传输数据,实现系统解耦。消息中间件在生产者发送消息和消费者接收消息之间起到邮箱作用,简化通信。主要应用场景包括:1)应用解耦,如订单系统与库存系统的非直接交互;2)异步处理,如用户注册后的邮件和短信发送延迟处理,提高响应速度;3)流量削峰,如秒杀活动限制并发流量,防止系统崩溃。
|
Java Unix 程序员
一文彻底搞定C语言的前世今生
C语言是计算机编程史上的一颗璀璨恒星,由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代基于B语言开发。它凭借高效、灵活、可移植性强等特点迅速崛起,成为Unix操作系统的核心语言,并广泛应用于操作系统、嵌入式系统、游戏引擎等领域。C语言不仅推动了众多后续编程语言的发展,如C++、Java等,还通过多次标准化(C89、C99、C11等)不断适应新时代的需求,至今仍占据着计算机技术的重要地位。
444 0
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
601 2
|
JavaScript 前端开发 UED
video标签里面的路径怎么填
video标签里面的路径怎么填
599 0
|
人工智能 安全 机器人
AppFlow:将Kimi大模型加入钉钉群聊
使用AppFlow将Kimi大模型(基于Moonshot)集成到钉钉的步骤概览: 1. 在AppFlow控制台创建连接流,选择钉钉机器人,触发事件为收到文本消息。 2. 添加智谱AI的“使用prompt对话大模型”动作,配置API KEY。 3. 配置模型推理后消息的发送回钉钉的动作,插入变量表示模型结果。 4. 配置Webhook地址和加签(或IP白名单),在钉钉群聊中添加机器人,启用Outgoing机制,填写AppFlow的Webhook地址。 5. 通过@机器人在群聊中与Kimi模型进行交互。 这个教程展示了如何通过AppFlow将AI模型无缝接入钉钉,提升办公效率。
1005 5
|
Linux C++ iOS开发
VLC源码解析:视频播放速度控制背后的技术
VLC源码解析:视频播放速度控制背后的技术
1459 0

热门文章

最新文章

下一篇
开通oss服务