一篇文章让你用我的世界中的红石搞懂什么是ALU!
目录
1.一些在开始的约定
2.七大逻辑门电路
1、 与门
2、 或门
3、 非门
5、 或非门
6、 异或门
7、 同或门
3.半加器
4.全加器
5.ALU
1.一些在开始的约定
| 相同的概念: | 相同的概念: |
| 高电平 | 低电平 |
| 逻辑真 | 逻辑假 |
| 开关的开
| 开关的关
|
| 灯的亮
| 灯的不亮
|
| 二进制的:1 | 二进制的:0 |
2.七大逻辑门电路
七种常见的逻辑门真值表
1、 与门
:所有输入为高时,才会有输出高。逻辑函数表示为F=A*B。
| 输入A | 输入B | 输出Y | 图示 |
| 0 | 0 | 0 | ![]() |
| 0 | 1 | 0 | ![]() |
| 1 | 0 | 0 | ![]() |
| 1 | 1 | 1 | ![]() |
2、 或门
:所有输入为低时,才会有输出低。逻辑函数表示为F= A + B。
| 输入A | 输入B | 输出Y | 图示 |
| 0 | 0 | 0 | ![]() |
| 0 | 1 | 1 | ![]() |
| 1 | 0 | 1 | ![]() |
| 1 | 1 | 1 | ![]() |
3、 非门
:逆转输入的高低状态。逻辑函数表示为F=A’。
| 输入A | 输出Y | 图示 |
| 0 | 1 | ![]() |
| 1 | 0 | ![]() |
4、 与非门
:所有输入为高时,才会有输出低。逻辑函数表示为F=(A*B)’。
| 输入A | 输入B | 输出Y | 图示 |
| 0 | 0 | 1 | ![]() |
| 0 | 1 | 1 | ![]() |
| 1 | 0 | 1 | ![]() |
| 1 | 1 | 0 | ![]() |
5、 或非门
:所有输入为低时,才会有输出高。逻辑函数表示为F=(A + B)’。
| 输入A | 输入B | 输出Y | 图示 |
| 0 | 0 | 1 | ![]() |
| 0 | 1 | 0 | ![]() |
| 1 | 0 | 0 | ![]() |
| 1 | 1 | 0 | ![]() |
6、 异或门
:输入相同时输出为低,否则为高。逻辑函数表示为F=A’B + AB’。
| 输入A | 输入B | 输出Y | 图示 |
| 0 | 0 | 0 | ![]() |
| 0 | 1 | 1 | ![]() |
| 1 | 0 | 1 | ![]() |
| 1 | 1 | 0 | ![]() |
7、 同或门
:与异或门相反。输入相同时输出为高,否则为低。逻辑函数表示为F= A*B + A’*B’。
| 输入A | 输入B | 输出Y | 图示 |
| 0 | 0 | 1 | ![]() |
| 0 | 1 | 0 | ![]() |
| 1 | 0 | 0 | ![]() |
| 1 | 1 | 1 | ![]() |
3.半加器
我们来用表格模拟一下两个二进制数相加的过程:
| 输入A | 输入B | 进位位 | 加法位 |
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
我们先看输入和加法位的关系:和异或门的的输入输出结果是一样的!
| 输入A | 输入B | 输出 |
| 低 | 低 | 低 |
| 低 | 高 | 高 |
| 高 | 低 | 高 |
| 高 | 高 | 低 |
接着看输入和进位位的关系:和与门的输入输出结果是一样的!
| 输入A | 输入B | 输出 |
| 低 | 低 | 低 |
| 低 | 高 | 低 |
| 高 | 低 | 低 |
| 高 | 高 | 高 |
所以我们用异或门来表示两个二进制数加法中的加法位结果,用与门来表示进位位的结果,二者组合在一起就能完成两个二进制数的加法了。

当然用MC中的红石电路展示就是这样了:
0+0

1+0
0+1

1+1
以上就是,一个半加器的完整演示了。其是异或门和与门的组合。
4.全加器
由于上述的半加器只能接收两个输入,如果此时有两个半加器(一个计算高位,一个计算低位),需要计算两个二位二进制数的加法,低位在进行加法运算时需要进位怎么办呢?另外一个半价器并没有一个可以用于接收进位的接收端。

所以我们需要给半加器增加一个接收进位输入的输入端!
| 输入A | 输入B | 进位输入 | 加法位输出 | 进位位输出 |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
根据以上的真值表,可以用以下的电路组合来表示上述的过程:
就像这样,将两个半加器组合起来,再组合上一个或门就完成了一个有A,B,进位输入和加法位输出和进位位输出的全加器了。
用MC中的红石电路展示就是这样了:

示例:
进位输入1,A:1,B:1,
加法位输出:1,进位位输出:1。
逻辑正确。

像这样的,将N个全加器串联在一起,就可以构成计算机中的最基础的运算部件——N位加法器:



像这个,每层串联4个全加器,共八层,层层串联,可知如下就是一个32位加法器,可以用来计算结果在2^32-1之内的加法。

5.ALU
计算机组成原理中的算术逻辑单元(Arithmetic Logic Unit,简称ALU)是中央处理器(CPU)中的一个核心组件。它负责执行所有算术和逻辑操作,如加法、减法、乘法、除法、与(AND)、或(OR)、非(NOT)以及异或(XOR)等。ALU是CPU进行数据处理和计算的主要部分。
具体来说,ALU执行以下几类操作:
算术运算:包括整数加法、减法、乘法和除法。
逻辑运算:包括与、或、非、异或等逻辑操作。
移位操作:包括算术左移、算术右移、逻辑左移、逻辑右移等。
比较操作:用于比较两个操作数的大小,生成相应的标志位(如大于、小于、等于等)。
ALU通过接收控制单元(Control Unit)发出的指令,并根据操作码(Opcode)和操作数进行相应的计算,最后将结果返回给寄存器或存储器。这使得计算机能够执行各种复杂的计算任务。
一个典型的 ALU 通常由以下几个部分组成:
-
操作数寄存器 (Operand Registers):存储待处理的数据操作数。ALU 需要从寄存器或内存中读取这些操作数。
-
运算控制单元 (Control Unit):决定 ALU 执行的操作类型,如加法、减法、逻辑与、逻辑或等。它接收来自 CPU 控制单元的操作码,并生成相应的控制信号来驱动 ALU 执行特定的运算。
-
算术单元 (Arithmetic Unit):执行各种算术操作,如加法、减法、乘法、除法等。它通常包括加法器 (Adder)、减法器 (Subtractor) 等电路。
-
逻辑单元 (Logic Unit):执行各种逻辑操作,如与 (AND)、或 (OR)、非 (NOT)、异或 (XOR) 等。
-
移位单元 (Shifter Unit):执行位移操作,如左移 (Left Shift)、右移 (Right Shift)、循环移位 (Rotate) 等。
-
状态寄存器 (Status Register) 或 标志寄存器 (Flag Register):存储运算结果的状态信息,如进位 (Carry)、溢出 (Overflow)、零 (Zero)、负数 (Negative) 等标志位。
-
多路复用器 (Multiplexer, MUX):选择输入数据和运算结果的输出路径,使得 ALU 可以处理不同类型的操作。
ALU 的设计和复杂度可能因计算机体系结构和应用需求的不同而有所不同,但上述这些部分通常是一个典型 ALU 的基本组成部分。

相关文章:
一篇文章让你用我的世界中的红石搞懂什么是ALU!
目录 1.一些在开始的约定 2.七大逻辑门电路 1、 与门 2、 或门 3、 非门 5、 或非门 6、 异或门 7、 同或门 3.半加器 4.全加器 5.ALU 1.一些在开始的约定 相同的概念:相同的概念:高电平低电平逻辑真逻辑假 开关的开 开关的关 灯的亮 灯…...
硬盘数据恢复:所需时长、全面指南及注意事项
在数字化时代,硬盘作为我们存储重要数据的核心设备,其重要性不言而喻。然而,由于各种原因,如误删除、格式化、硬盘故障等,我们时常面临数据丢失的困境。数据恢复不仅关乎个人隐私和信息安全,更可能影响到我…...
基于SpringBoot+Vue的科研管理系统(带1w+文档)
基于SpringBootVue的科研管理系统(带1w文档) 基于SpringBootVue的科研管理系统(带1w文档) 科研的管理系统设计过程中采用Java开发语言,B/S结构,采取springboot框架,并以MySql为数据库进行开发。结合以上技术,对本系统的整体、数据库、功能模块…...
计算机组成原理 —— 五段式指令流水线
计算机组成原理 —— 五段式指令流水线 五段式指令流水线运算类指令LOAD指令的执行过程STORE指令的执行过程条件转移指令执行过程无条件转移指令的执行过程 我们今天来看看五段式指令流水线: 五段式指令流水线 五段式指令流水线是一种常见的处理器架构设计中采用的…...
【Bigdata】什么是关系联机分析处理
这是我父亲 日记里的文字 这是他的生命 留下留下来的散文诗 几十年后 我看着泪流不止 可我的父亲已经 老得像一个影子 🎵 许飞《父亲写的散文诗》 关系联机分析处理(Relational Online Analytical Processing,简称 ROLA…...
svd在求解最小二乘中的应用
文章目录 线性最小二乘的直接解法(正规方程解法)什么是伪逆?伪逆矩阵的一般形式伪逆矩阵与SVD的关系 线性最小二乘的直接解法(正规方程解法) 对于 A x b \boldsymbol{A}xb Axb的线性最小二乘问题,有直解析…...
JVM—垃圾收集算法和HotSpot算法实现细节
参考资料:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明 1、分代回收策略 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取…...
nvidia系列教程-AGX-Orin基础环境搭建
目录 前言 一、Agx-Orin(32GB)介绍 1.1 GPU 1.2 CPU 1.3 NVDLA 1.4 内存 1.5 存储 二、安装JetPack SDK 三、基础环境配置 四、jetpack软件版本 总结 前言 NVIDIA Jetson AGX Orin 是一款功能强大的嵌入式AI平台,专为需要高性能和低…...
使用SpringAOP实现公共字段填充
文章目录 概要整体架构流程技术细节小结 概要 在新增员工或者新增菜品分类时需要设置创建时间、创建人、修改时间、修改人等字段,在编辑员工或者编辑菜品分类时需要设置修改时间、修改人等字段。这些字段属于公共字段,也就是也就是在我们的系统中很多表…...
c++初阶-----适配器---priority_queue
作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂 🎉🎉🎉…...
VSCode上安装C#环境教程
本章教程,教你如何在vscode上,可以快速运行一些基础的c#代码。 1、下载 .NET Code SDK 下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/sdk-for-vs-code?utm_source=vs-code&utm_medium=referral&utm_campaign=sdk-install 根据自己的操作系统,选择…...
VS Code 和 Visual Studio 哪个更好
文章目录 VS Code 和 Visual Studio 哪个更好Visual Studio Code简介Visual Studio简介相同点差异点总结 VS Code 和 Visual Studio 哪个更好 Visual Studio Code简介 Visual Studio Code(简称 VS Code)是一款开源的、免费的、跨平台的、轻量级的代码编…...
FCA-数据分析理论试卷
其他参考: https://segmentfault.com/a/1190000043363073 https://blog.csdn.net/CSDN_WYY/article/details/137082340 Part.1:判断题(总分:8分 得分:8) 第1题 判断题 对任意事件A和B,必有 …...
WPF程序通过CadLib4加载CAD .dwg格式文件
1、下载CadLib相关dll文件,主要用到的:WW.dll、WW.Cad.dll、WW.GL.dll 2、程序中引用dll库。 3、创建WPF程序,使用Canvas来加载dwg文件,支持拖动和放大缩小。 4、部分代码: public void Init(string filename) {tr…...
图表全能王(ChartStudio) 上架VisionPro!
图表全能王(ChartStudio) - 终极图表制作工具!支持条形图、折线图、面积图、柱形图、条形图、饼图、玫瑰图、雷达图、牛肉图、风琴图、旭日图、桑基图等图表。 https://apps.apple.com/app/chartstudio-data-analysis/id6474099675 https://apps.apple.com/cn/app/…...
【云原生】Job一次性任务详解
Job一次性任务 文章目录 Job一次性任务一、Job介绍二、运行示例Job 一、Job介绍 Job会创建一个或者多个Pod,并将继续重试Pod的执行,直到指定数量的Pod成功终止。随着Pod成功借宿,Job跟踪记录成功完成的Pod个数。当数量达到指定的成功个数阈值…...
化工厂人员定位采用多种定位技术的融合定位系统的好处
由于化工厂内环境的复杂性和危险性,通常单一的定位技术很难满足全厂区的人员定位需求,如果能将不同定位技术融合在一起,发挥出它们各自的优势,那么就能解决以上问题。 融合定位技术诞生背景 随着科技的不断发展,多种定…...
使用AI绘图工具生成风景图像的教程
随着人工智能技术的飞速发展,AI绘图工具在图像生成和艺术创作方面变得越来越强大,无论你是一个设计师、艺术家,还是仅仅对生成艺术感兴趣的爱好者,AI绘图工具都可以帮助你轻松地创作出惊艳的风景图像。 在这篇教程中,…...
迷你主机:华硕PN65和nuc13pro如何选择?
华硕PN65与NUC 13 Pro:如何做出选择? 在追求高效能与便携性的今天,迷你主机成为了越来越多用户的选择。华硕PN65与英特尔NUC 13 Pro作为市场上两款备受瞩目的产品,各自拥有独特的优势和特点。本文将从处理器性能、扩展性、接口丰…...
分享一个好用的印花重绘工具
本文向大家介绍一款革命性的 AI 工具,它能够将模糊不清的图片转化为具有照片级别的高清图像。这项前沿项目依托于大规模人工智能技术,革新了图像恢复领域。通过文本驱动和智能修复功能,它巧妙地结合了先进的 AI 技术与创新理念,为…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...






























