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

🌈个人主页: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.mfbz.cn/a/336903.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL锁机制与优化实践

数据库乐观和悲观锁 乐观锁 比如在数据库中设置一个版本字段&#xff0c;每操作一次&#xff0c;都会将这行对应的版本号1&#xff0c;这样下次更新都会拿到最新的版本号更新&#xff0c;如果一个事务拿到了版本号但是更新前其他人已经将版本号升级了&#xff0c;那么当前事务…

消除噪音:Chain-of-Note (CoN) 强大的方法为您的 RAG 管道提供强大动力

论文地址&#xff1a;https://arxiv.org/abs/2311.09210 英文原文地址&#xff1a;https://praveengovindaraj.com/cutting-through-the-noise-chain-of-notes-con-robust-approach-to-super-power-your-rag-pipelines-0df5f1ce7952 在快速发展的人工智能和机器学习领域&#x…

HackTheBox - Medium - Linux - BackendTwo

BackendTwo BackendTwo在脆弱的web api上通过任意文件读取、热重载的uvicorn从而访问目标&#xff0c;之后再通过猜单词小游戏获得root 外部信息收集 端口扫描 循例nmap Web枚举 feroxbuster扫目录 /api/v1列举了两个节点 /api/v1/user/1 扫user可以继续发现login和singup 注…

(已解决)阿里云ECS服务器8080端口无法访问

最近购买阿里云服务器项目部署的时候&#xff0c;配置开放了阿里云8080端口&#xff0c;却一直访问不了&#xff0c;看了阿里云社区几个帖子&#xff0c;都没有找到正确的解决方法。 然后CSDN看了几个帖子&#xff0c;方法也不对。 索性&#xff0c;我很早之前就使用阿里云EC…

【JSON2WEB】01 WEB管理信息系统架构设计

WEB管理信息系统分三层设计&#xff0c;分别为DataBase数据库、REST2SQL后端、JSON2WEB前端&#xff0c;三层都可以单独部署。 1 DataBase数据库 数据库根据需要选型即可&#xff0c;不需要自己设计开发&#xff0c;一般管理信息系统都选关系数据库&#xff0c;比如Oracle、…

二维旋转公式推导+旋转椭圆的公式推导

二维旋转公式推导+旋转椭圆的公式推导 二维旋转公式推导旋转椭圆的公式推导二维旋转公式推导 x , y x,y x,y表示二维坐标系中原坐标点, x ′ , y ′ x,y x′,y′表示逆时针旋转 β \beta β之后的坐标点: x ′ = x cos ⁡ ( β ) − y sin ⁡ ( β ) y ′ = y cos ⁡ ( β )…

(循环依赖问题)学习spring的第九天

Bean实例的属性填充 Spring在属性注入时 , 分为如下几种情况 : 注入单向对象引用 : 如usersevice里注入userdao , userdao里没有注入其他属性 注入双向对象引用 : 如usersevice里注入userdao , userdao也注入usersevice属性 二 . 着重看循环依赖问题 (搞清原理即可) 问题提出…

RS-485通讯

RS-485通讯协议简介 与CAN类似&#xff0c;RS-485是一种工业控制环境中常用的通讯协议&#xff0c;它具有抗干扰能力强、传输距离远的特点。RS-485通讯协议由RS-232协议改进而来&#xff0c;协议层不变&#xff0c;只是改进了物理层&#xff0c;因而保留了串口通讯协议应用简单…

TypeScript教程(一)在vscode中的配置TypeScript环境

TypeScript教程&#xff08;一&#xff09;在vscode中的配置TypeScript环境 文章目录 TypeScript教程&#xff08;一&#xff09;在vscode中的配置TypeScript环境一、前言二、具体步骤1、Node.js安装2、TypeScript安装3、helloworld 一、前言 未来的开发者们请上座&#xff0c…

ChatQA实现策略:兼看大模型进行时序事件挖掘的思路

一、ChatQA&#xff1a;两阶段指令微调的对话思路 《ChatQA: Building GPT-4 Level Conversational QA Models》(https://arxiv.org/pdf/2401.10225.pdf)提出了一个两阶段的对话问答思路。 1、指令微调 微调包含两个阶段&#xff0c;Supervised Fine-tuning和Context-Enhanc…

Cortex-M3/M4内核NVIC及HAL库函数详解(2):HAL库中断底层函数实现

0 工具准备 Keil uVision5 Cortex M3权威指南&#xff08;中文&#xff09; Cortex M3与M4权威指南 stm32f407的HAL库工程 STM32F4xx中文参考手册 1 HAL库中断底层函数实现 打开stm32f407的HAL库工程&#xff0c;可以在CMSIS->Include->core_cm4.h内找到有关NVIC寄存器设…

ctfshow信息收集(web1-web20)

目录 web1 web2 web3 web4 web5 web6 web7 web9 web10 web11 web14 web15 web16 web17 web18 web19 web20 web1 根据提示的孩子开发的时候注释没有被及时删除 web2 js原因无法查看源代码 第一种方法 在url前加入 view-source&#xff1a; 会显示页面源代…

【LeetCode: 295. 数据流的中位数 + 堆】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Windows如何给已经启动的Docker容器添加或者修改端口映射(通过修改配置文件实现)

需求&#xff1a;已经启动的Docker容器添加或者修改端口映射 找到配置文件&#xff1a; \wsl.localhost\docker-desktop-data*data*\docker\containers[hash_of_the_container] 有些版本在&#xff1a; \wsl$\docker-desktop-data*version-pack-data*\community\docker\contai…

Lambda支持的方法引用

目录 引用类中的静态方法替换lambda引用对象实例化方法替换lambda引用类中的实例方法替换lambda引用构造器替换lambda 引用类中的静态方法替换lambda 引用类方法&#xff1a;引用类的静态方法&#xff1b;类名::静态方法名 demo: 将String类型数据转换成为Integer类型 创建一个…

HCIA-HarmonyOS设备开发认证-序

序 最近涉及到HarmonyOS鸿蒙系统设备开发&#xff0c;在网络上已经有很多相关资料&#xff0c;视频教程&#xff0c;我也移植了公司的一个stm32G474板卡&#xff0c;运行LiteOS-m L0系统。 一面看资料一面移植&#xff0c;遇到不少坑&#xff0c;当看到运行的LOGO时&#xff0…

制冷培训一

常用制冷方法 1 相变制冷&#xff1a;汽液、液固 2 气体膨胀制冷&#xff1a;节流膨胀、膨胀机膨胀 3 半导体制冷&#xff1a; 4 涡流管制冷&#xff1a; 5 磁制冷&#xff1a; 6 稀释制冷&#xff1a; 7 激光制冷&#xff1a; 汽液相变制冷 1 蒸汽压缩制冷 2 蒸汽吸收制冷 3 …

大创项目推荐 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x…

C++参悟:正则表达式库regex(更新中)

正则表达式库regex&#xff08;更新中&#xff09; 一、概述二、快速上手Demo1. 查找字符串2. 匹配字符串3. 替换字符串 三、类关系梳理1. 主类1. basic_regex 2. 算法3. 迭代器4. 异常5. 特征6. 常量1. syntax_option_type2. match_flag_type3. error_type 一、概述 C标准库为…

软件测试技术之【自动化测试】

自动化测试 自动化测试的定义&#xff1a;使用一种自动化测试工具来验证各种软件测试的需求&#xff0c;它包括测试活动的管理与实施、测试脚本的开发与执行。 自动化测试只是测试工作的一部分&#xff0c;是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况下&a…