【机组】算术逻辑单元带进位运算实验的解密与实战

2024-01-20 12:04

本文主要是介绍【机组】算术逻辑单元带进位运算实验的解密与实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

目录

🌺一、 实验目的

🌼二、 实验内容

🌻三、 实验详情

实验1:算术逻辑单元带进位位的加法运算实验

实验2:带进位移位实验

🍀四、 实验步骤

实验1  算术逻辑单元带进位的位加法运算

实验2  带进位移位实验

🌿五、 实验结果

实验1  算术逻辑单元带进位的位加法运算

实验2  带进位移位实验

🌷六、 实验体会

📝总结


🌺一、 实验目的

  1. 熟悉判零线路;
  2. 掌握进位寄存器单元的工作原理运用;
  3. 掌握带进位控制的算术逻辑运算器的组成和硬件电路。

🌼二、 实验内容

  1. 完成算术逻辑单元带进位的位加法运算;
  2. 完成带进位移位实验。

🌻三、 实验详情

实验1:算术逻辑单元带进位位的加法运算实验

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

● 把D1CK、D2CK、CCK用连线连到脉冲单元的PLS1上,把EDR1、EDR2、ALU-O、S0、S1、S2、S3、CN、M接入二进制拨动开关(请按下表接线)。

控制信号

接入开关位号

D1CK

PLS1 

D2CK

PLS1 

CCK

PLS1 

EDR1

H8   

EDR2

H7   

ALU-O

H6   

CN

H5    

M

H4    

S3

H3    

S2

H2   

S1

H1   

S0

H0   

接线图示:

● 按启停单元中停止按钮,实验平台停机并且把进位寄存器CY清零(CY灯灭)。在本实验中使用算术逻辑单元作为进位发生器,按运行键,实验即进入运行状态。

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

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

1

0

0

1

0

1

65H

置各控制信号如下:

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

0

1

0

1

0

1

0

0

1

● 按脉冲单元中的PLS1脉冲按键,在D1CK上产生一个上升沿,把65H打入DR2数据锁存器,通过逻辑笔或示波器来测量确定DR2寄存器(74LS374)的输出端,检验数据是否进入DR2中。置S3、S2、S1、S0、M为11101时,总线指示灯显示DRl中的数,而置成10010时总线指示灯显示DR2中的数。

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

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

1

0

1

0

0

1

1

1

A7H

置各控制信号如下:

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

1

0

1

1

0

1

0

0

1

● 按脉冲单元中的PLS1脉冲按键,在D2CK上产生一个上升沿,把A7H打入DR2数据锁存器。

● 再置各控制信号如下:

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

1

1

0

1

0

1

0

0

1

● 按脉冲单元中的PLS1脉冲按键,在CCK上产生一个上升沿,把74LS181的进位打入进位寄存器中,在有进位的情况下,CY指示灯亮,并且ALU-O为0,把计算结果输出到数据总线。

● 经过74LS181的计算将产生进位,即Cn+4输出0,当把计算结果输出到总线时,数据总线指示灯IDB0~IDB7将显示结果0CH。


实验2:带进位移位实验

● 按启停单元中停止按钮,实验平台停机时把进位寄存器CY清零(CY灯灭)。在本实验中使用通用寄存器作为进位发生器,按运行键,实验即进入运行状态。

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

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

信号定义

接入开关位号

CCK

PLS1 

RACK

PLS1 

X0

H12  

X1

H11  

ERA

H10  

RA-O

H9   

M

H4   

接线图示:

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

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

1

0

0

0

0

0

0

1

81H

置各控制信号如下:

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

1

1

0

0

0

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

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

置各控制信号如下:

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

0

1

0

0

0

● 按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值左移。因进位寄存器CY的初始值为0,在RACK脉冲作用下将CY打入通用寄存器的最低位Q0。同时在CCK脉冲作用下把通用寄存器的最高位Q7(为1)打入进位寄存器CY,使CY显示灯亮,这样就实现了带进位的左移功能。

● 同样置各控制信号如下,并且按脉冲单元中的PLS1脉冲按键,可实现带进位的右移功能。

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

1

0

0

0

0

把M作为是否带进位的选择,M=0 带进位移位,M=1不带进位移位。控制型号X0、X1、M的功能状态如下:

功能状态表

X1

X0

M

功能

移位操作

0

1

1

循环右移

Q7->Q6->Q5->Q4->Q3->Q2->Q1->Q0

0

1

0

带进位循环右移

 CY->Q7->Q6->Q5->Q4->Q3->Q2->Q1->Q0

1

0

1

循环左移

   Q7<-Q6<-Q5<-Q4<-Q3<-Q2<-Q1<-Q0

1

0

0

带进位循环左移

CY<-Q7<-Q6<-Q5<-Q4<-Q3<-Q2<-Q1<-Q0


🍀四、 实验步骤

实验1  算术逻辑单元带进位的位加法运算

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

控制信号

接入开关位号

D1CK

PLS1

D2CK

PLS1

CCK

PLS1

EDR1

H8

EDR2

H7

ALU-O

H6

CN

H5

M

H4

S3

H3

S2

H2

S1

H1

S0

H0

(2)step2:按停止按钮,机箱停机将CY清零,再按运行键。二进制开关H16至H23作为数据输入,置65H(对应开关如下表)。

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

0

1

1

0

0

1

0

1

65H

置各控制信号如下表.

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

0

1

0

1

0

1

0

0

1

(3)step3:按下机箱的PLS1脉冲按键,在D1CK产生上升沿,把65H打入DR1锁存器中。

二进制开关H16至H23作为数据输入,置A7H(对应开关如下表)。

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

1

0

1

0

0

1

1

1

A7H

置各控制信号如下表.

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

1

0

1

1

0

1

0

0

1

按下机箱的PLS1脉冲按键,在D1CK产生上升沿,把A7H成功打入DR2锁存器中。

置各控制信号如下表.

H8

H7

H6

H5

H4

H3

H2

H1

H0

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

1

1

0

1

0

1

0

0

1

按下机箱的PLS1脉冲按键,在D1CK产生上升沿,总线指示灯IDB0至IDB7显示结果0CH。


实验2  带进位移位实验

(1)step1:将CY清零,重新按运行键使机箱处于运行状态。RA-IN、RA-OUT分别与二进制开关单元JO1和总线DJ6相连,并把RACK、CCK使用连接线接到脉冲单元的PLS1上,具体接线如下表。

控制信号

接入开关位号

CCK

PLS1

RACK

PLS1

X0

H12

X1

H11

ERA

H10

RA-O

H9

M

H4

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

H23

H22

H21

H20

H19

H18

H17

H16

数据总线值

D7

D6

D5

D4

D3

D2

D1

D0

8位数据

1

0

0

0

0

0

0

1

81H

置各控制信号如下表.

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

0

1

0

0

0

(3)step3:按下机箱的PLS1脉冲按键,在D1CK产生上升沿,实现带进位的左移功能。

然后置各控制信号如下表.

H12

H11

H10

H9

H4

X0

X1

ERA

RA-O

M

1

0

0

0

0

按下机箱的PLS1脉冲按键,在D1CK产生上升沿,实现带进位的右移功能。


🌿五、 实验结果

实验1  算术逻辑单元带进位的位加法运算

实验1平台

实验1结果

实验2  带进位移位实验

实验2第一阶段平台

实验2第一阶段平台

实验2第二阶段平台

实验2第二阶段结果


🌷六、 实验体会

通过对实验操作以及结果分析,我熟悉了判零线路;掌握了在控制部分通过启停按键和运行按键以清零CY寄存器,并控制实验是否产生进位、左移或右移;熟悉了带进位控制的算术逻辑运算器的组成、硬件电路以及利用进位寄存器来实现带进位的左移、右移。


📝总结

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

这篇关于【机组】算术逻辑单元带进位运算实验的解密与实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625946

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

uva 575 Skew Binary(位运算)

求第一个以(2^(k+1)-1)为进制的数。 数据不大,可以直接搞。 代码: #include <stdio.h>#include <string.h>const int maxn = 100 + 5;int main(){char num[maxn];while (scanf("%s", num) == 1){if (num[0] == '0')break;int len =

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

springboot实战学习(1)(开发模式与环境)

目录 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 (3)前端 二、开发模式 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 Validation:做参数校验Mybatis:做数据库的操作Redis:做缓存Junit:单元测试项目部署:springboot项目部署相关的知识 (3)前端 Vite:Vue项目的脚手架Router:路由Pina:状态管理Eleme

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多