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

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

3天内不再提示

计算机在硬件层面究竟是怎么表示二进制 2

jf_78858299 来源:小牛呼噜噜 作者:小牛呼噜噜 2023-02-01 15:28 次阅读

我们先写出其真值表(真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效):

A B X(输出)
0 0 0
0 1 1
1 1 0
1 0 1

其表达式也就是:通过表达式我们就能知道,把非A与B的值 和非B与A的值 通过或门加起来就能得到异或门

材料学的发展

上世纪材料学的发展也大力推动了计算机的蓬勃发展,计算机的硬件出现了3次大的更新换代

继电器与哈佛Mark1号

在1944年,为了给美国曼哈顿计划模拟,IBM建造出来首台自动按序控制计算机 哈弗Mark1号 ,有76万五千个组件,300万个连接点和500英里长的导线,重达4500公斤,占地面积有房间那么大。其大脑是由继电器组成的,其一秒能做3次加或减,乘法花费6秒,除法花费15秒

由于继电器的金属臂有“质量”,无法快速开关,1940年一个好的继电器一秒钟可以翻转50次,但是任何会动的机械都会随着时间出现物理磨损,部件会损坏,随着继电器数量增加,故障概率也会增加。真的是又慢又容易坏的大家伙,但瑕不掩瑜,其依旧具有跨时代的意义。

真空管与巨人一号

在1904年,英国物流学家弗莱明就已经开发了一种新的电子组件,叫做 真空管 ,也就是把两个电极装在一个气密的玻璃灯泡里,但弗莱明的这个电子部件,电流只能单向流动,俗称称为 "二极管"。要想制作计算机,需要能够控制电子的流动的东西。

在 1906 年,美国发明家"李·德富雷斯特"在"弗莱明"设计的两个电极之间,加入了第三个"控制"电极(一 种栅栏式的金属网,形成电子管的第三个极),向"控制"电极施加正电荷,它会允许电子流动;但如果施加负电荷,它会阻止电子流动。被命名为真空三极管,这样就能形成一个"开关",可以“断开或闭合电路”。

由于真空管内没有会动的组件,想较于机械装置,磨损更少,又没有金属臂的限制,每秒可以开闭数千次,继电器一秒钟只能翻转50次左右,效率大大的提升。

第一个大规模使用真空管的计算机是"巨人1号",标志着计算机从机电转向电子,电子计算机的大门自此打开。由工程师Tommy Flowers设计,完工于1943年12月,用于二战时破解德国军事通讯密码。

晶体管与IBM608

虽然真空管做计算机的大脑,解决了继电器许多缺陷,但是其还是容易损坏,就像灯泡一样烧坏。到1950年代,真空管计算机都达到了极限。

1947年,贝尔实验室发明了 晶体管 ,其成为了新的"开关",也标志着一个全新的计算机时代到来。晶体管不仅体积小,响应速度快(每秒切换开关能达到上百万次),而且使用寿命也非常悠远,准确 性高,稳定性好,不易损坏。关键它可以做得非常小,一块集成电路即可容纳十几亿到几十亿 个晶体管。

晶体管泛指一切以半导体材料为基础的单一元件,半导体顾名思义,可导电也可不导电,是常温下导电性能介于导体与绝缘体之间的材料,一般有硅、锗、砷化镓等

IBM608第一个完全用晶体管,消费者也可以买的起计算机。该计算机有3000个晶体管,每秒执行4500次加法,80次左右的乘除法。

计算机2大特性:计算能力和记忆能力

通过本文的阅读,我们知道了开关是一个生活中很普通的东西,但香农将开关、布尔代数联系的一起后,产生了化学反应。可以用一个个开关组合起来,成为 门电路 ,从而能够造成CPU

随着材料学等发展,开关也从继电器到真空管,再到晶体管,相应速度,提交,使用寿命,成本都得到了明显的改善。他们制造出来的计算机也慢慢的变成了我们现在熟悉的计算机。

计算机的大脑就是CPU,我们知道CPU内最重要的2个部件是寄存器和计算单元那么如何用开关来让计算机拥有计算能力和记忆能力 ?大家可以思考一下,后面的文章让我们抛开硬件,通过抽象出来的逻辑门来一步步设计和实现一个CPU。


参考资料

《深入理解计算机系统》

《编码:隐匿在计算机软硬件背后的语言》

《深入浅出计算机组成原理》

数字电子技术基础》

《穿越计算机的迷雾》

https://cloud.tencent.com/developer/article/2135886

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

    关注

    68

    文章

    10445

    浏览量

    206566
  • 二进制
    +关注

    关注

    2

    文章

    707

    浏览量

    41250
  • 计算机
    +关注

    关注

    19

    文章

    6651

    浏览量

    84545
收藏 人收藏

    评论

    相关推荐

    计算机为什么使用二进制来表达

    在生活中,人们已经习惯用十进制来计数,0~9的发明是人类的伟大进步,从此就可以用0~9这十个数字的组合能表示任何大小的数字。于是初学计算机的人往往会问的问题是,计算机为什么使用
    的头像 发表于 10-30 15:44 590次阅读
    <b class='flag-5'>计算机</b>为什么使用<b class='flag-5'>二进制</b>来表达

    计算机硬件怎样执行二进制程序的

    计算机怎样将二进制数当成指令执行的?
    发表于 12-11 08:54

    单片机开发为什么要用二进制

    电路来进行计数,容易实现,容易运算,方便可靠。所以,计算机中,数据和其它字母、符号等都是以二进制的形式来表示并进行运算处理的,或者说,计算机
    发表于 12-10 10:55

    为什么计算机内部进行二进制运算,而不是十进制运算?

    闲来没事b站上看李永乐老师讲的这个视频,觉得挺有意思的。这篇文章主要是记一下笔记。本篇文章里面的数字若没有特殊指明,默认为二进制数字。你们有没有这样的疑问:为什么计算机内部进行二进制
    发表于 07-23 09:59

    计算机基础 精选资料分享

    计算机重要概念位:计算机表示信息的最小单位,表示一位二进制信息0,1,以b表示(bit)字节:以
    发表于 07-29 08:47

    1.8位二进制表示的无符号整数其相应的十进制数范围是多少

    2018年自考工业用微型计算机押密试题及答案()第一部分选择题一、单项选择题(本大题共20小题,每小题2分,共40分)每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填
    发表于 09-10 07:26

    进制数65用8位二进制表示时应为多少

    内。错选、多选或未选均无分。1.十进制数65用8位二进制表示时应为 ( )A. 11000001B B.OlOOOOOIBC. OlOOlOllBD.O0111011B2.十
    发表于 09-10 06:18

    微机中1K字节表示二进制位数是什么

    二进制位数是(D)。A、100() B、8x1000 C> 1024 D、8x10242. 计算机硬件能肓接识别和执行的只有(D )oA、高级语言B、符号语言C、汇编语言D、机器语言3. 用于保...
    发表于 09-15 09:29

    计算机的原码与反码及其补码是干啥的?

      很多人都只知道计算机使用的是二进制,但很少有了解到计算机是以补码的方式进行存储数据的。  不过补码是通过原码、反码一步步演变而来的。  原码  原码是一种计算机对数字的
    发表于 04-13 17:04

    二进制编码和二进制数据

    二进制编码和二进制数据   二进制编码是计算机内使用最多的码制,它只使用两个基本符号"0"和"1",并且通过由这两个符号组成的
    发表于 10-13 16:22 4517次阅读

    关于二进制表示和补码计算的来龙去脉

    这 2 个既简单、又强大的数字。但是大部分人,对于二进制二进制计算、原码、反码以及补码的认识,仍处于机械的强制记忆阶段。尤其是对一些编码和计算,仍然处于模糊的认识阶段,例如: CPU
    的头像 发表于 06-07 14:30 2215次阅读

    计算机硬件层面究竟是怎么表示二进制 1

    本篇文章来看看计算机硬件层面究竟是怎么表示二进制的,CPU
    的头像 发表于 02-01 15:28 845次阅读
    <b class='flag-5'>计算机</b>在<b class='flag-5'>硬件</b><b class='flag-5'>层面</b><b class='flag-5'>究竟是</b>怎么<b class='flag-5'>表示</b><b class='flag-5'>二进制</b> 1

    计算机基础知识之二进制

    在C/Java/JavaScript等高级语言编写的程序中, 「数值」 、 「字符串」 和 「图像」 在计算机内部都是以 「二进制数值」 的形式来表现的 用二进制表示
    的头像 发表于 03-31 16:06 3349次阅读
    <b class='flag-5'>计算机</b>基础知识之<b class='flag-5'>二进制</b>

    计算机究竟是如何理解并执行我们所写的代码的呢?

    在编写了大量代码之后,不禁让人思考,计算机究竟是如何理解并执行我们所写的代码的呢?这个问题将引导我们深入了解计算机的内部工作原理,从二进制到逻辑电路,再到运算器和控制器的协同工作,探究
    发表于 09-05 09:54 292次阅读
    <b class='flag-5'>计算机</b><b class='flag-5'>究竟是</b>如何理解并执行我们所写的代码的呢?

    如何实现二进制和BCD码数据的相互转变?

    如何实现二进制和BCD码数据的相互转变? 二进制码是将十进制数字表示二进制数和十进制数的一种表示
    的头像 发表于 02-18 14:51 448次阅读