我们知道,在计算机的世界里,只有1和0。从简单的数学运算,到画面美爆的3D游戏,都是由数不清的0和1构成的。颇有点道家的 “ 一生二,二生三,三生万物” 的感觉。我们也大概知道,用高电位(如+5V)去表示1,用低电位(如+0V)去表示0。那么如何控制高低电位的输出呢?

相信很多人还记得小学时学的计算机基础课,第一台计算机ENIAC(埃尼阿克)于1946年在美国宾夕法尼亚诞生,它由将近18万个真空管(电子管)组成,重大30吨,耗电量惊人。


ENIAC使用真空管来完成高低电位的输出。真空管是二极管的前身。在一个真空玻璃管中放置两个电极,就构成了真空管。通过给阴极施加电压,使其温度上升来释放电子。

此时若阳极处于一个稍微高一点的电位,真空管内的自由电子就会被吸引过去,将电路联通。

可以通过对阴极施加不同大小的电压,来控制阴极释放的电子的数量,从而控制电路的联通与否。以此来产生01信号。

真空管的改进版,是在真空玻璃管中间添加一个栅极(Grid)。通过对栅极施加不同的电压,使得它阻断或加强电子的流动,从而得以实现对电流的快速控制。

然而,真空管体型比较笨重,并且它是通过对阴极加热,来使得阴极释放电子,所以它比较不稳定,容易出现故障,并且耗电还高(想象一下计算机里的每个01信号都是通过对一个电灯泡进行加热来控制,而ENIAC就由将近18万个这样的灯泡组成)。不禁想起了三体里所描绘的人形计算机阵列,吓死宝宝了。

后来,聪明的科学家就发现了晶体管。

它使用了半导体来代替电极。4价硅,掺杂一些5价磷,来制造一个电子发射极NMOS(Negative Metal Oxide Semiconductor);4价硅,掺杂一些3价硼,构成了电子接收极PMOS(Positive Metal Oxide Semiconductor)。将P和N排列在三个交替层,构成了NPN型晶体管。每一层都带有一个Terminal。构成电子发射极(Emitter),基极(Base),电子接收极(Collector)。

电子从Emitter流到Base,产生的电流,称为基极电流(Base Current)

电子从Emitter流到Collector,产生的电流,称为集电极电流(Collector Current)

当我们施加一个微弱的电压在Emitter和Base之间,让它们之间形成电流,就会导通这个晶体管,在Emitter和Collector之间产生一个很大的电流。通常来说,在Emitter和Base之间施加一个>0.7V的电压,即可导通晶体管,产生高电位,再通过模数转换,变为信号1;

施加一个<0.7V的电压,晶体管不导通,产生低电位,即为信号0。

通过这种微弱的电压变化,来控制输出1或0。

相比于真空管,晶体管的优点在于它体积非常小,并且效率高(真空管需要通过加热阴极释放电子,而晶体管不需要加热,只需要控制微弱的电压变化,因为不需要加热,晶体管也更耐用,能耗也更低)。现代计算机的CPU芯片只有指甲盖大小,上面却布满了几十亿个晶体管,每秒可以进行上万亿次计算。一个主频为2.4GHz的CPU,简单地来讲,理论上每秒可以进行2,400,000,000次运算。

通过不断地断电,通电,来推动CPU一步一步地执行计算。一次通电断电,可以简单地认为是一个时钟周期,这个是通过时钟发生器来控制的,一个时钟发生器,每秒能振动多少次,就是他振动的频率,即时钟频率。时钟发生器也叫晶振,全称晶体振荡器,是从一块石英晶体上切下的薄片,再进行加工制成的。晶振为CPU提供了基本的时钟频率,它一下一下的振动,就像一颗搏动的心脏。

参考视频:
https://haokan.baidu.com/v?vid=16026741635006191272&pd=bjh&fr=bjhauthor&type=video

简单易懂的底层知识 —— 计算机的0和1是怎么产生的?相关推荐

  1. 计算机底层知识之内存

    ❝ 渔夫出海前,并不知道鱼在哪里,可是他们还是选择出发, 因为他们相信,一定会满载而归.人生很多时候,是「选择了才有机会,是相信了才有可能」. -- 「稻盛和夫」 ❞ 大家好,我是「柒八九」. 今天, ...

  2. 计算机底层知识之二进制

    ❝ 巴西作家保罗·科埃略的一句话:「如果你想成功,你必须遵守一条规则:永远不要对自己撒谎.」 ❞ 大家好,我是「柒八九」. 今天,我们继续「计算机底层知识」的探索.我们来谈谈关于「二进制」的相关知识点 ...

  3. 生猛!这篇万字长文,一下子把计算机底层知识说明白了!

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看&quo ...

  4. 一网打尽:Java 程序员必须了解的计算机底层知识!

    公众号后台回复"面试",获取精品学习资料 扫描下方海报了解专栏详情 本文来自公众号读者cxuan的投稿 我们每个程序员或许都有一个梦,那就是成为大牛,我们或许都沉浸在各种框架中,以 ...

  5. 计算机底层知识之CPU

    ❝ Only the disciplined in life are free. 唯自律者得自由 ❞ 大家好,我是「柒八九」. 想必能看到这篇文章的小朋友,大都是有一定编程能力的「程序媛.程序猿」.无 ...

  6. 【 karle 专栏 】Android 初探底层知识系列

    这一系列底层知识基于Android 6.0.1版本. 概述 在我还是菜鸟的时候,有很多技术都不明白,也找不到答案,比如,apk是如何安装的?资源是怎么加载的?再比如,AIDL,只听未用过.四大组件也是 ...

  7. 掌握好这些不变的底层知识,任他东西南北风!

    在各个技术社区或者技术上,我们总是喜欢谈论一些高大上的话题,比如高可用架构.人工智能.云原生应用.跨平台框架.区块链.虽然这些时髦的词代表着行业的趋势,但也在无形之间给我们传递着焦虑,我们不知道怎么才 ...

  8. 公共基础知识计算机,公共基础知识计算机基础知识试题

    计算机基础知识是公共基础知识考试的组成成分之一,以下是由学习啦小编整理关于共基础知识计算机基础知识试题的内容,希望大家喜欢! 公共基础知识计算机基础知识试题 1.CPU的主要功能是进行( ). A.算 ...

  9. WEB前端底层知识--浏览器是如何工作的

    随笔- 6  文章- 2  评论- 103 WEB前端底层知识--浏览器是如何工作的 概述 对于一直从事B/S架构(B/S也是一种C/S架构,只不过C/S自己写显示而B/S有相对统一的显示引擎实现而已 ...

  10. 计算机原理与应用简称,基础知识-计算机原理与应用.ppt

    基础知识-计算机原理与应用 第1章 基础知识 本章内容: 单片机的概念 单片机的发展.基本的结构和特点 单片机的应用模式和领域 MCS-51单片机等. 1.1 计算机的一些概念 1.2 单片机 单片机 ...

最新文章

  1. matlab基于dct的图像压缩编码解码_基于FPGA的扩频系统设计(下)
  2. 每日算法C语言1-求某整数
  3. Flink的Table API 与SQL介绍及调用
  4. 论文浅尝 | 知识图谱的单样本关系学习
  5. ubuntu中wps缺失字体
  6. pbl和sbl_PBL与SBL联合教学模式在妇产科教学中的应用研究
  7. Linux服务器 -- 安全篇
  8. Web系统大规模并发-电商秒杀与抢购
  9. 魔兽同服务器物品,《魔兽世界》怀旧服:这是给你的转服物资必备清单
  10. 硬件设计——串联直流稳压电源
  11. 如何将bmp转化为jpg,bmp转jpg方法
  12. html5 竖线的实现,border 实现竖线
  13. Java项目:赛事打分系统(java+SSM+Layui+Maven+mysql)
  14. 解决Chrome浏览器不能访问https网站的问题 阿星小栈
  15. TikZ示例——Venn图绘制(机器学习有关概念的关系)
  16. opencv实时识别指定物体
  17. matlab 理想变压器,Simscape Electrical
  18. 【大揭秘】Android架构组件ViewModel来龙去脉
  19. 关于用单片机操作HC05进入AT模式的小总结
  20. Java发送邮件链接实现登录注册

热门文章

  1. 需求和设计阶段使用的IPO图
  2. MP4、 MPEG-4区别
  3. flask 蓝本(blueprint)
  4. jQuery下载所有版本(实时更新……)
  5. c# 贪婪匹配 html,C#正则表达式之贪婪模式
  6. DWT(离散小波变换)
  7. Vulkan学习(三):小结
  8. postgresql:operator does not exist: text[] character varying[]
  9. 验证happenBefore
  10. 测试性格软件的原理,关于性格色彩应用原理庞大分析做出解密。