(。・∀・)ノ゙嗨,欢迎阅读计算机科学速成课!

过去6集我们聊了软件从早期编程方式到现代软件工程,在大概50年里软件从纸带打孔变成面向对象编程语言在集成开发环境中写程序。但如果没有硬件的大幅度进步软件是不可能做到这些的,为了体会硬件性能的爆炸性增长我们要回到电子计算机的诞生年代,大约1940年代~1960年代中期这段时间里计算机都由独立部件组成,叫"分立元件"然后不同组件再用线连在一起。举例ENIAC有1万7千多个真空管7万个电阻,1万个电容器7千个二极管5百万个手工焊点,如果想提升性能,就要加更多部件这导致更多电线,更复杂,这个问题叫"数字暴政。

1950年代中期,晶体管开始商业化(市场上买得到)开始用在计算机里,晶体管比电子管更小更快更可靠。但晶体管依然是分立元件,1959年,IBM把709计算机从原本的电子管全部换成晶体管,诞生的新机器IBM7090速度快6倍,价格只有一半。晶体管标志着"计算20时代"的到来,虽然更快更小但晶体管的出现还是没有解决"数字暴政"的问题,有几十万个独立元件的计算机不但难设计而且难生产,1960年代,这个问题的严重性达到顶点电脑内部常常一大堆电线缠绕在一起。看看这个1965年PDP8计算机的内部,解决办法是引入一层新抽象,封装复杂性,突破性进展在1958年,当时JackKillby在德州仪器工作,演示了一个电子部件:"电路的所有组件都集成在一起"

简单说就是:与其把多个独立部件用电线连起来,拼装出计算机。我们把多个组件包在一起,变成一个新的独立组件,这就是集成电路(IC)几个月后,在1959年罗伯特·诺伊斯的仙童半导体让集成电路变为现实。杰克·基尔比用锗来做集成电路,锗很稀少而且不稳定,仙童半导体公司用硅硅的蕴藏量丰富,占地壳四分之一,也更稳定可靠,所以诺伊斯被公认为现代集成电路之父,开创了电子时代,创造了硅谷(仙童公司所在地)

之后有很多半导体企业都出现在硅谷,起初,一个IC只有几个晶体管例如这块早期样品,由西屋公司制造。即使只有几个晶体管也可以把简单电路,第3集的逻辑门,能封装成单独组件,IC就像电脑工程师的乐高积木可以组合出无数种设计,但最终还是需要连起来,创造更大更复杂的电路,比如整个计算机,所以工程师们再度创新:印刷电路板,简称PCB。PCB可以大规模生产,无需焊接或用一大堆线它通过蚀刻金属线的方式,把零件连接到一起,把PCB和IC结合使用可以大幅减少独立组件和电线,但做到相同的功能,而且更小,更便宜,更可靠三赢!

许多早期IC都是把很小的分立元件封装成一个独立单元,例如这块1964年的IBM样品,不过,即使组件很小塞5个以上的晶体管还是很困难。为了实现更复杂的设计,需要全新的制作工艺"光刻"登场!简单说就是用光把复杂图案印到材料上,比如半导体,它只有几个基础操作,但可以制作出复杂电路,下面用一个简单例子,来做一片这个!我们从一片硅开始,叫"晶圆"长得像薄饼干一样,美味!我们在第2集讨论过硅很特别,它是半导体,它有时导电,有时不导电我们可以控制导电时机,所以硅是做晶体管的绝佳材料。我们可以用晶圆做基础把复杂金属电路放上面,集成所有东西,非常适合做集成电路!

下一步是在硅片顶部加一层薄薄的氧化层作为保护层,然后加一层特殊化学品叫"光刻胶"光刻胶被光照射后会变得可溶,可以用一种特殊化学药剂洗掉。单单光刻胶本身,并不是很有用但和"光掩膜"配合使用会很强大,光掩膜就像胶片一样,只不过不是吃墨西哥卷饼的可爱仓鼠,而是要转移到晶圆上的图案。把光掩膜盖到晶圆上,用强光照射挡住光的地方,光刻胶不会变化,光照到的地方,光刻胶会发生化学变化洗掉它之后,暴露出氧化层,用另一种化学物质通常是一种酸可以洗掉"氧化层"露出的部分蚀刻到硅层。注意,氧化层被光刻胶保护住了,为了清理光刻胶,我们用另一种化学药品洗掉它,是的,光刻法用很多化学品,每种都有特定用途,现在硅又露出来了我们想修改硅露出来的区域让它导电性更好。所以用一种化学过程来改变它,叫"掺杂",不是开玩笑!我们继续

"掺杂"通常用高温气体来做,比如磷渗透进暴露出的硅,改变电学性质,半导体的具体物理和化学性质我们不会深究,但我们还需要几轮光刻法来做晶体管。过程基本一样,先盖氧化层,再盖光刻胶,然后用新的光掩膜,这次图案不同在掺杂区域上方开一个缺口。洗掉光刻胶,然后用另一种气体掺杂把一部分硅转成另一种形式,为了控制深度,时机很重要我们不想超过之前的区域,现在所有需要的组件都有了。最后一步,在氧化层上做通道这样可以用细小金属导线,连接不同晶体管,再次用光刻胶和光掩膜蚀刻出小通道,现在用新的处理方法叫"金属化"放一层薄薄的金属,比如铝或铜。但我们不想用金属盖住所有东西我们想蚀刻出具体的电路,所以又是类似的步骤用光刻胶+光掩膜,然后溶掉暴露的光刻胶,暴露的金属,咻~

晶体管终于做好了!它有三根线,连接着硅的三个不同区域,每个区域的掺杂方式不同,这叫双极型晶体管,这个1962年的真实专利,永远改变了世界。用类似步骤,光刻可以制作其他电子元件比如电阻和电容,都在一片硅上,而且互相连接的电路也做好了,再见了,分立元件!之前的例子只做了一个晶体管,但现实中光刻法一次会做上百万个细节,芯片放大是这样的,导线上下交错,连接各个元件,尽管可以把光掩膜投影到一整片晶圆上但光可以投射成任意大小,就像投影仪可以投满荧幕一样。我们可以把光掩膜聚焦到极小的区域,制作出非常精细的细节,一片晶圆可以做很多IC整块都做完后,可以切割然后包进微型芯片,微型芯片就是在电子设备中那些小长方体,记住,芯片的核心都是一小片IC

随着光刻技术发展,晶体管变小密度变高,1960年代初,IC很少超过5个晶体管,因为塞不下,但1960年代中期市场上开始出现超过100个晶体管的IC。1965年,戈登·摩尔看到了趋势:每两年左右,得益于材料和制造技术的发展同样大小的空间,能塞进两倍数量的晶体管!这叫摩尔定律,然而这个名字不太对因为它不是定律,只是一种趋势,但它是对的,芯片的价格也急剧下降1962年平均50美元,下降到1968年2美元左右,如今几美分就能买到IC,晶体管更小密度更高还有其他好处

晶体管越小,要移动的电荷量就越少能更快切换状态耗电更少,电路更紧凑还意味着信号延迟更低导致时钟速度更快,1968年,罗伯特·诺伊斯和戈登·摩尔联手成立了一家新公司。结合Intergrated(集成)和Electronics(电子)两个词,取名Intel(英特尔),如今最大的芯片制造商,Intel4004CPU在第78集介绍过是个重要里程碑,发布于1971年是第一个用IC做的处理器,也叫微型处理器,因为真的非常小!

它有2300个晶体管,人们惊叹于它的整合水平整个CPU在一个芯片里,而仅仅20年前,用分立元件会占满整个屋子。集成电路的出现尤其是用来做微处理器,开启了计算30,而Intel4004只是个开始,CPU晶体管数量爆发增长,1980年,3万晶体管1990年,100万晶体管。2000年,3000万个晶体管。2010年,10亿个晶体管!在一个芯片里!我的天啊!

为了达到这种密度,光刻的分辨率从大约一万纳米,大概是人类头发直径的1/10,发展到如今的14纳米比血红细胞小400倍!当然,CPU不是唯一受益的元件,大多数电子器件都在指数式发展:内存,显卡,固态硬盘,摄像头感光元件,等等。如今的处理器,比如iPhone7的A10CPU有33亿个晶体管,面积仅有1cmx1cm,比一张邮票还小。现代工程师设计电路时,当然不是手工一个个设计晶体管这不是人力能做到的,1970年代开始,超大规模集成(VLSI)软件用来自动生成芯片设计,用比如"逻辑综合"这种技术可以放一整个高级组件,比如内存缓存。软件会自动生成电路,做到尽可能高效,许多人认为这是计算40的开始,坏消息是,专家们几十年来一直在预言摩尔定律的终结,现在可能终于接近了

进一步做小,会面临2个大问题,1用光掩膜把图案弄到晶圆上因为光的波长,精度已达极限,所以科学家在研制波长更短的光源,投射更小的形状。2当晶体管非常小,电极之间可能只距离几个原子电子会跳过间隙,这叫:量子隧道贯穿。2当晶体管非常小,电极之间可能只距离几个原子电子会跳过间隙,这叫:量子隧穿效应。如果晶体管漏电,就不是好开关,科学家和工程师在努力找解决方法。实验室中已造出小至1纳米的晶体管,能不能商业量产依然未知,未来也许能解决,我非常期待!

【计算机科学速成课】[40集全/文字版] - 17.集成电路摩尔定律相关推荐

  1. 【计算机科学速成课】[40集全/文字版] - 15.阿兰·图灵

    (。・∀・)ノ゙嗨,欢迎阅读计算机科学速成课! 前几集我们聊了基础,比如函数,算法和数据结构,今天,我们来看一位对计算机理论贡献巨大的人,计算机科学之父,长得不怎么像本尼的阿兰·图灵.阿兰·马蒂森·图 ...

  2. 【计算机科学速成课】[40集全/文字版] - 20.文件系统

    (。・∀・)ノ゙嗨,欢迎阅读计算机科学速成课! 上集我们讲了数据存储,磁带和硬盘这样的技术,可以在断电状态长时间存上万亿个位,非常合适存一整块有关系的数据,或者说"文件".你肯定见 ...

  3. 【计算机科学速成课】[40集全/文字版] - 1.计算机的早期历史

    Hello,World! 欢迎阅读计算机科学速成课! 在这个系列中,我们会学习Bits(位).Bytes(字节).晶体管.逻辑门,一直到操作系统,虚拟现实和机器人! 我们要学很多东西,但预先说明:我们 ...

  4. 【计算机科学速成课】[40集全/文字版] - 9.高级CPU设计

    (。・∀・)ノ゙嗨,欢迎阅读计算机科学速成课! 随着本系列进展,我们知道计算机进步巨大,从1秒1次运算,到现在有千赫甚至兆赫的CPU.你现在看视频的设备八成也有GHz速度,1秒十亿条指令,这是很大的计 ...

  5. 【计算机科学速成课】[40集全/文字版] - 12.编程原理-语句和函数

    (。・∀・)ノ゙嗨,欢迎阅读计算机科学速成课! 上集讲到用机器码写程序,还要处理那么多底层细节对写大型程序是个巨大障碍.为了脱离底层细节,开发了编程语言,让程序员专心解决问题,不用管硬件细节.今天我们 ...

  6. 20210301计算机科学速成课40集(34-35)

    机器学习Machine Learning&人工智能AI,Artificial Intelligence:机器学习算法让计算机可以从数据中学习,然后自行做出预测和决定.(1)分类Classifi ...

  7. 计算机科学速成课】[40集全/精校] - Crash Course Computer Science

    计算机科学速成课][40集全/精校] - Crash Course Computer Science Transistor have two electrodes separated by a mat ...

  8. 计算机科学速成课 Crash Course Computer Science 第三十集 万维网 The World Wide Web

    GitHub链接:https://github.com/WilliamWuLH/My-notes-about-CCCS 如果你觉得不错可以 ⭐Star 和 Fork ❤ 计算机科学速成课 Crash ...

  9. @程序员,这份 2 万人收藏的计算机科学速成课速码!

    整理 | 一一 出品 | AI科技大本营(ID:rgznai100) 作为一枚程序员,很多人可能都不太能清晰地说出计算机发展脉络,要想成为优秀的程序员,只会编程是不够的."读史使人明智&qu ...

  10. 计算机科学速成课 Crash Course Computer Science 笔记(摘要形式)

    Crash Course Computer Science总共40节课,架构式地详细介绍了计算机从底层到顶层的构造和新的技术,一节课十分钟左右,可让小白在很短时间内产生对计算机的总体理解 本文是听课后 ...

最新文章

  1. mysql 8.0 docker_Docker安装MySQL8.0的实现方法
  2. python moviepy textclip中文_用Python玩转视频剪辑,秀的飞起!
  3. 【转】Java中获取文件大小的正确方法
  4. linux6用户t密码,linux系统 用户和组管理类命令的使用方法
  5. Keras vs tf.keras: 在TensorFlow 2.0中有什么区别?
  6. Spring MVC + Hibernate + Maven:CRUD操作示例
  7. php画弧,php绘制一条弧线的方法
  8. 论文阅读之ALBERT
  9. java缓存内存泄漏_java – getMethod是缓存并导致内存泄漏
  10. MyEclipse:新导入一个项目时中文乱码
  11. 微信小程序api接口调用用封装
  12. 解决Xshell连接linux失败的问题
  13. 北京交通大学《机器学习》课程总结
  14. 浅析相机相关坐标系的相互转换(世界坐标系、相机坐标系、图像坐标系、像素坐标系、内参矩阵、外参矩阵、扭转因子)【相机标定计算机视觉】
  15. Facebook产品功能以及营销
  16. 443端口是什么,如何启用?
  17. 学渣的刷题之旅 leetcode刷题 58. 最后一个单词的长度
  18. Spring Validated分组校验
  19. Python3环境搭建——下载Python
  20. 城市景观生态规划概述

热门文章

  1. 华为任正非《一江春水向东流》读后感
  2. dnsmasq-ipv6测试
  3. PJzhang:今天才搞清身份证、银行卡……的编码规则
  4. 思维导图带你了解22个职场学习网站!亲测好用
  5. 教你如何简单快速有效的添加微信好友
  6. c语言基本变量类型以及其对应的占位符
  7. VR技术在数据中心3D机房中的应用(下)
  8. 怎么样开启移动热点?看我操作,简单开启
  9. PAT 1037 在霍沃茨找零钱
  10. 设置虚拟opc服务器,ifix建虚拟opc服务器(DCS通过opc读取ifix)