0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从抽象层面带大家感受一下计算机复杂的一面

h1654155971.8456 来源:EDA365 2020-05-07 11:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

昨天探讨了关于计算机是怎样一步步被人类不断推进演变的过程,今天,我们将从抽象层面带大家感受一下计算机复杂的一面。

从昨天讲的,我们可以发现不论是通过装置上的一个单位,还是通过晶体管控制开关,计算机给我们的状态只有“开”和“关”,虽然只有两个状态,但是我们仍然可以用这两种状态表达很多重要的信息,这就是所谓的“二进制”。

你是不是很疑惑:既然二进制只有两个状态,那它肯定不能完成很复杂的工作咯?

答案是:是的,但是它却可以准确的表示你需要的值:‘true’和‘false’。

在计算机中,状态为“开”时,电流流过,用true表示;状态为“关”时,电流停止,用false表示。通常情况下,也会用0和1来表示二进制的状态。

上篇文章我们讲晶体管可以用来控制电流的开启和关闭,其实不然,晶体管还可以用来控制不同的电流水平。

早期某些电子计算机是三进制或五进制,表示他们的状态有3种或5种,但问题是:像这种状态层级越多,状态之间的区分也就会越模糊。

晶体管每秒有数百万次的变化,那中间存在的问题也会变得更加糟糕。

因此,将两个信号放在尽可能远的地方,即只使用 "开" 和 "'关"的状态,这样就可以在很多干扰问题种区分最明显的信号问题。

其实在计算机种使用二进制还有一个原因,那就是二进制在数学中有成熟的分支,它是专门用来处理‘true’和‘false’的问题,而且数学家们也已经研究出了操作二进制的所有必要的规则和方法,这个分支被称为“布尔代数”。

“布尔代数”来源于一位19世纪自学数学的英国数学家 'George Boole' ,他致力于研究亚里士多德的逻辑理论,亚里士多德逻辑法是以哲学为基础,Boole的方法则是使用逻辑方程式的方法去判断真假,这一方法在1847年他的第一本书《逻辑的数学分析》中提出。

通常我们学习到的都是常规代数,变量为数字,并对这些数字进行加减乘除等运算,但在布尔代数中,变量为‘true’和‘false’,并对这些变量进行逻辑处理。

布尔代数中的三个基本操作:“非”、“与”、“或”,这些操作都有他们自己独特的作用。

“非(NOT)”作用于单个布尔值,无论其是true或false,都会将其反转,即true转换为false,false转换为true。

在布尔值中,当输入为true时,输出为true;当输入false时,输出false,它并没有进行任何操作。

如果我们对其稍作修改,例如创建一个“非”电路,如果输入true,则输出为false;如果输入false时,输出将会是true,我们将刚刚创建的“非”电路称为“非”门。

“与(AND)”作用于最少两个输入,但是只有一个输出。只有当所有输入都为true时,输出true,但如果输入有一个false,那输出就是false。

最后一个布尔运算为“或(OR)”:只要有一个输入为true,那么输出为true,如果输入都为false,那输出就是false。

上面我们对非、与、或门有了一定的了解,现在我们看看这三种门的表示符号吧!

标准工程师们使用三角形加小圆点表示非:

一个D形状的图标表示与:

一个像宇宙飞船一样的图标表示或:

这些图标和思想可以在我们构建更大组件的同时,去控制好整体的相对复杂度,但是那些晶体管和电路的复杂依然存在。

举个例子:在其他有用的布尔运算中有个被称之为“异或(XOR)”的方法。

异或和或很像,只是如果输入都为false,那输出就是false。只有一种情况下异或会输出true,就是当一个输入为true,另一个输入为false时。

异或门在实际应用中是很必要的,因此工程师们也给了它一个单独的标志:一个带着笑脸的或门:

最重要的是,我们不需要太过于操心其中各个逻辑门的构成,以及这些门该如何用晶体管去搭建,又或者如何让这些电子在半导体中流通。

因为当计算机工程师在设计处理器时,很少会考虑晶体管层面是如何工作的,他们通常使用的是更大的区块,例如逻辑门,或者由逻辑门组成的更大的组件。

即便你是专业的程序员,也很少去思考如何直接在物理层面用这些极小的组件去实现你的程序逻辑。

当然,我们也将思考的重心从原始的电子流动,转移到了用数据表示来替代:如true和false,这让我们的思维方式又一次接近了计算机本身。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二进制
    +关注

    关注

    2

    文章

    809

    浏览量

    42798
  • 计算机
    +关注

    关注

    19

    文章

    7764

    浏览量

    92681
  • 晶体管
    +关注

    关注

    78

    文章

    10250

    浏览量

    146270

原文标题:还记得“非”“与”“或”“异或”门的逻辑关系吗?

文章出处:【微信号:eda365wx,微信公众号:EDA365电子论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    亿光67-22ST系列LED:节能又高效,照亮生活每一面

    ,照亮生活每一面。这系列产品以其卓越的性能、广泛的适用性和出色的可靠性,正在为全球各地的用户带来前所未有的光体验。亿光代理商南山电子给大家介绍一下亿光67-22ST系
    的头像 发表于 10-14 14:19 223次阅读
    亿光67-22ST系列LED:节能又高效,照亮生活每<b class='flag-5'>一面</b>

    NVIDIA DGX Spark桌面AI计算机开启预订

    DGX Spark 现已开启预订!丽台科技作为 NVIDIA 授权分销商,提供产品到服务的站式解决方案,助力轻松部署桌面 AI 计算机
    的头像 发表于 09-23 17:20 919次阅读
    NVIDIA DGX Spark桌面AI<b class='flag-5'>计算机</b>开启预订

    【「AI芯片:科技探索与AGI愿景」阅读体验】+可期之变:AI硬件到AI湿件

    保持停滞的情况,依照目前计算机的能耗效率,至少还需要30年的努力才接近其水准,见图1所示。 图1 大脑与计算机的能量效率对比 图2 类脑芯片的前瞻性研究领域AI湿件 为此,些想
    发表于 09-06 19:12

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    +点灯 作者:jf_43382582【VisionFive 2单板计算机试用体验】coremark跑分测试【VisionFive 2单板计算机试用体验】VisionFive 2个霸气的游戏机
    发表于 09-04 09:08

    工业计算机的重要性

    于管理用于产品检查、数据记录和数据分析的运动控制系统,以提高制造生产率。例如,汽车行业工业边缘计算机中受益匪浅,这些计算机用于自动化制造汽车所涉及的各种过程。工业边
    的头像 发表于 07-28 16:07 398次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    自动化计算机经过加固后有什么好处?

    让我们讨论一下部署坚固的自动化计算机些好处。1.温度范围宽自动化计算机经过工程设计,配备了支持宽温度范围的组件,使自动化计算解决方案能够
    的头像 发表于 07-21 16:44 419次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 530次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业
    的头像 发表于 07-10 16:36 516次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    工业计算机如何设计用于冲击和振动

    探讨了使工业计算机能够抵御冲击和振动的关键设计原则和功能。了解工业环境中的冲击和振动冲击是指突然的、高强度的冲击,例如重物撞击系统或运输过程中突然停止。另一方面,振
    的头像 发表于 05-19 15:27 365次阅读
    工业<b class='flag-5'>计算机</b>如何设计用于冲击和振动

    文带你了解工业计算机尺寸

    项艰巨的任务。本博客将指导您了解关键的工业计算机尺寸、使用案例。关键工业计算机外形要素及其使用案例、工业微型PC尺寸范围:宽度:100毫米-180毫米深度:10
    的头像 发表于 04-24 13:35 790次阅读
    <b class='flag-5'>一</b>文带你了解工业<b class='flag-5'>计算机</b>尺寸

    软通计算机重磅发布DeepSeek大模型体机产品

    。 在人工智能技术加速赋能千行百业的背景,随着AI应用场景的深度拓展,模型部署复杂度高、场景适配难度大、运维成本居高不下等问题日益凸显,严重制约了技术普惠进程。此次,软通计算机发布的DeepSeek大模型
    的头像 发表于 03-22 10:40 1342次阅读
    软通<b class='flag-5'>计算机</b>重磅发布DeepSeek大模型<b class='flag-5'>一</b>体机产品

    日英联手开发下代量子计算机

    近日,据报道,日本国立产业技术综合研究所(AIST)与全球芯片巨头英特尔公司正携手合作,致力于开发下代量子计算机。这举措预示着量子计算领域将迎来新的突破。 据了解,此次合作将充分利
    的头像 发表于 02-07 14:26 773次阅读

    文看懂】什么是量子计算

    量子计算代表了种突破性的计算方法,它利用量子力学的基本原理,能够在某些复杂问题上实现超越传统计算机
    的头像 发表于 01-02 14:08 2128次阅读
    【<b class='flag-5'>一</b>文看懂】什么是量子<b class='flag-5'>计算</b>?

    云端超级计算机使用教程

    云端超级计算机种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在起,通过网络向
    的头像 发表于 12-17 10:19 943次阅读

    ADS58C20热阻有顶面(9.3度/W)和底面(0.5度/W),请问一下折算为一面的热阻怎么计算

    ADS58C20热阻有顶面(9.3度/W)和底面(0.5度/W),请问一下折算为一面的热阻怎么计算
    发表于 12-12 06:43