【ShuQiHere】从晶体管到逻辑门:数字电路的构建之旅
【ShuQiHere】
现代计算机和电子设备的基础是逻辑电路(Logic Circuits),它们执行信息处理和运算任务。在这些电路的核心,是晶体管(Transistors) 和 逻辑门(Logic Gates)。通过理解这些组件如何与**布尔逻辑(Boolean Logic)**结合,我们可以揭开计算机如何执行复杂运算的奥秘。本文将深入探讨如何从晶体管构建逻辑门,逻辑门又如何通过布尔运算完成计算任务。💡
1. 克劳德·香农(Claude Shannon)与布尔逻辑的结合 💡
1937年,克劳德·香农(Claude Shannon)在他的硕士论文《继电器和开关电路的符号分析》(A Symbolic Analysis of Relay and Switching Circuits)中提出了革命性的想法。他指出,电气开关(Electrical Switches) 可以用来实现布尔逻辑(Boolean Logic)。这个观点开辟了现代数字计算的道路,被认为是现代计算理论的奠基石之一。
电气开关与布尔逻辑的对应关系
- 开关关闭(Switch Closed):表示真值(True),相当于布尔逻辑中的1。
- 开关打开(Switch Open):表示假值(False),相当于布尔逻辑中的0。
香农的贡献在于,他不仅展示了如何将逻辑运算转换为物理电路,还首次将数学和工程结合,使得逻辑运算可以在硬件上执行。这一理论奠定了现代数字电路设计的基础。
2. 从开关到布尔表达式:逻辑电路的第一步 🔄
在香农的理论中,简单的电气开关可以用于执行基本的布尔运算。具体而言,通过使用不同的开关配置,我们可以实现以下常见的布尔操作:
- 与(AND):两个输入都为真,输出才为真。可以通过串联两个开关实现,只有当两个开关都关闭时,电流才能通过,输出为1。
- 或(OR):只要有一个输入为真,输出就为真。可以通过并联两个开关实现,任何一个开关闭合时,电流就可以通过,输出为1。
- 非(NOT):将输入的值取反。如果输入为真(1),输出为假(0);如果输入为假,输出为真。
例子:与(AND)操作的电路实现
假设我们有两个开关 (A) 和 (B),两个开关都需要同时关闭(输入都为1),电流才能通过,输出为1。如果其中任意一个开关是打开的(输入为0),电流就无法通过,输出为0。
通过这种方式,物理电路中的开关可以直接对应布尔逻辑运算。
3. 晶体管(Transistor):现代电路的核心组件 🧩
晶体管(Transistors) 是现代电子电路的基本构件,用于控制电流的流动。它们可以用作开关或放大器。晶体管比早期的真空管(Vacuum Tubes) 更小、更可靠、更便宜,成为了所有现代电子设备的基础。
晶体管的工作原理
- N型晶体管(N-Type Transistor):当栅极电压(VGS)高时,晶体管导通,允许电流通过,代表布尔逻辑中的1;当栅极电压为0时,晶体管阻断电流,代表布尔逻辑中的0。
- P型晶体管(P-Type Transistor):与N型晶体管相反,当栅极电压为0时,晶体管导通;当栅极电压为高时,晶体管阻断电流。
例子:水流类比 💧
可以将晶体管的工作原理类比为控制水流的阀门:
- 当阀门打开时,水流通过,表示布尔值1。
- 当阀门关闭时,水流被阻断,表示布尔值0。
晶体管通过这种方式在电路中控制电流,充当布尔逻辑操作的开关。
4. CMOS晶体管技术(CMOS Transistors)⚡
互补金属氧化物半导体(Complementary Metal-Oxide Semiconductor, CMOS) 是一种常见的晶体管技术,广泛应用于现代集成电路设计中。CMOS使用两种不同类型的晶体管:P型晶体管(P-Type) 和 N型晶体管(N-Type),它们以互补方式工作。
CMOS的优点:
- 低功耗(Low Power Consumption):CMOS电路通过使P型和N型晶体管交替工作,减少了电路的能耗。P型晶体管在高电压下关闭,而N型晶体管在低电压下关闭,这种组合使得CMOS电路非常高效。
- 广泛应用:由于其低功耗和高效的特性,CMOS晶体管被广泛用于计算机处理器、存储设备和其他电子产品中。
5. 从晶体管到逻辑门:构建数字电路的基础 🔧
通过组合晶体管,我们可以构建各种类型的逻辑门(Logic Gates)。每种逻辑门执行一种布尔逻辑运算(Boolean Operation),是所有数字电路的基本构件。
常见的逻辑门:
- NOT门(Inverter Gate):执行非运算(NOT Operation),即将输入值取反。例如,输入为0,输出为1;输入为1,输出为0。
- AND/NAND门:与门(AND Gate) 仅在两个输入都为真时输出为真。NAND门(NAND Gate) 是AND门的反运算,只有当两个输入都为真时输出为假。
- OR/NOR门:或门(OR Gate) 在任一输入为真时输出为真。NOR门(NOR Gate) 是OR门的反运算,仅在所有输入都为假时输出为真。
- XOR门(Exclusive OR Gate):当输入值不同时,输出为真。
例子:NOT门的实现
假设输入电压为0(0V),P型晶体管导通,N型晶体管断开,输出为1(2.9V)。如果输入电压为1(2.9V),P型晶体管断开,N型晶体管导通,输出为0(0V)。
6. 通用逻辑门:NAND 和 NOR 🔄
通用逻辑门(Universal Logic Gates) 是可以通过一种类型的逻辑门实现所有布尔运算的门。NAND门(NAND Gate) 和 NOR门(NOR Gate) 都是通用逻辑门。
为什么 NAND 和 NOR 是通用门?
- NAND门(NAND Gate) 通过适当的组合可以实现与(AND)、或(OR) 和 非(NOT) 运算。这种灵活性使得NAND门在实际电路设计中具有极大的应用价值,成为许多集成电路的核心。
- NOR门(NOR Gate) 同样可以实现所有的布尔运算,特别是通过逻辑反转来构建复杂的电路。
例子:用NAND门实现与门(AND Gate)
通过两个NAND门的组合,可以构建一个与门(AND Gate)。这展示了NAND门作为通用门的强大功能。
7. 总结 💡
通过这篇博客,我们回顾了从晶体管(Transistors) 到逻辑门(Logic Gates) 的整个过程。你学会了如何将布尔逻辑应用于物理电路,并理解了逻辑门如何通过简单的布尔运算来处理复杂的计算任务。
关键要点包括:
-
信息可以用比特(Bits) 表示,并通过布尔逻辑(Boolean Logic) 处理。
-
电气开关(Switches) 和 晶体管(Transistors) 是实现布尔逻辑的基础。
-
CMOS技术(CMOS Technology) 提供了一种高效、低功耗的电路设计方式。
-
逻辑门(Logic Gates) 是构建数字电路的基本单元。通过组合这些逻辑门,我们可以构建更加复杂和功能强大的电路。
-
NAND门 和 NOR门 是通用逻辑门,能够通过组合实现所有的布尔运算。
通过对这些知识点的掌握,你将对现代数字电路的设计有更深的理解。如果你对布尔逻辑或电路设计感兴趣,建议你自己动手尝试设计一些简单的逻辑门电路,亲身体验它们是如何实现复杂逻辑的!🎉
相关文章:
【ShuQiHere】从晶体管到逻辑门:数字电路的构建之旅
【ShuQiHere】 现代计算机和电子设备的基础是逻辑电路(Logic Circuits),它们执行信息处理和运算任务。在这些电路的核心,是晶体管(Transistors) 和 逻辑门(Logic Gates)。通过理解这…...
PDF扫描版文字识别OCR
PDF扫描版文字识别OCR 最近需要有对PDF扫描版进行文字可识别的需求,这里介绍一款工具挺好用的 这是一款开源的OCR工具 github地址 https://github.com/hiroi-sora/Umi-OCR 主要功能及特点 免费:本项目所有代码开源,完全免费。方便&#…...
Synchronized由什么样的缺陷? Java Lock是怎么弥补这些缺陷的?
synchronized 的缺陷 Synchronized 在 Java 中是最基础的线程同步机制,尽管简单易用,但也存在一些缺陷和局限性: 性能开销: synchronized 内部实现的监视器锁可能导致不必要的线程上下文切换和频繁竞争,从而引起性能下…...
联合仿真(FMI,FMU)资料收集
本文地址:https://blog.csdn.net/t163361/article/details/142262888 最近在研究使用Unity导入FMU模块进行仿真的功能。做功能前先尽可能收集下资料。 FMI标准 官方网站 github标准库 FMI标准由Modelica协会主导,具体介绍 FMI目前有三个标准 FMI1:20…...
Android Radio2.0——动态列表回调(七)
上一篇文章我们主要介绍了电台动态列表的获取流程,这里我们主要处理对应的回调流程以及扫描流程。 1)通过 getDynamicProgramList() 方法获取动态列表。 2)按照动态列表的内容,循环调用 scan() 方法执行向上调台,直到列表中的内容搜索完成。 3)根据 RadioManager.Program…...
在conda虚拟环境中安装cv2(试错多次总结)
首先保证你创建好了虚拟环境,并在anaconda命令窗口激活虚拟环境 依次输入下列命令: pip install opencv-python3.4.1.15 pip install opencv-contrib-python3.4.1.15 pip install dlib19.6.1 然后测试cv2是否可以使用,输入python 运行pyth…...
【EI稳定,马来亚大学主办】2024年计算机与信息安全国际会议(WCCIS 2024,9月27-29)
2024年计算机与信息安全国际会议 (WCCIS 2024) 将于2024年9月27-29日召开。 会议旨在为从事计算机与信息安全的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探讨&…...
免费AI播客生成:notebooklm可以生成播客的两个发言人谈论的内容,从各种来源如研究论文、文章
参考: https://notebooklm.google.com/ 可以上传文章链接,ai自动生成播客两人对话: 另外notebooklm他本身也是个rag知识库对话,可以直接聊天框对话...
“MIME 媒体类型“用来标识网络传输内容的格式标准
MIME 类型(Multipurpose Internet Mail Extensions 类型),也称为媒体类型,是用来标识网络传输内容的格式的标准。这些类型帮助 Web 服务器和浏览器理解如何处理和显示数据。MIME 类型在 Web 开发和网络通信中起着关键作用…...
MySql的基础讲解
一、初识MySql 数据库:按照数据结构来组织、存储和管理数据的仓库;是一个长期存储在计算机内的、有组织的、可共享 的、统一管理的大量数据的集合; OLTP:联机事务处理,主要是对数据库的增删改查。 OLTP 主要用来记录…...
类型转换等 面试真题
题目1 请问哪个结果为NaN A. 123null B. 123‘1’ C. 123/0 D. 123undefined 在这四个表达式中,只有D. 123 undefined 的结果是 NaN,原因如下: A. 123 null 结果是:123原因:null 在数值运算中会被自动转换为 0&a…...
MySQL下载安装
MySQL下载安装 MySQL :: MySQL Community Downloads MySQL :: Download MySQL Installer 安装步骤1 一路向前即可。 我只安装Server,不清楚的建议选择Full 安装步骤2 如果是正式运行的服务器,可以选择Server Computer...
golang实现正向代理http_proxy和https_proxy
package mainimport ("bytes""fmt""io""log""net""net/url""strings" )func main() {// tcp 连接,监听 8080 端口l, err := net.Listen("tcp", ":8080")if err != nil {log.Panic…...
数字IC设计\FPGA 职位经典笔试面试--整理
注: 资料都是基于网上一些博客分享和自己学习整理而成的 1:什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序 逻辑电路的特点:各触发器的时钟端全部连接在一…...
Golang协程泄漏定位和排查
Golang协程泄漏定位和排查 1 场景:无缓冲channel写阻塞2 排查和定位思路2.1 Golang pprof2.2 协程数监控2.3 操作系统内存泄漏 参考 1 场景:无缓冲channel写阻塞 package mainimport ("log""net/http"_ "net/http/pprof"…...
【我的 PWN 学习手札】Unlink Attack
目录 前言 一、Unlink介绍 二、保护和限制 (1)FD->bk P AND BK->fd P (2)chunksize(P) prev_size(next_chunk(P)) (3)largebin chunk 三、适用场景 四、利用与绕过 (1&#…...
算法笔试-编程练习-好题-04
题目:堆盒子 礼盒大小不同,我们玩堆盒子的游戏,怎么堆盒子使得堆出的高度最高,每个礼盒的大小由长、宽、高表示,堆盒子的时候要求下面的盒子长、宽、高都必须大于上面的盒子,不包含等于。高度为堆出的礼盒的所有高度的…...
使用Rustup快速无缝升级Rust
rust update 升级 Rustup 是 Rust 官方的跨平台 Rust 安装工具。我们可以使用rustup升级rust版本 rustup updaterustup is not installed at ‘E:\cargo’ 意思是说’E:\argo’未安装rustup 将原来C:\Users\用户名\.cargo\bin下的文件复制到新的E:\cargo\bin $ rustup upda…...
pytorch qwen2-vl自定义数据全量微调
参考:https://github.com/zhangfaen/finetune-Qwen2-VL/tree/main 测试情况: 2B显存训练也很高,4090卡训练的 下载代码: git clone https://github.com/zhangfaen/finetune-Qwen2-VLtransformers包: 安装特定包,对qwen2vl支持 pip install git+https://github.com/hugg…...
切换淘宝最新npm镜像源是
切换淘宝最新npm镜像源是一个相对简单的过程,但首先需要明确当前淘宝npm镜像源的状态和最新的镜像地址。由于网络环境和服务更新,镜像源的具体地址可能会发生变化,因此,我将基于当前可获取的信息,提供一个通用的切换步…...
当多线雷达遇上RTK:一个能跑工业现场的SLAM方案
多传感器融合建图及定位的工程化落地方案,多线雷达rtk;室内室外导航都适用。 包含部署文档和代码注释;包含工程落地角度的优化。 不含运动控制。 室外场景用RTK信号稳如老狗,一进厂房立马抓瞎;多线雷达在室内横扫千军…...
告别Win11无边框窗口的‘残疾’体验:Qt自定义标题栏完美集成Snap Layout保姆级教程
现代Qt应用开发:Win11无边框窗口与Snap Layout深度整合实战 当微软推出Windows 11时,其标志性的Snap Layout功能彻底改变了多窗口管理体验。然而对于使用Qt框架开发无边框窗口应用的开发者来说,这却带来了一个棘手的问题——自定义标题栏与系…...
GitHub访问加速终极指南:5分钟告别龟速访问的完整解决方案
GitHub访问加速终极指南:5分钟告别龟速访问的完整解决方案 【免费下载链接】fetch-github-hosts 🌏 同步github的hosts工具,支持多平台的图形化和命令行,内置客户端和服务端两种模式~ | Synchronize GitHub hosts tool, support m…...
核聚变装置逼近极限时会“漏水“:科学家发现热流平衡决定密度天花板
来源:科学剃刀人类距离可控核聚变又近了一步,但一道隐形天花板始终悬在头顶。当反应堆试图提高燃料密度以获得更多能量时,等离子体总会在某个临界点突然崩溃。这种"密度极限"现象困扰了聚变界四十年。现在,美国麻省理工…...
如何高效提取网页SVG内容:3步实现可视化数据导出
如何高效提取网页SVG内容:3步实现可视化数据导出 【免费下载链接】svg-crowbar Extracts an SVG node and accompanying styles from an HTML document and allows you to download it all as an SVG file. 项目地址: https://gitcode.com/gh_mirrors/sv/svg-crow…...
目标检测新手必看:如何用Python手写IOU计算函数(附完整代码)
目标检测实战:从零编写Python版IOU计算函数 刚接触目标检测时,最让人困惑的莫过于那些神秘的评估指标。其中IOU(交并比)就像一把尺子,能量化算法预测框与真实框的贴合程度。但纸上得来终觉浅,今天我们就用P…...
保姆级教程:用SolidWorks和PCL把装配体转成PCD点云(附完整命令)
从SolidWorks装配体到PCL点云的完整转换指南 在工业设计、逆向工程和三维视觉处理领域,将CAD模型转换为点云数据是一个常见但容易出错的过程。许多工程师和研究人员在使用SolidWorks完成设计后,需要将装配体转换为点云格式(如PCD)…...
二相四线步进电机驱动全解析:从原理到Proteus仿真避坑指南
二相四线步进电机驱动全解析:从原理到Proteus仿真避坑指南 在工业自动化与嵌入式开发领域,步进电机因其精准的位置控制能力成为不可或缺的执行元件。而二相四线制步进电机凭借结构简单、成本低廉的优势,尤其受到电子工程师和创客群体的青睐。…...
资源监控告警:OpenClaw+Qwen3-32B镜像守护个人服务器
资源监控告警:OpenClawQwen3-32B镜像守护个人服务器 1. 为什么需要智能化的个人服务器监控? 去年我的个人服务器连续宕机三次——第一次因为内存泄漏导致OOM崩溃,第二次被挖矿程序占用全部CPU资源,第三次则是磁盘写满后无人察觉…...
给嵌入式新手的Cortex-M0内核超详细图解:从寄存器到中断,一篇搞定STM32/GD32入门
给嵌入式新手的Cortex-M0内核超详细图解:从寄存器到中断,一篇搞定STM32/GD32入门 刚拿到STM32开发板时,看着密密麻麻的引脚和上百页的芯片手册,我完全不知道从哪里开始。直到导师指着原理图说:"把芯片想象成一个忙…...
