从硬核通知书到硬核毕业证,这些本科生带着自己设计的芯片毕业了

栏目:安全教育  时间:2022-12-04
手机版

  处理器芯片被称为芯片产业皇冠上的明珠,设计复杂度极高,难度也很大。在很多领域,国产芯片的占有率不到5%,需要有更多的力量发展国产芯片。芯片怎么开发?开源将带来哪些价值?如何培养关于芯片的人才?

  出品:格致论道讲坛

  以下内容为中国科学院计算技术研究所研究员包云岗演讲实录:

  大家好,我是包云岗,来自中国科学院计算技术研究所,今天来讨论大家都很关心的芯片问题。我的题目是《开源,让天下没有难做的芯片》。所以什么是开源呢?在这里我先卖个关子,待会儿再一起探讨。

  芯片是怎么来的?

  我们首先来看一看什么是芯片。我想可能很多人都见过下面这些芯片,比如左边的中央处理器CPU芯片,还有最近很热的人工智能深度学习处理器NPU芯片,以及图形加速处理器GPU芯片。

  ▲ CPU(左)、NPU(中)和GPU(右)

  但是,大家有没有见过下图中的芯片?其实这就是我们把刚才的芯片打开,放大几百倍以后所看到的模样。

  ▲ Motorola 68030处理器

  如果仔细去看,你会不会觉得每一颗芯片就像一座小小的城市,里面有楼房、马路和工厂?实际上,今天的芯片设计和城市规划是非常像的。

  在芯片领域里其实有很多种芯片,可以分成几十个大类,每一类里又会分为成百上千种小类。

  ▲ 各类芯片,其中右下角为处理器芯片

  国际上有个公司叫德州仪器(TI),这一家公司就生产八万多种芯片,所以芯片的种类是非常多的。

  ▲ 处理器芯片

  在这么多种芯片里,有一类叫做处理器芯片,它被称为芯片产业皇冠上的明珠。因为这类芯片的设计复杂度非常高,难度也很大。在大家使用的手机和电脑里,处理器芯片都是不可或缺的。但很遗憾的是,我们现在还需要大量地进口这类芯片,它的进口额占我国芯片进口总额的比例高达49%。

  ▲ 世界上第一台电子计算机ENIAC(1946年)

  处理器芯片最早可以回溯到世界上第一台电子计算机ENIAC。它发明于1946年,重达30吨,占地面积约170平方米。这个机器是怎么工作的呢?

  实际上,它用了大量的灯泡,也可以叫做电子管。整个ENIAC用了17000多个这样的灯泡。

  ▲ 电子管

  这些灯泡其实就是扮演开关的作用,灯泡亮的时候表示开,灯泡灭的时候表示关。这就等于二进制,用开来表示1,用关来表示0。

  ▲ 莱布尼茨的论文

  二进制的发明又要回溯到300年前。1705年,德国的数学家莱布尼茨发现,只用0和1也能够做加减乘除。7和6用十进制数可以加出13,而用0和1也能够加出13。所以,只用0和1就能够做各种各样的运算,这也是今天的计算机计算的基础。

  然而,用灯泡来做开关的计算机显然还是太大了,有没有办法能够让它小一点?在ENIAC发明以后,很多科学家都在想怎么能够做出更小的开关?

  在ENIAC发明后的第二年,即1947年,有三位科学家,分别是巴丁、布拉顿和肖克利,他们发现可以用一种半导体材料做出开关,叫做晶体管。

  ▲ 晶体管:开关元器件

  在不同的条件下,半导体可以是导电或者不导电两种状态,所以它能非常完美地起到开关的作用。这样的晶体管就可以被用来做电路。

  ▲ 集成电路:将电路集成在半导体底板

  在1957年,又有一位科学家基尔比,他把当作开关的晶体管和其他一些元器件例如电阻、电容,做到了一块板子上。这块板子下面就是一个半导体,也就是不需要像原来一样用电线把各种元器件连起来,而是用板子就可以连接。这块集成了各种各样的元器件的板子就被称为集成电路。于是整个电路变得更加小巧了。

  ▲ 芯片:将电路微缩集成到硅片

  再往后晶体管越来越小,集成度越来越高,今天甚至可以在一个指甲盖大小的芯片上集成上亿个晶体管,这就被称为是芯片。所以,当说到芯片的时候,大家可以把它理解成一种超大规模的集成电路。

  我们国家对于芯片进口是很依赖的,过去几年里,芯片一直是第一大进口产品。在2020年,我国进口了5000多亿个集成电路,进口额高达3500亿美元,远远超过了第二位石油的进口额1700多亿美元,以及第三位铁矿石的进口额(1189亿美元)。所以,国产芯片的发展依然任重道远。

  ▲ 芯片自给率低于5%

  在很多领域里,国产芯片的占有率还不到5%。所以,我们需要有更多的力量参与到国产芯片的发展中。

  处理器芯片是怎么开发的?

  前面讲了芯片的基本概念。那芯片、尤其是最复杂的处理器芯片到底是怎么开发的?

  首先我们需要一个指令集,指令集就是一种规范、一种标准。像右图中的螺钉和螺母,它们的直径就是一种规范、一种标准。大家约定好5个毫米的直径,不同厂商生产的螺钉和螺母就能够拧到一起。

  其实指令集也是一样,它是软件和硬件之间的标准和规范。不同的软件厂商和不同的硬件厂商只要遵循同一个指令集,软件和硬件就能够在一起工作。

  ▲ 指令集手册

  每一个指令集里会有上千条标准和规范,当我们把这样的标准规范放到一起就变成一本手册。大家可以想象一下,一个标准有点像一个单词,那么几千个单词放到一起就像一本词典。大家掌握这本词典之后,就可以写芯片的“小说”了。

  ▲ 设计:指令集手册→芯片版图

  芯片制造可以分为三个阶段。第一个阶段是设计,第二个阶段是制造,第三个阶段是封装和测试。

  我们先看看第一个阶段——设计,设计就是从指令集出发做成一个版图。中间要分成几个环节:我们需要做架构的设计,需要找工程师写很多代码来做开发,然后还要找一些工具——EDA工具,这是一种自动化的设计工具,来把代码变成版图。版图其实就是上亿个晶体管怎么摆放。

  这有点像是写小说,指令集手册就是一本字典,拿到这本字典以后,我们可以创作,有自己的想象空间。其实在芯片设计里,也赋予了我们很大的想象空间。

  ▲ 左:芯片版图 右:芯片产品

  当小说写好以后,它会变成一个电子文件,我们就可以去制造了。这就像小说写好以后去出版,找到一个出版商把小说印出来。所以,制造和封装测试就相当于小说的印刷,以及最后把印出来的文稿装订成一本书。只不过芯片的打印要比小说更复杂,因为它要把设计印到硅片上去。

  芯片新趋势——开源

  最近这几年出现了一些新的趋势,整个芯片的设计过程开始采用开源的方式。为什么会采用开源?开源到底会带来什么样的价值呢?

  开源是一种新思路,它把设计的所有源代码和文档都向全世界公开。可能有的人会想:“为什么要这么做呢?”

  其实,开源对于产业的发展有很大的意义。如果回看过去15年云计算、移动互联网、大数据、人工智能、区块链等新兴产业,它们的核心技术很多都是基于开源的。举一个例子,我们每一个人都经常会用手机APP(应用软件),而今天的APP几乎都是基于开源软件发展起来的。开源使得APP的开发门槛大大降低,三五个工程人员用几个月时间就可以快速地开发出一个APP。这也使得我们国家APP的数量特别多,从工信部统计的数据可以得知,2018年我国就有400多万个APP,让我国的互联网产业在全世界处于领先的行列。

  有人可能还会问:“开源把所有的秘密都公开了,那我还能不能活?企业还感不感兴趣?”我们从下图中可以看到,开源会让软件更加富有生命力。

  ▲ 从30年Linux的发展历程看开源生命力

  这是一个叫做Linux的操作系统,它在1991年开源,到今年正好30年。我们可以看到,在它诞生的时候还有很多其他的操作系统。这些操作系统和Linux最大的区别在于,其他的操作系统都由公司所有,而Linux操作系统是开放给全世界的,大家可以一起去维护它。30年后,所有其他公司的操作系统都逐渐淡去,唯有Linux这个开源的操作系统直到今天依然具有蓬勃的生命力。

  ▲ 92%的软件使用开源库

  通过一些统计我们也可以发现,在今天的软件中,超过92%的都在使用开源,包括开源的一些组件和开源的库。

  从另外一个角度来看,开源是能够超越国界的。当我们把所有的源代码和文档开源以后,就不会受到政治或者贸易战的影响。2020年7月8日,Linux基金会发布了一份中英文版的《了解开源科技和美国出口管制》的白皮书,声明开源技术不受出口管制。这也使得我们能够基于开源技术,去构建一个技术领域里的人类命运共同体。

  那么,芯片的开源为什么会受到这么多人的关注?为什么会成为一个新趋势?其实是因为我们今天面临着两个难题,第一个难题是一个新的时代——物联网时代到来了。

  物联网带来的最大需求就是芯片的种类特别多。物联网是什么?就是每个东西里都可能会嵌入一个芯片,它们都能够连上网。家里的空调可以上网,开关也可以上网,甚至一个杯子都可能上网。那么每个物件里都需要有芯片,这就导致芯片的需求量达到千亿量级。但是它们很碎片化,这该怎么去应对?

  ▲ 难题一:智能物联网(AIoT)的需求碎片化

  我们之前的传统方法,比如英特尔公司、ARM公司做芯片的方式已经没有办法去应对这么碎片化的需求了。因为如果它们要做的话,往往需要投入上千人才能够去做一款芯片。所以,我们需要有新的方法去做这种面向新时代——智能物联网时代的芯片需求。

  ▲ 难题二:芯片设计门槛高,阻碍产业创新与繁荣

  第二个难题是现在芯片的设计门槛越来越高。当我们要设计一款芯片的时候,很多人都说如果没有几千万、几个亿,就做不了一个芯片,这就导致一个互联网的创业公司和一个芯片领域的创业公司截然不同。互联网公司只要融到几百万美元,就能够做出一个很好的产品,但是在芯片领域往往需要融资到两千万甚至更高的经费,才能够做出一款芯片。

  这么高的门槛其实阻碍了产业的创新,导致很多优秀的人员虽然有想法,但是没有办法释放出来。所以我们就在思考,是不是可以借鉴开源软件的经验,来构建一个开源芯片的生态,降低门槛,让更多的人能够投入到这个领域里去。

  ▲ 开源软件(左)和开源芯片(右)

  大家从上图中可以看到,对于开源软件而言,我们要做一个APP,其实很多时候90%的代码都不需要重写了,可以在开源软件的社区和生态里获取。我们真正要做的就是10%,甚至不到10%的这部分与自己的业务相关的代码。这导致整个开源软件的门槛降了下来,这也是我们的目标。

  那么,芯片设计是不是也可以朝这个方向去做呢?我们希望能够在未来的十年,降低芯片设计的门槛。

  首先,能够让学生不再害怕做芯片。今天很多学生听说要做硬件和芯片,心里还是很紧张的。

  第二,能不能让本科生也可以带着自己设计的芯片毕业。当然,要让中学生、小学生也能设计出芯片我想这可能还有难度,希望未来有一天可以,也许需要更长的时间。

  第三,可以让小的团队去创办芯片创业公司,让做芯片像写APP这么简单。

  归根结底,我们希望未来能够让天下没有难做的芯片。

  那么,芯片到底如何开源呢?具体的方式又涉及到三个层次。

  前面讲到了指令集,这本字典如果是一个公司所有的,那就没办法做开源了。所以我们需要有开放的指令集。同时,我们可以有开放的架构和设计工具。所以开源芯片其实可以孕育很多设计的新方法、新流程以及新平台。

  指令集是其中很重要的一点,但很遗憾的是,过去几十年指令集都属于公司所有。这就意味着当你想要写一本小说的时候,这个字典并不是自己可以随便用的,一定要从一个公司里买到字典的授权才能够使用。这就导致我们失去了很多创新的机会。

  在2010年的时候,加州大学伯克利分校的几位教授发现了这个问题,他们提出了一个新的口号:指令集应该免费。如果指令集免费了,就可以全世界一起共同去构建一个开放、开源、共享、共治的新生态,带来很多新的机会。于是,他们创造出了开源的RISC-V指令集的雏形。

  这有点像今天的5G领域。5G领域里的标准和产品是分离的,有一个专门的组织叫3GPP,它来负责5G的标准制定。根据这个标准,各个企业可以做自己的产品,华为可以有自己的5G产品,欧洲的爱立信也可以有自己的产品。

  ▲ RISC-V国际基金会

  过去在芯片领域里并没有这样一种模式。而有了开放的指令集以后,这种新的模式就形成了。现在我们有RISC-V国际基金会,大家可以一起去制定标准,基于标准可以做各自的CPU产品。

  ▲ 左图:“平头哥+全志”产品 右图:美国SiFive公司产品

  在这样的模式下,谁的投入大,谁的贡献大,谁的话语权就会更多。而中国目前在RISC-V生态中的贡献正越来越大。

  “香山”与“一生一芯”

  最后,我想跟大家聊一些我们正在开展的开源芯片实践。

  首先是我们最近开发的香山,这是一个开源的高性能的处理器。我们希望它能够像Linux操作系统一样变成一个开源的主线,既能够被工业界广泛应用,又能够让学术界去做创新的想法。更重要的,我们也希望它能够像Linux一样,活上30年。

  ▲ 香山总体介绍

  香山是这个项目的名字,每个香山里都有它自己的架构,我们用湖来进行命名:第一版叫做雁栖湖(国科大校区所在地),第二版叫做南湖,就是嘉兴的南湖。香山到底以什么样的方式去开源?我们采用了木兰开源协议,这是我们国家自己开发的一个开源协议。

  香山是一个开源的项目,所以它的整个开发过程是向全世界开放的,每一个人都可以到网上去围观。

  ▲ 开发历程

  从2020年6月11日开始建立代码仓库到现在,已经有25位同学在上面开发了将近5万多行代码和400多个文档。

  ▲ 高性能开源处理器的吸引力

  在国际上,香山也可以说是仅有的几个高性能的开源处理器,它的性能可以接近ARM的高端芯片。所以,从它6月份开放以来,仅仅两个月就已经在全球最大的开源社区托管网站GitHub上获得了2000多个星标,这在开源项目里是非常难得的一种表现了。

  我想更重要的是,它的开放还可以带来更多企业的合作。在开源软件领域里,成千上万个开发者一起来开发一款软件,这已经有很成功的经验。但是在芯片领域里能不能做到呢?这还需要摸索,在过去还没有这样的案例可以参考。所以香山可以作为一个摸索的案例。在过去的几个月里,也有很多的企业参与进来,一起联合来做一个处理器。

  其次我想谈一下芯片的人才培养:是不是可以用开源芯片来帮助我们去做人才培养?这就是我想向大家介绍的“一生一芯”计划。

  ▲ 左:一作国籍 右:毕业去向

  这个计划起源于2017年的一次调研,当时我们调研了十年间国际会议的论文的发表情况,一共有483篇论文,分析了第一作者的情况。最后的结论是85%的第一作者都在美国,在中国的只有4%,中国和美国之间有20倍的人才差距。

  所以,我们今天之所以被“卡脖子”,归根结底还是人才的差距,芯片设计领域里的人才是严重不足的。我们也在思考,怎么能够加速人才的培养。最后的想法是,可以把开源芯片的门槛降低,让学生能够真正地做一个芯片,这样可以让学生更好地把知识融会贯通。于是,我们就启动了“一生一芯”计划,让本科生可以设计一个自己的芯片,最后把它给做出来。

  第一期“一生一芯”计划在2019年8月份启动,有5位同学加入。经过4个月的高强度的开发,他们最终完成了一颗芯片,叫做“果壳”(国科大的昵称)。

  ▲ 果壳(NutShell)

  这是一款功能完整的64位CPU的芯片,基于国产110纳米工艺完成流片。

  这是同学们在2020年6月2日毕业答辩的时候展示他们设计的芯片,这个芯片可以成功地运行Linux这样的操作系统。

  ▲ 左:“龙芯” ,右:国科大“一生一芯”

  最终,五位同学实现了他们的目标,走完了从“超硬核录取通知书”(龙芯)到“超硬核毕业证书”(一生一芯)的历程。

  ▲ 左:第一期:5位学生 成本:5万/人

  中:第二期:11位学生 成本:2万/人

  右:第三期:100位学生 成本:<1万/人

  从2019年到现在,“一生一芯”计划已经开展了三期。今年的第三期我们的目标是100位同学加入,并且希望把成本降到每一位同学不到1万元人民币,这是很有挑战的事情,但确实也是可行的。

  ▲ 第三期“一生一芯”计划报名情况

  (截止到2021年7月11日)

  第三期的实际报名情况远远超出了我们预期,有来自139所大学的超过600位同学报名参加。这些同学现在已经经过了大半的历程,我们希望“一生一芯”计划能够让他们拥有人生的第一颗自己的芯片。

  经过过去几年的努力,我们已经实现了两个阶段,至少让一部分学生不再像原来那么害怕做芯片,也实现了让本科生真的可以做出自己的芯片,可以带着自己设计的芯片毕业。但是未来的路还很长,还需要更多努力。

  在这过程当中,我要感谢我的团队,感谢很多支持我们工作的前辈以及实验室。我的分享就到这里,谢谢大家!

  “格致论道”,原称“SELF格致论道”,是中国科学院全力推出的科学文化讲坛,由中国科学院计算机网络信息中心和中国科学院科学传播局联合主办,中国科普博览承办。致力于非凡思想的跨界传播,旨在以“格物致知”的精神探讨科技、教育、生活、未来的发展。获取更多信息。本文出品自“格致论道讲坛”公众号(SELFtalks),转载请注明公众号出处,未经授权不得转载。

  举报/反馈

上一篇:新祥旭:清华大学深圳国际研究生院23年保研推免报名通知
下一篇:大裁员,不是学历无用,是你学历不够用!

最近更新安全教育