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

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


目录
🌺一、 实验目的
🌼二、 实验内容
🌻三、 实验详情
实验1:算术逻辑单元带进位位的加法运算实验
实验2:带进位移位实验
🍀四、 实验步骤
实验1 算术逻辑单元带进位的位加法运算
实验2 带进位移位实验
🌿五、 实验结果
实验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寄存器,并控制实验是否产生进位、左移或右移;熟悉了带进位控制的算术逻辑运算器的组成、硬件电路以及利用进位寄存器来实现带进位的左移、右移。
📝总结
计算机组成原理领域就像一片广袤而未被完全探索的技术海洋,邀请你勇敢踏足数字世界和计算机组成原理的神秘领域。这是一场结合创造力和技术挑战的学习之旅,从基础概念到硬件实现,逐步揭示更深层次的计算机结构、指令集架构和系统设计的奥秘。渴望挑战计算机组成原理的学习路径和掌握计算机硬件的技能?不妨点击下方链接,一同探讨更多数字技术的奇迹吧。我们推出了引领趋势的💻 计算机组成原理专栏:《机组 | 模块单元实验》,旨在深度探索计算机系统技术的实际应用和创新。🌐💡


相关文章:
【机组】算术逻辑单元带进位运算实验的解密与实战
🌈个人主页:Sarapines Programmer🔥 系列专栏:《机组 | 模块单元实验》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 🌺一、 实验目…...
axios query传数组参数的格式
在 Axios 中,当你需要传递数组参数时,可以使用以下几种方式进行格式化: 使用 paramsSerializer 将数组转换为逗号分隔的字符串: import axios from axios;import qs from qs;const arrayParams [param1, param2, param3];axios.…...
2018年认证杯SPSSPRO杯数学建模B题(第一阶段)动态模糊图像全过程文档及程序
2018年认证杯SPSSPRO杯数学建模 B题 动态模糊图像 原题再现: 人眼由于存在视觉暂留效应,所以看运动的物体时,看到的每一帧画面都包含了一段时间内 (大约 1/24 秒) 的运动过程,所以这帧画面事实上是模糊的。对电影的截图来说&…...
qt学习:Qfile文件类
目录 功能 读接口 参数说明 返回值 例子 写接口 参数说明 QString转为QByteArray 其他接口 功能 该类是一个用户读写文件io口,它继承于QFileDevice 读接口 qint64 read(char *data,qint64 maxSize)// 一次读取maxSize大小的数据存放在以data…...
从 GPT1 - GPT4 拆解
从 GPT1 - GPT4 拆解 从 GPT1 - GPT4GPT1:更适用于文本生成领域GPT2:扩展数据集、模型参数,实现一脑多用(多个任务)GPT3:元学习 大力出奇迹InstructGPT:指示和提示学习 人工反馈强化学习 RLHF…...
Python项目——计算器(PySide6+Pyinstaller)
1、介绍 使用python编写一个计算器,可以实现基本的运算。【注】该项目最终还有一些细小的bug没有完善,例如符号可以一直输入。 2、实现 使用pyCharm创建一个新的项目。 2.1、设计UI 使用Qt designer设计一个UI界面,保存ui文件࿰…...
ChatGPT 和文心一言哪个更好用?
根据提供的搜索结果,ChatGPT和文心一言各有特点和优势,选择哪一个更好用取决于具体的应用场景和个人需求。以下是两者的对比: ChatGPT: 适用场景:适合需要生成大量知识性文本的任务,如问答系统、知识图谱…...
数据备份与恢复
备份概述 一、备份方式 按照数据库服务状态分为: 冷备份:在备份时暂停数据库运行和服务,将整个数据库复制到备份设备中 热备份:在备份时不停止数据库的运行和服务 按照备份的数据分为: 物理备份:备份…...
数据库原理及数据库的优化
1、数据库的原理 数据库:持久化存储,存到硬盘 性能:oracl>db2>sqlserver>mysql oracl,db2,sqlserver性能差不多,几十万次每秒,myslq性能差很多,几千次每秒,都…...
C语言第三弹---数据类型和变量
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 数据类型和变量 1、数据类型介绍1.1、整型1.2、浮点型1.3、字符型1.4、布尔类型1.5、各种数据类型的长度1.5.1、sizeof操作符1.5.2、数据类型的长度1.5.3、sizeo…...
[通知]rust跟我学:文件时间属性获得方法文章已上线
大家好,我是带剑书生,开源库get_local_info的作者。目前我的付费专栏已经上线第七篇文章,用于介绍在实现get_local_info过程中,遇到该问题所使用的解决方法,喜欢的朋友可以去订阅了,19.9元,非常…...
基于嵌入式的智能智能通风系统
基于嵌入式的智能智能通风系统 功能说明 通过微信小程序控制窗户的开关状体以及倒计时开关和定时开关,小程序上实时显示当前温度湿度和光照强度。 功能展示 02智能通风系统 Mqtt服务器 http://www.yoyolife.fun/iot:Mqtt服务器,我是在这里注…...
如何编写一个好的测试用例?才能防止背黑锅
如何编写一个好的测试用例?才能防止背黑锅 什么是测试用例?一个好的测试用例包含什么?测试用例的编写思路总结 什么是测试用例? 在这之前,思考一个问题,下面这个简单的QQ登录页面,一共又多少条…...
笨蛋学设计模式行为型模式-观察者模式【14】
行为型模式-观察者模式 8.1观察者模式:arrow_up::arrow_up::arrow_up:8.1.1概念8.1.2场景8.1.3优势 / 劣势8.1.4观察者模式可分为观察者的基本结构: 8.1.5观察者模式8.1.6实战8.1.6.1题目描述8.1.6.2输入描述8.1.6.3输出描述8.1.6.4代码 8.1.7总结 8.1观察者模式⬆️…...
上海智慧岛大数据云计算中心项目正式封顶!
上海智慧岛大数据云计算中心封顶仪式现场 1月15日,云端股份在上海智慧岛大数据云计算中心举行封顶仪式。云之端网络(江苏)股份有限公司(以下称“云端股份”)总经理贡伟力先生,常务副总张靖先生等公司成员&…...
靶场实战(19):OSCP备考之VulnHub HA WORDY
交流技术可以关注公众号 OneMoreThink 或后台添加微信,欢迎提出宝贵建议。 0、总结 0.1、攻击思路 资产发现 主机发现服务发现漏洞发现(获取权限) 80端口/HTTP服务 组件漏洞URL漏洞:RFI、FileUpload提升权限 www-data用户 sudosui…...
大模型学习与实践笔记(九)
一、LMDeply方式部署 使用 LMDeploy 以本地对话方式部署 InternLM-Chat-7B 模型,生成 300 字的小故事 2.api 方式部署 运行 结果: 显存占用: 二、报错与解决方案 在使用命令,对lmdeploy 进行源码安装是时,报错 1.源…...
fpga目前就业形势咋样?
FPGA今年各厂给本科生的薪资大概是15-30K,研究生是20-40K,平均薪资在25k左右, 当然具体薪资还要看去哪个公司,哪个城市,以及个人的学校、专业、能力水平、及包括面试时的表现,运气等,这些都会导…...
Linux7 安装 Oracle 19C RAC 详细图文教程
实战篇:Linux7 安装 Oracle 19C RAC 详细图文教程 本文是按照:https://www.modb.pro/db/154424的思路进行编写 一、安装前规划 安装RAC前,当然要先做好规划。具体包含以下几方面: 节点主机版本主机名实例名Grid/Oracle版本Publi…...
【SpringBoot】SpringBoot 项目初始化方法
github 搜索 springboot 模板 github 搜索 springboot 模板,拉取现成代码。 SpringBoot 官方的模板生成器 SpringBoot 官方的模板生成器(https://start.spring.io/) 在 IDEA 开发工具中生成 这里我修改成阿里的镜像主要是要使用 Java8。 …...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
