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

    文章

    705

    浏览量

    41248
  • 计算机
    +关注

    关注

    19

    文章

    6646

    浏览量

    84488
  • 晶体管
    +关注

    关注

    76

    文章

    9053

    浏览量

    135174

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

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

收藏 人收藏

    评论

    相关推荐

    【RTC程序设计:实时音视频权威指南】计算机知识基础篇

    数据通信的加密,加密方法、算法也有很多种,有对称加密算法,也有非对称加密算法。在这些计算机网络中的基本概念,可以物理层到应用层的特性进行了解,重点可以学习一下UDP和TCP这两种最基本的网络协议,并且该节也
    发表于 04-23 09:02

    【量子计算机重构未来 | 阅读体验】 跟我起漫步量子计算

    首先感谢发烧友提供的试读机会。 略读周,感触颇深。首先量子计算机作为种前沿技术,正逐步展现出其巨大的潜力,预示着未来社会和技术领域的深刻变革。下面,我将从几个方面探讨量子计算机
    发表于 03-13 19:28

    【量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    如何生产制造。。。。。。 近来通过阅读《量子计算机—重构未来》书,结合网络资料,了解了点点量子叠加知识,分享给大家。 先提一下电子
    发表于 03-13 17:19

    【量子计算机重构未来 | 阅读体验】+量子计算机的原理究竟是什么以及有哪些应用

    本书内容目录可以看出本书主要是两部分内容,部分介绍量子计算机原理,部分介绍其应用。 其实个人也是抱着对这两个问题的兴趣来看的。 究竟什么是量子
    发表于 03-11 12:50

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    话对我触动很大:量子计算机不仅能解决身边的问题,还能解决社会层面的重大课题。 看来真是“天下武功,唯快不破”,只要处理速度足够快,海量数据处理就像计算1+1样简单,可以想象
    发表于 03-05 17:37

    【量子计算机重构未来 | 阅读体验】初探

    ,对于量子计算机的实现更加好奇,以至于申请试读该书。 当收到这本书时,自己咯噔了一下,为何这么薄,书这么小?技术书籍不应该随随便便四五百页吗?但是当我打开这本书的介绍时,我明白了,这本书并不是纯粹的技术书
    发表于 03-04 23:09

    使用USB 2.0ztex板USB-FPGA模块2.13向计算机发送信号报错的原因?

    我正在尝试使用 USB 2.0 ztex 板 USB-FPGA 模块 2.13 向计算机发送信号。 fpga 方面,我使用的是 fifo 代码,
    发表于 02-26 06:39

    计算机网络中速率和带宽的区别

    才能达到的数据传送的速率,然而在现实生活中是达不到的。 带宽,在计算机网络中用来表示网络的通信线路传送数据的能力,因此网络带宽表示在单位时间内网络中的某点到另点所能通过的“最高数
    发表于 11-27 16:29

    计算机网络中速率和带宽的区别

    才能达到的数据传送的速率,然而在现实生活中是达不到的。 带宽,在计算机网络中用来表示网络的通信线路传送数据的能力,因此网络带宽表示在单位时间内网络中的某点到另点所能通过的“最高数
    发表于 11-01 15:04

    工业计算机的应用

    工业计算机在半导体设备上的应用,具体在哪一方面。比如说图像处理使用什么样的计算机,工业控制使用哪方面的计算机
    发表于 09-12 14:19

    计算机组成与设计

    计算机组成与设计 计算机组成与设计是计算机科学中最基础的课程之一,它主要阐述了计算机的组成原理和设计方法。随着计算机技术的快速发展,
    的头像 发表于 08-17 12:37 929次阅读

    量子计算机有什么用 量子计算机应用领域

    量子计算机可以加速解决传统计算机无法处理的复杂问题,如化学模拟、大规模优化、机器学习、数据挖掘等领域。
    的头像 发表于 06-14 17:30 5591次阅读

    计算机视觉相关概念总结

    为了帮助同事和客户了解更多有关计算机视觉和AI的更多信息,我们言简意赅介绍一些计算机视觉和AI术语,希望能帮助到大家
    的头像 发表于 05-31 10:11 516次阅读

    聊聊计算机的部分构成

    计算机, 是最聪明的人做出的最伟大的发明之一。 绝大多数人的能力, 终身无法超越计算机了。 类比一下 计算机的cpu,
    的头像 发表于 05-26 10:58 351次阅读

    如何将文件内容Arduino无线发送到计算机

    ,因此它可以处理传感器的数据。两个设备都连接到个公共路由器。 目标。我需要的是种将文件内容 Arduino 无线发送到计算机的方法。没有网络服务器,只是文件传输。 由于我对 Lu
    发表于 05-04 06:47