大参考

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2311|回复: 1

纯科学:网上最权威的芯片战分析——反芯片制裁战略研究

[复制链接]
发表于 2023-3-29 00:19:32 | 显示全部楼层 |阅读模式
  仅以此文献给伟大的芯片专家和科技创新企业家戈登·摩尔。

  致敬,逝去的摩尔和即将逝去的摩尔定律。

  本文核心观点和结论是:美国对中国发起的芯片战,是在一个错误的时间、错误的领域、向错误的对手发起的错误的战争。

  我曾在“《长津湖》及抗美援朝的军事科学解读”一文中系统地指出:中国人民志愿军之所以能用相对劣势的装备战胜优势装备的美军,一个关键性的原因是朝鲜半岛普遍山地的地形,而我人民解放军从建立的一开始就极为善长山地作战。志愿军最为充分地利用了朝鲜半岛的崇山峻岭,加上夜战,这些对美军造成了最大程度的能力限制。这有效地逆转了双方武器装备的差异,并使我军其他逆天的战略战术和素养(穿插、能聚能散、水银泄地、三三制与勇敢牺牲精神等)得以充分发挥。我们可以设想一下,如果当年抗美援朝战争是发生在当今俄乌战争一马平川的战场,结果会是如何?志愿军还能否战胜美军?这个问题可能是要打一个问号的。当年63军为什么要死守铁原,15军要死守上甘岭?因为一旦失守,后面上百公里就是“一马平川、无险可守”。“抢占有利地形”,避免“无险可守”,这些是我人民解放军近乎本能的战术概念和反应。即使在平原地带,我军也可以通过挖地道而获得巨大优势。但这个只能作为防御手段。如果在一马平川的平原上,能打出五次战役里双方几十万人规模的围歼作战吗?这更是要打一个大大的问号的。

  2000年前,甚至2010年前,摩尔定律高度有效,所以芯片领域可以说是一马平川,美国芯片企业可以说是一路狂飙突进,中国公司在没有能力从美国获得充分芯片技术资源共享前提下是难以对抗的。但在今天,随着摩尓定律逐步遇到越来越多的极限,相当于逐步进入了越来越多崇山峻岭的地形。这就是在目前这个阶段美国发起全面的芯片战争,中国为什么可以用相对劣势的技术打败美国最优势技术的客观条件所在。

  本文目录:

  一、我的学术态度——追求卓越和原创

  二、对摩尔定律的深度讨论

  三、CPU位长及64位极限

  四、时钟频率(主频)及9GHz极限

  五、指令集与计算架构

  六、存储结构对计算性能的影响

  七、片内多核与阿姆达尔定律

  八、其他计算能力堆叠技术

  九、其他影响计算能力的技术

  十、中国芯片战制胜之道

  一到五为上篇,六到十为下篇。

  一、我的学术态度——追求卓越和原创

  本文准备了很长时间,正准备写的时候突然见到网上传来人类芯片发展历史上最伟大的人物之一戈登·摩尔离世的消息。摩尔是一位对整个人类芯片技术历史发展有着举足轻重作用的人物,是我们这一代人心里的大神之一。尽管美国现在正在对中国全面地展开芯片战,尽管以他的名字命名的著名摩尔定律正在逐渐失去作用,也丝毫不影响我们对摩尔个人的高度尊敬和怀念。一个时代正在结束,可以用有人评价林肯的话来评价他:当一颗大树倒下的时候,才能准确丈量它的高度。

  为什么要用“网上最权威”这样不谦虚的说法?先参见我以下最权威文章系列:

  网上最权威的人工智能分析

  网上最专业的VR分析文章

  资深IT人详解什么是“元宇宙”——细说历史上那些“什么都不是”的概念

  战略决战:中国科技如何领导世界——最权威分析

  中国人的文化中有“谦虚是最大的美德”说法,但我要告诉你在当今的时代,“谦虚是最大的缺德”。为什么?

  首先,在需要中国人大量地与西方人打交道的时代,你谦虚的话,别人不会认为你有美德,而只会认为是你真的没本事,真的不行,真的应该被人看不起。

  其次,对于创新来说,如果不是“世界上最”的东西,能叫创新吗?所以,“最”是今天的中国学术界和科技界必需具备的、最起码的参与游戏的资格。如果你不是“世界最”的东西,有什么资格搬出来说事?纯属浪费社会资源和别人的时间。因此,谦虚往往成为学术体制内的庸人无所作为混日子的保护伞。“我们与世界先进水平还有很大差距”“追赶世界先进水平还需要几代人的努力”……这话听起来很规矩、让别人没话说,但事实上的作用就是“无论我做成什么样,你都别有意见。即使我占用了国家大量资源,也不需要做出世界最领先技术水平的东西”。

  我们看到国外很多企业,依靠非常领先的技术,在公司介绍里一开头就是自己是某某领域国际领导性的企业,拥有什么世界最领先的技术。但中国公司就不被允许这么说,也不允许这么想。中国的广告法里就一刀切地全面禁止说“最”“第一”。即使中国公司真做出了世界技术最先进的东西,也不允许说出事实情况。过去这么规定是有合理性的,因为过去中国的确在技术上差太多,随便去说“最”往往事实就是吹牛和欺骗。但今天已经完全不一样了,中国公司已经有大量世界最领先的技术,为什么不允许说?只要有充分的客观科学证据(第三方检测报告等),展示它们不行吗?要想做出世界上技术水平最高的产品,当然是要投入大量研发费用的。可是你长期费尽心力和投资、还可能失败的风险,去做出世界上技术水平最高的产品时,却被法律禁止说出事实来。你不说出来客户怎么知道?客户不知道你怎么能卖出好的价格?你卖不出好的价格怎么能收回巨额的研发投资?收不回投资,谁会愿意去做从0到1的、原创的工作?中国公司只被允许说价格更低,一切商业环境都是在比拼价格。但在美国却没有对“最”“第一”的任何禁止。他们甚至把技术上“最”“第一”当成一个企业可以立身于市场的最基本资格、最起码的要求。美国企业说他们的产品技术是世界上最好的基本上是习惯性的,而中国企业做出了世界上最好的产品技术如果说出来却是非法的。何止是毒教材,今天的中国在思想上、法律上、文化上、教育上、学术标准上……被渗透、控制和封锁得有多么深、多么广?

  IBM官网上对自己技术的宣传语“世界上首个……”“密集程度首屈一指”。按中国的广告法,这涉嫌违法吗?如果他不说,客户怎么知道他是第一个做出来的、世界上最领先的产品技术?

  中国公司有没有世界上最好的技术?多得是。因为我专门研究和支持中国的原创技术,所以有很多中国拥有原创技术或世界最领先技术的公司会与我联系。苏州有一家公司苏州恒兆,开发了世界上能量效率最高的空调,远远超过其他国内外友商。现在根据中国空调能效的分级,最高的是1级,能效是5,但苏州恒兆可以做到6.5。另外,苏州恒兆还开发了完全不用安装的空调,很不好意思,世界首创,美国、欧洲、日本都没有,不仅是“最”,而且是目前全球具备“唯一性”的产品技术。怎么办?允许说是“世界技术最先进的空调”这个客观情况吗?

  苏州恒兆不用安装的空调。基本原理其实也不复杂,它是将反向的热量储存在机器内的水箱里。

  北京有一家高科技企业北京美尔斯通,开发了超导磁测量技术,其灵敏度达到世界最高。它的灵敏度高到多少呢?如果装在飞机上可以探测到水下很深处游动的鱼。实在不好意思,其技术水平远远超过美国,欧洲、日本根本就没有同类技术。这些实际情况可以说吗?

  美尔斯通创始人米旺先生。

  以美尔斯通超导磁测量传感器为基础开发的心磁仪。

  芯片被封锁是很小、很小,小到几乎可以不值一提的小事情。真正的问题和障碍是我们所有人都在高喊要创新的同时,却在思想、文化、法律、教育、学术标准和商业模式上,对中国企业、工程师、学者们、投资者们原创性工作自己人为设置一道又一道封锁线。在这种情况下,能去简单责怪中国人不做原创吗?

  最后,“谦虚美德”往往成为压制年轻人创新的最大思想枷锁之一。已经成为学霸的人,当然可以说话非常谦虚,因为他有谦虚的资格。无论他再怎么谦虚,说自己水平如何有限,因为他的地位在那里摆着,他说什么别人都得听。你一个功成名就的人可以这样,但也要求年轻人必须谦虚,不能说,即使做出了世界最领先的东西,也绝对不允许说出来。历史上,大量世界最领先的东西往往就是年轻人做出来的。谦虚,是压制中国科研创新环境的最大文化障碍和思想枷锁之一。

  抱持学习的态度肯定是很重要的,客观地展示和要求做出世界最领先的东西绝对不是简单心态上的张狂,而是客观。我想说的是:我总是以“网上最权威”这样的目标来要求自己,要写就写这种水准的文章,尽管真的可以谦虚一下未必都能做到。但取发乎上,可能得乎其中,而取发乎中,就只能得乎其下了。

  在前一篇“中美大变局已经到来”文章中(该文1.6万字),有一位叫“PL人生”的网友留言建议说“公众号的文章请力求做到短小精悍,观点鲜明”。

  我回复他“非常感谢您提出的意见。为了方便读者阅读,我很早就开始用语音方式提供阅读便利。事实上,只要通过复制链接,用科大讯飞等软件也可以进行语音阅读。但有很多老人不懂这些软件的使用,所以我的每篇文章都提供了语音。但是,我写文章从来不在观点和论述方式上照顾读者,因为所有遵从照顾读者传播学规律的文章基本都是迎合和忽悠读者。我是要给读者真正的知识和分析问题的方法,如果不想接受这一点,就不要读我的文章。我不想去迎合和忽悠读者,更不以提升粉丝量为目的”。

  一切短小精悍,观点鲜明的文章,必然会导致误解。如果你只是简单地、观点明确地说“中国会超过美国”,各种各样的误解就会铺天盖地而来。有人认为,这是振奋人心(我的目的不是要简单地振奋人心,而是要指明今天这个时代的中国应该干什么);有人会认为,这是民粹主义(我不是鼓动民粹,而是要中国人明白今天自己的责任和新时代需要掌握的第三代科学思维方法);有人认为,这是狂妄自大(我不是要人们单纯享受中国领先的自豪感,而是要人们充分意识到时代对今天中国人的全新召唤,今天的中国人面临的全新历史使命)……然后你又得一个一个地去深入解释,来回斗嘴争吵,最后篇幅不仅更长,而且导致大量散乱的、只是各自加深自己固有陈见的观点和难以消除的误解。人们听到的很多格言式的非常精彩的警句,表面上看起来很漂亮,实则空无一物。因为担心被误解,也只能说得空无一物,从而尽量不让人抓住把柄。因此,只有系统地阅读一些逻辑完整,论述完备的文章,才有可能真正提升自己的知识和分析能力”。

  但就是这个“不照顾读者”的1.6万多字长文,发表以后却在网上以每小时10万+的阅读量迅猛增长,两天不到今日头条上的阅读量居然突破300万。

  本文不仅是希望普通读者、政策制定者有所获益,而且能让专业的、甚至是资深的芯片和信息技术领域人员也能有所获益。

  二、对摩尔定律的深度讨论

  请读者注意我文章名称中说的是“芯片战分析”,不是说芯片技术分析。对芯片技术,我不能说权威。如果这么说,肯定就有人要挑战“那你怎么不去做芯片?”。本文将给出大量在其他文章中极少见到、相对硬核的内容,去解决一个很重要的问题:人们都会天然地认为,芯片技术越先进,芯片线宽越细,技术水平越高,集成度越高,晶体管越多,性能就越强。这个好像是天经地义不用说的事情。但如果要问:为什么它会是这样呢?能给出系统完备的、精确的解答吗?这个可能就算是这个领域的专家也未必都能说得清楚和完备。但这个问题如果说不透彻,就很难理解今天的芯片技术客观现状是什么,以及它未来将如何发展。同时也难以准确理解芯片战的结果走向如何。

  “摩尔定律”是有3种表达方式的:

  (1)   芯片上所集成的晶体管数量,每隔18个月翻一番。

  (2)   CPU的性能每隔18个月提高一倍,而价格下降一半。

  (3)   用一美元所能买到的计算性能,每隔18个月翻两番。

  上面三种表达方式在过去被认为是一样,或者说是“等价的”。但本文要告诉读者的是:它们之间有很多细微、在今天影响越来越大的本质差异。因为计算性能提升的比例与芯片上集成度的提升比例并不完全是一回事情,它涉及到很多影响因素。这些因素在过去一个一个发生了本质变化,导致最终芯片以及整个系统的性能提升速度越来越慢。摩尔定律遇到极限,并不仅仅是芯片线宽最终遇到量子效应难以再缩小、从而集成度难以再提高,而是很多其他影响计算性能的因素,早就一个一个遇到极限了。

  在前面“中美大变局已经到来”一文中,其实已经简单提到一些相关问题,但在篇幅已经很长的该文中很难展开,本文就系统地把这个问题谈清楚。影响计算性能的因素综合起来有如下这些:

  (1)  CPU位长

  (2)  时钟频率(主频)

  (3)  指令集与计算架构

  (4)  存储结构

  (5)  片内多核与阿姆达尔定律

  (6)  其他计算能力堆叠技术(3D集成、ChipLet、二次集成、板上多CPU、多计算板卡、多机柜、MPP、计算机集群等)

  (7)  其他,如用带宽和存储换计算性能,从算法上降低计算量等等。

  请注意以上分类相互之间有可能存在部分重叠之处或相互影响之处,以下我们就一一做出解释。

  三、CPU位长及64位极限

  首先体现芯片性能的是CPU位长。最早出现的CPU是INTEL的4004,它是INTEL的工程师特德·霍夫开发的,这个是4位的CPU。后来CPU位长就不断地升级,每次升级翻1倍。以下是CPU位长的发展情况。
  要首先强调下,以上数据只是按INTEL的CPU来说的,历史上的CPU芯片当然是有很多的,甚至还有摩托罗拉曾开发过24位长的怪异CPU,如68000系列和56k系列DSP。4004是INTEL最早开发出来,但其他各代并不一定都是INTEL最先推出。甚至于,中国的沈绪榜院士在1977年就开发出了16位的CPU,比INTEL还早一年。

  2010年4月18日,我去参观硅谷INTEL博物馆

  第一个CPU芯片4004

  4004芯片实物及介绍。这个小芯片的计算能力已经超过了占用整整一个房间的第一台电子计算机ENIAC。

  对16位CPU8086及8088的介绍

  现在要问这样的一些问题:为什么CPU位长更长,性能就更高?CPU位长更长性能就一定更高吗?64位CPU可能是终级的CPU位长,为什么?

  如果要处理的数据是30位,并采用16位CPU来处理,那么至少就得分两次才能把数据送到CPU里去处理。但如果采用32位CPU,只要一次送进CPU就处理完了。这就是为什么CPU位长越长,处理速度就会越快的简单原因。但是否CPU位长越长,处理速度就一定更快呢?不一定。

  最初开发的4004只有4位,要处理的数据位长几乎100%都会超过这个长度。所以,当开发出8008时,因为CPU位长提升了1倍,数据处理性能就会直接提升1倍。如果处理的数据位长低于CPU位长,无论其位长多么短,你都得使用至少一个CPU的周期去进行处理,这样CPU的位长增加就对提升性能没意义了。当CPU位长不断提升时,超过其位长的数据比例就会越来越低。如果超过其位长的比例是50%,CPU位长增加1倍带来的性能提升就不是1倍,而可能只有25%甚至更低了。

  从目前来看,64位CPU是终极的CPU位长。得出这个结论需要一个前提假设:被处理的数据位长是受限的,并且极少会超过64位。为什么说它是一个假设呢?因为我们肯定不能说需要处理的数据位长一定不会超过64位,它肯定会是无限的。但从现实世界来看,被处理的数据位长不会太长。超过一定限度的数据,其数量占比会越来越低。为什么会这样?这个直接理解起来可能会有些模糊,我们就先举一些实际例子来说明。

  2000年时曾有一个很著名的信息领域问题,叫“千年虫”。这是因为20世纪信息技术发展的初期,为节省当时极为宝贵的信息存储、处理和显示的资源,就把年份的数据只用两位数表达。例如1960年3月24日是表达成60年3月24日。两位数最多表达的年份是100年,然后就重复了。所以,这个问题其实最准确地说应该叫“百年虫”。在2000年以后,年份就改成4位数表达了。但这样做就没问题了吗?并不是,而是潜在了一个“万年虫”问题。因为当年份用到9999年时,下一年就会重复回到0000年、0001年……2000年……2023年对不对?但我们需要担心这个问题吗?并不需要。因为电子设备的最长使用时间会长到几十年,软件使用时间会更长一些,但也不应该超过100年对吧?所以很多电子设备硬件和软件在上个世纪真会跨越到2000年时出现问题,但对万年虫我们并不需要担心。一个它是7970多年以后才会出现的事情,有太充分的时间来提前准备。另一个到那时的技术会远比今天发达太多了。所以,百年虫真是一个问题,而只要位长增加两位形成的潜在万年虫就不是一个问题了。

  再以货币来举例,有些国家的货币因恶性的通货膨胀可能形成极低的币值,买一块肥皂都可能要100万亿亿元,这会造成表达货币的数字符号很长的位长(19位十进制符号表达100万亿亿)。但如果这样,往往人们就会发行新的货币,把位长降下来。例如,新货币的1元会等于老货币的10万亿亿元,从而上面的100万亿亿元就变成新货币的10元了。这就把原来的数字19位长度变成只有2位长度了。

  从以上分析我们就可总结出信息位长有限性的两个基本原因:

  一是信息表达的经济性,使人们会尽量采用更短的位长来满足要求。

  二是位长的增长带来的信息空间增长是数量级的。越到后面的位长增长,带来的信息空间增加会是前面位长增长的数量级倍数,使得满足实际需要的能力数量级地增大。指数增长的能力会很快超过一般只是线性增长的实际需要。

  下面我们再来谈一个更为硬核的科学因素,就是科学测量数据的不确定度水平限制。一切科学测量数据最终都是建立在七个基本的国际计量单位基础之上。其中在不确定度技术水平上最高的是时间单位,因此其他计量单位(长度米和重量kg等)都逐步地最终以自然界的常数(光速常数、普朗克常数等)和时间为基础来进行定义,最终一切科学测量数据的最好不确定度也都取决于时间计量。时间计量单位1秒是等于铯133两个超精细能级跃迁对应辐射频率的9192631770个周期的持续时间。这个定义还是1967年就实现的,它有10位有效数字。后来随着时间测量技术的不断进步,其不确定度上的技术水平越来越高。2017年中国计量科学研究院的NIM5铯原子喷泉钟,其不确定度达到9E-16水平,这个时间测量数据会有16位有效数字。目前最高水平的光原子钟不确定度接近1E-18的水平,这个会有18位有效数字。这种技术水平的原子钟如果从138亿年前宇宙大爆炸开始运行,到现在偏差也不会超过1秒。未来当然不排除还可能会有更高水平的时间测量技术出现,但可以看到,至少目前19位长度已经是当前一切科学数据最大极限长度。64位CPU位长用于科学计算时,足以解决几乎所有科学测量数据的一次性处理。从工程应用上来说,这个不确定度水平的测量数据不要说是去火星,就是进行银河系的星际航行其精度也足够用了。这是位长有限性的第三个很硬核的原因。

  第四个原因是采用量纲对数据位长的简化。前面内容可能有网友会有疑惑,为什么不确定度是1E-18,最大有效数字就是最多18位呢?比如说有一个科学数据不确定度是1E-6,有效数字是6位。可是实际的数字可能是远远多于6位啊?比如12,345,600,000,000,后面8个数字因为已经在不确定度以下,可以直接写成零,写别的数字没有意义。这个不是14位长度,远超过6位了吗?的确如此,但科学中会采用量纲来简化这个问题,一般遇到这种情况,不会像上面那样直接表达,而是写成123456亿,或者12345.6G。通过k、M、G、T……等量纲,可以大幅度缩短数字的位长。

  网友还可能会有一个疑问:IPv6地址不是128位吗?采用IPv6的路由就不需要128位CPU吗?回答是不需要。以IPv6最主要的单播地址规划为例,它是将128位地址分成前面的64位网络前缀和后面64位的接口标识。在网络上不同的区域,会分别使用网络前缀和接口标识进行路由。所以一般最多只需要64位地址路由,而不需要同时处理128位地址。

  64位二进制信息的空间,换算成十进制可达19位长度(1845亿亿)。我们当然不会说实际要处理的信息一定不会超过这个范围,但从现实世界信息看概率会是千分之一,甚至万分之一以下的程度。

  如果超过64位的数据量只占极少数量,仅仅为这一点数据就去开发128位CPU的话,需要来比较一下如下两种方案的优劣:

  一是直接采用128位CPU,其占用的晶体管数量简单来说可能就是64位CPU的两倍。

  二是如果用同样数量的晶体管,同样的芯片生产技术,在一个芯片上做两个64位的CPU。

  上面两个方案哪一个更好?因为99.9%以上的数据都是64位以下的,因此两个64位CPU获得的最终性能肯定会好过一个128位的CPU。这就是为什么64位CPU很可能是终级位长的根本原因所在。32位CPU可直接访问的内存地址空间是4G,这个还是非常受限的。而64位CPU可直接访问的地址空间,目前最高性能的INTEL公司的CPU仅利用到128G,远远没有开发完。

  从2001年出现64位CPU至今20多年过去,2022年全球网络数据总流量为799EB,同比增长为21%。64位CPU可直接管理的地址容量已经与全球互联网总流量只差1个多数量级。

  所以,当年在32位CPU还没推出来时,就有人在讨论128位CPU的开发问题。可是后来慢慢没人提了。

  以上讨论说明了什么呢?就是从提升CPU位长角度来提升芯片性能的方向,最初是非常有效的。但位长越长,这个方向带来的实际效果越低,并在2001年实现64位CPU以后就达到极限,无法再提升了。因此,摩尔定律从那时候起其实就已经开始减慢。

  2005年4月18日,中国科学研究院计算技术研究所发布了龙芯2号,这是中国第一款64位CPU芯片,这比INTEL晚了4年。此后越来越多的中国公司开发出各类64位的CPU芯片。

  小名“狗剩”的龙芯2号

  因为64位是终极的CPU位长,所以仅从CPU位长角度说,2005年以后中美技术水平就拉平并且可说是永久性地被拉平了。当然,CPU位长只是决定芯片和计算性能众多因素中的一个,这个技术被拉平当然不会使所有技术水平都拉平。但下面你会看到,一个接一个的技术因素,因为摩尔定律接近极限而被一个接一个地拉平了。

  四、时钟频率(主频)及9GHz极限

  芯片进行计算是在时钟频率控制下进行的。无论芯片的逻辑是什么,一个CPU在一个时钟周期里,最多就只能进行一次处理。即使完全相同的晶体管数量,完全相同的逻辑电路,如果时钟频率提升一倍,计算速度当然就会提升一倍。如果你把时钟降到1Hz,无论多么强大的芯片,它1秒钟也就只能做1次计算而不是上亿次。开发单板机的人在调试电路或软件时候,会有人工控制的单步运行方式,让你可以看到每一个时钟周期运行的结果是什么。此时电路性能就完全受人工的控制了。

  如果自己攒过机的人就会很清楚一件事情:通过“超频”(把主板的时钟频率人为设置到高于CPU标称值)可以提升芯片性能。时钟频率提升多少比例,简单来说计算性能基本上就可以提升多少比例。相当于用较低的价格买到了更高价格的芯片。还有一个概念叫“睿频”。“超频”是装机的时候人工地把主频设置得更高,而“睿频”是在计算机启动稳定之后,自己自动地把时钟频率提升,从而自动提升性能——让你超还不如我自己超。不管具体技术是什么,总之要理解到时钟频率对计算性能的基础性决定作用。

  当年INTEL的8086的主频才4.77MHz。后来CPU的主频从早期的几MHz、十几、几十、几百MHz,一直持续稳定增长,逐步发展到超过GHz的水平。如果是与当年8086完全相同的逻辑电路,能够换成现在4.77GHz的主频,其计算性能可以直接提升1000倍。可是,当主频接近9GHz后,这已经是微波波段,因为半导体电路本身的物理限制,其增长就停止下来了。

  2001年,INTEL的第一个64位CPU Itanium1的时钟频率为1.5GHz。

  2012 年,AMD FX-8350 创造了 8794.33MHz 的主频记录,后来就再也没超过。

  英特尔的Raptor Lake-HX将在CES 2023上亮相,包括Core i9-13980HX,这是迄今为止最快的笔记本电脑CPU,拥有24个内核,32个线程。其主频为5.4GHz。超频者可以将 i9-13900K 超频至 8812.85MHz,与10年前AMD创造的记录持平。但9GHz基本就是极限了,极难被现在的硅半导体技术超过。

  以下是目前INTEL市场上主流CPU的主要技术指标。主频从2.5GHz到5.4GHz。

  所以早在2010年时,从主频角度提升计算性能的方向也遭遇极限。摩尔定律再下一个台阶。

  2019年12月24日,龙芯发布的新一代通用处理器3A4000/3B4000,其主频为1.8 GHz -2GHz。2022年6月6日,龙芯发布3C5000,主频 2.1 GHz -2.3GHz,定位于服务器CPU。这些主频相比INTEL还是差一些,但也差不太多了。关键是:INTEL的CPU主频也就只能那样,停滞在那里,静静地等待被龙芯和其他中国研发生产的CPU追上。人们只关注到美国人在为中国芯片设置了封锁线A,但没几个人(包括美国政客们)会知道:美国人自己也被设置了更强的、理论和技术上都不可能突破的封锁线B,但A线却是技术上可以突破的。因此,美国公司是生活在两道封锁线A、B之间,这个空间必将越来越狭窄。

  更离奇的一个事实是:千万不要以为A线只是锁住了中国人,美国公司是要靠中国市场活下去的,也就是必须要通过A线运送吃喝给养。如果你把A线彻底封死了,饿死的不是中国公司,而是美国公司。美国制裁的制空权轰炸的主要不是中国的后勤补给线,而是“美军”自己的后勤补给线,想明白了吗?

  五、指令集与计算架构

  很早就有精减指令集(RISC)与复杂指令集(CISC)的区分。这两个技术路线的基本逻辑是这样:

  精减指令集RISC是减少指令集的复杂度,从而精减CPU的逻辑电路,把节省下来的空间用于增加片内寄存器或高速缓存的数量。精减指令集以后可能会有什么结果呢?某些计算可能在复杂指令集(CISC)的CPU中一个指令就完成,而在RISC的CPU中,可能需要多个指令来完成。这怎么还能提升效率呢?这就涉及到后面将详细讨论的存储结构对计算性能的影响问题。此处只简单提一下CPU内的寄存器或高速缓存可以显著加速计算性能。如果这种加速的程度超过因精减指令而增加的指令执行数量,总体性能就可能是提升的。那如果加速的程度不能超过后者呢?就不一定了。还有一个问题,随着集成度的提高,采用复杂指令集的CPU也可以同时增加片内寄存器和高速缓存的数量啊?所以,这两种相互矛盾的思路到底最终作何选择,是需要根据实际信息处理的具体情况,进行仔细评估后才可做出更好的选择。

  因此,按照复杂指令集的思路,是深入针对一些具体信息处理需求进行指令的优化。

  专用数学协处理器。这个在80386时就出现了,这个CPU中另外集成了一个80387数学协处理器,专门针对浮点数学运算进行指令优化。这个可以使数学运算比通用处理器快上百倍。当然,这个同时又具有了多核与并行处理的特点,后面对此也会专门讨论到。

  图形处理器GPU。这个最初是用于显卡上专门进行图形图像处理优化的。这种优化并不仅仅是处理图形图像数据时更好,而且由于对大数据量的并行处理和数学计算都进行了优化,所以后来GPU在开发巨型机和人工智能芯片时都有很好的表现。它对各种有大数据量并行处理和数学计算的业务都有较好的性能表现。

  指令流水线。最初的计算架构是著名的“冯·诺伊曼”型架构,也就是串行架构。这种架构是速度最慢的。但一个指令本身就需要多个操作步骤,如:取指(从内存中提取指令)、译码、计算操作数地址、取操作数、执行指令、写操作数等。如果把一个指令执行的不同串行步骤分拆开,每一个步骤都交由专门的电路来执行,这样在前一个指令走到下一个步骤时,下一个指令就可以开始第一个步骤了。这相当于把本来是串行的指令执行过程变成半并行的。而不是一定要等一条指令执行完了才开始下一条指令的执行。这样就提升了计算性能。

  为什么要叫“流水线”呢?它和工业生产中的流水线原理上的确就是有高度相同之处的。

  平板电视生产流水线

  工业生产流水线就是把多道工序在流水线上进行分工,不同的生产工序交给不同的专业生产环节来进行。这样在生产线上就可同时进行大量的产品并行生产,极大提升了生产效率。

  另外还有超标量流水线,超流水线等,都是在流水线基础上的改进,此处就不再深入讨论。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| 发表于 2023-4-6 19:14:14 | 显示全部楼层
  接上篇

  谨以此文献给伟大的芯片专家和科技创新企业家戈登·摩尔。

  致敬,逝去的摩尔和即将逝去的摩尔定律。

  本文目录

  一、我的学术态度——追求卓越和原创

  二、对摩尔定律的深度讨论

  三、CPU位长及64位极限

  四、时钟频率(主频)及9GHz极限

  五、指令集与计算架构

  六、存储结构对计算性能的影响

  七、片内多核与阿姆达尔定律

  八、其他计算能力堆叠技术

  九、其他影响计算能力的技术

  十、中国芯片战制胜之道

  一到五为上篇,参见:网上最权威的芯片战分析——反芯片制裁战略研究(上),六到十为本文下篇。

  六、存储结构对计算性能的影响

  讨论计算技术时,人们最关注的核心点总是各种计算架构,各种新型的处理器。所以,网上的各种计算架构和新型处理器类型风起云涌,多如牛毛:

  CPU,中央处理器。

  math co-processor,数学协处理器。

  FPU,Floating Processing Unit,浮点计算单元。

  DSP,数字处理器。

  MPU/MCU,Microprocessor/Micro controller Unit,微处理器/微控制器。

  GPU,图形处理器。有些文章中写成图像处理器,这个从专业角度是有些偏差的。图形Graphics与图像Images是有区别的。前者是计算机生成的,后者是通过摄像头获得现实世界的照片。图像处理器有专门的名称在下面。

  IPU,图像处理器。

  TPU,Tensor Processing Unit, 张量处理器。它是谷歌专门为加速深层神经网络运算能力而研发的一类芯片名称。

  NPU,Neural network Processing Unit,神经网络处理器。

  BPU,Brain Processing Unit,大脑处理器。

  DPU,Deep learning Processing Unit, 深度学习处理器。

  DPU,Data Processing Unit,数据处理单元。和上面一样的名称,含义却不一样。上面的DPU是一种AI类的芯片。而这个DPU主要是用于各种网络接口I/O处理。

  APU,Accelerated Processing Unit, 加速处理器。

  HPU,Holographics Processing Unit,全息图像处理器。这个是由微软给起的名字。

  GP-HPU,General Purpose Hyper-heterogeneous Processing Unit,基于超异构计算的通用处理器。

  RPU,Radio Processing Unit, 无线电处理器。

  VPU,Vector Processing Unit 矢量处理器,Intel收购的Movidius公司推出的图像处理与人工智能的专用芯片的加速计算核心。

  WPU,Wearable Processing Unit,可穿戴处理器。

  XPU,百度与Xilinx公司在2017年Hotchips大会上发布的FPGA智能云加速,含256核。

  XPU,X Processing Unit,X处理器。这个与上面名字相同,含义差别很大。这个是泛指各类处理器。

  ZPU,Zylin Processing Unit, 由挪威Zylin 公司推出的一款32位开源处理器。

  DSA,Domain Specific Accelerator,域专用加速器。

  从APU到ZPU,英文字母快用完,并且都产生一些重复了。

  以上这些专门研究出的芯片,有些名称真的是可以对应全新的概念,而有些可能只是少量变化,纯属商业概念炒作而已。如果在其设定的条件下,一般运行计算速度都可达到其声称的指标。如果进行跑分测试,其水平也不错。但是,如果从客户购买其产品以后,全生命周期运行结果的角度来看,往往其利用率极低,大多5%甚至更低。为什么会是这样?其中的重要原因之一,是以往对存储结构漠视造成的重大缺陷。

  为了比较容易来理解这一点,我们可以用一个生产线的生产效率与仓库结构的关系来说明。我们可以将各种CPU想象成工厂中加工产品的生产线,将存储器想象成存放原材料、零件、半成品和成品的仓库。首先来看一下存储的基本方式:随机存取、半随机存取、流式存取、半流式存取。

  随机存取,可以想象成开放的货架存取方式。如果你要存取任何物品,可以找到对应的仓库和货架号,一伸手就可以直接进行存取了。片内的寄存器,内存等就是采用这种随机存取的方式。这个存取速度当然是最快的。

  半随机存取,如果还是与上面一样开放的货架存取方式,但因为每个最终要存取的零件比较小,所以是将一批零件放在一个盒子里。这些盒子是可以完全随机存取的,但真正要存取其中某一个零件,并不是直接对这个最终的零件进行操作,而是先把它所在的盒子提取出来,再从中找到所需要的目标零件。这就是一种半随机存取的方式。U盘和SSD固体存储器采用的就是这种半随机存取的方式。它是将256kB的信息打包成一个块(对应于存放零件的盒子)。在对它进行存取时,并不是直接去存取目标的某一个字节,或一批字节,而是将其所在的256k信息块全提取出来,再从中找到目标的字节。

  流式存取,可以想象成堆放的货物存取方式,还要设想成是把物品堆放在一个很长、很长的地道里,且不留空间的堆满方式。在这种情况下,如果你要去存取某个物品,并且它是在地道的中间某个位置,这个是不是特别麻烦?因为你得从地道口把物品一个一个先取出来,一直取到地道中间的目标位置才能进行存取。这个显然会花费远远比货架存取方式长得多的时间。这种存取的方式在存放物品的仓库里极少采用,但在存储信息的仓库里却有对应的情况,这就是磁带的存取方式。

  半流式存取,还是采用堆放货物的存取方式,但并不是存放在很长的地道里,而是一堆一堆地存在很大的仓库里。先找到物品所在的仓库和堆号,然后将这一堆物品一个一个搬下来,从中找到目标的物品。因此,寻找到目标物品仓库号和堆号的过程是可以直接到达目标位置的随机存取方式,但从一堆物品中找到所需要的目标物品还是一种流式的方式。磁存储的硬盘就是这种半流式存取的模式。

  从上面存取的不同方式和存取技术可以看出,它们所需要的时间差异是极大的。除了存取方式以外,物品存放的位置距离生产线的远近也会极大影响存取速度。因为中间搬运的过程还需要额外消耗时间。有些搬运过程消耗的时间可能比存取消耗的时间还要长得多。其存取速度从慢到快依次是:流式存取、半流式存取、半随机存取、随机存取。

  想象一下,就在生产线同一个房间,并且就是生产线旁边的、可直接存取最终目标物品的货架,并且是专门设计伸手就可拿到的货架,这样操作速度是不是最快的,零配件随手就可以拿过来进行加工了?这种就是CPU片内寄存器和高速缓存(采用静态存储器SRAM)。因为要与生产线在一个厂房内,空间有限,当然这种货架的空间就很宝贵,不能太多了。这也是上篇里所谈到的精减指令集(RISC)通过大量增加片内存储空间来提升性能的逻辑所在。

  如果是在一个厂区内专门的大型仓库里,也是采用货架的随机存取方式。因为要进行存取的话,得推上推车,到生产线所在厂房之外,在库房里找到对应货架去操作。这个仓库要考虑到尽可能存放更多物品,所以货架就得尽可能高,虽然也是随机存取,但要提取相应的物品花的时间就稍长一些。又得移动更多距离,货架上的存取操作也稍微麻烦一些,这个要花的总存取时间是不是就比生产线旁边的货架慢很多?另外,虽然它也是随机存取,但既然推上小推车过来了,一般也不会只拿一个零件,而是把下一个阶段可能要用到的零件索性一起拿过来。这个就是采用动态存储器(DRAM)的内存。内存的存取速度一般会比片内的寄存器慢一个数量级以上。

  片外的高速缓存。既然内存仓库的速度比片内货架的慢很多,生产线旁边的货架空间又非常有限,那就在生产线厂房外面的门口建一个与片内寄存器一样技术的货架。因为空间受限程度更低,因此一般就可以将货架建得更大一些。将下一个生产阶段最有可能用到的零件先放到这里,这样在需要时就不用跑到厂内库房(内存)去了。这种货架虽然与片内的寄存器等所用的存取技术基本一样,但因为距离毕竟稍远一点,所以比片内的寄存器速度还是稍慢一些。因为不太可能完全提前知道下一个生产阶段所需要的所有零件,所以存在生产线门口的物品并不一定能满足所有的需要,它有一定的“命中率”问题。

  如果仓库不是在厂区内,而是要距离厂区十几公里之外的超大型仓库去存取物品呢?那就可能得开着车先跑十几公里到厂区外库房,仅路上花得时间就要多很多。同时,为降低成本,提高存储空间利用率,采用的是半流式的库房堆放方式,所以花得时间就更多了。这就是外存的硬盘。更重要的是,很少有人从技术上能明白硬盘的一个非常重要的特性:它并不是一个大平层的库房,而是很多层的楼房。运货物的电梯极慢,得上下移动去搬运物品。所以,虽然它是半流式存取方式,找到楼层和堆号可以很快。但最终的存取速度却是完全受限于电梯的运行速度。电梯就相当于硬盘的磁头,不同的磁道就相当于不同的仓库楼层。磁盘有多少个磁道,就相当于仓库有多少个楼层。硬盘的磁头运行采用的算法真的就叫“电梯算法”。所以,无论你在一个楼层找到堆号,搬出目标物品的速度是多少,最终得等电梯到了你这个楼层,你上去,才能将物品运走。硬盘磁头这个电梯的访问速度是多少呢?它是用“平均寻道时间”这个技术指标来表达的,就是你在某个磁道的楼层已经找到目标物品了,要在电梯口平均等待电梯的时间长度。可能说出来让很多人惊讶:40年前这个指标是6到9毫秒。直到今天,这个指标也就提升到3到6毫秒,几乎是没有变化的。我们不要以为计算机所有技术指标都是在按摩尔定律在发展,大错特错。其中硬盘的“平均寻道时间”指标几乎可以认为是没有变化的。在存储结构上,从最外面的硬盘到最里面的寄存器,其随机存取速度可以相差百万、千万倍。为什么过去很长时间,互联网的TCP/IP连接数最大限定在200个,几十年没有任何变化,其原因就在于硬盘的这个5毫秒左右的平均寻道时间,它就相当于每秒只能进行200次硬盘随机访问。

  为什么CPU的利用率那么低?其中的最重要原因之一就在以上存储结构里。一旦在进行计算时需要跑到外存中去存取数据,CPU基本上就会处于长久等待状态。这相当于因物料供应不及时,生产线就不得不停产。你在生产线旁边的货架上拿一个零件只要几秒,但如果是要从厂外库房里去拿,需要的时间可能是几天、几个月甚至更长。这就是为什么以往采用硬盘的计算机常常陷于硬盘灯闪烁个不停,硬盘不停地哗哗作响,但很长时间屏幕什么反应也没有,就像死机一样。这种情况就是计算机在内存与硬盘间在进行大量的数据交换。

  再者,刚买电脑时运行还算顺利,但随着使用时间延长,计算机的速度就越来越慢。新买的电脑刚开始使用时,内存分配还算相对合理,计算时的数据基本都在内存。但随着使用时间的延长,安装的软件越来越多,驻留在内存、其实平时又不使用的软件也越来越多,从而最宝贵的内存逐步地驻留了大量并不急需的数据,使真正运行的软件能够使用的内存空间越来越少,最终不得不大量依靠硬盘的外存来进行计算。一旦如此,运行速度就不是线性地下降个百分之十几、几十,而是会呈几个数量级地下降,从而出现卡顿问题。如果只是计算性能线性地下降,只是运行速度按比例地减慢,不会突然间出现近乎死机一样的卡顿问题。所谓卡顿,就是计算性能呈几个数量级下降所导致的。

  另外,人们常说的WINTEL联盟形成了一种默契,微软开发的操作系统主要追求用户界面的使用习惯,并不去追求最优化地使用内存,甚至故意如此。由此,就引导用户不断地追求更高性能的CPU芯片来维持较好的运行速度。

  另外,操作系统也是越做越大,而在电脑配置时,却往往配置较小的C盘,即使采用SSD也是如此。这些都是促使用户尽快换机的方法。30年前我就开始做过很多攒机的工作。在规划硬盘时,往往默认给C盘1/4甚至更少的空间。我曾问过很多工程师,为什么要规划这么小的C盘?很多人都回答:这样对提升访问速度有好处,有利于硬盘的保护。可是为什么这样做能实现这些好处呢?没有一个人能给从硬盘技术本质上我真正合理的解释。直到做了几十年的电脑研究,有过大量攒机的实际经验,尤其是我经常给C盘尽可能大的空间分区来进行测试,并没发现会出现什么降低访问速度的问题和其他问题。有人说是这样便于管理,C盘是系统文件,D盘是数据,E盘是备份资料等,这样显得“井然有序”。但是,很多软件都是直接默认安装在C盘,并且数据资料也都是在应用软件自己的目录里。所以,如果不是很专业的人员,安装的软件和数据往往全都集中在C盘里,这样很快就会把C盘占满了。实际使用中很多用户时常出现C盘不够,但D和E盘还剩很多空间的问题。认为C盘规划得小一些有利提升运行速度完全说不过去。如果你在C盘、D盘和E盘之间作一些数据拷贝测试就会发现,它们之间很难说访问速度上有什么明显的区别。尤其在采用SSD以后,全盘访问速度从原理上说就是一样的。

  通过大量实际装机测试和对所有设备,尤其硬盘、SSD等原理和技术的详细分析之后,可以做出我认为是全球最为专业的判断:这就是要让运行软件的关键存储空间尽可能变得更加紧张,以便更快地人为制造换电脑的需求。除此之外,我没发现有任何技术上一定得这么做的必要性。也从来没有任何工程技术人员给出这么做真正合理的解释和理由。几乎所有攒机和生产电脑的技术人员,都只是不问原因被动地将其当成技术常识这么干。

  甚至于,无论是电脑还是智能手机,越是进行软件升级,有时会发现越是容易卡顿。这就是人为降低计算性能的结果。其中一个方法就是大量驻留软件在内存里,快速消耗掉内存,从而不得不出现大量硬盘数据交换。

  在硬盘作为外存的时代,无论多么好的PC产品,其启动时间都只能在40秒到1分半钟。而如果采用半随机存取的固体存储器SSD,即使很低档的PC,其启动时间也很容易做到10几秒,比采用最好的硬盘PC还要好得多。并且,只要采用SSD,一般就很少出现卡顿现象。因为SSD的随机访问速度(一般用4k数据块的IOPS来表达)比最好的硬盘也要高2到4个数量级,即使是出现内存与外存之间的大量数据交换,也不会出现卡顿现象,只是会表现出性能线性的下降。因此,只要增大内存空间和采用SSD,即使用了很多年的PC,也不会出现卡顿的问题。我用扩大内存和采用SSD的方法,电脑都可用7年以上,键盘都换了两三次,其性能依然和新买时差不多。而过去一般认为3年,最多5年就得换电脑。所以,存储厂家之所以不去争话语权,这也是原因所在。如果采用大内存的方案,可以使计算机使用周期延长一倍,这对最终用户价值是极大的,但会使除存储以外的部分产业链市场规模下降一倍,而存储厂家的市场容量只是保持不变。这种“害伙伴不利己,只有利于最终用户”的技术方案,他们为什么要去争、去做?

  关于这个问题,我在30年前就做过大量的系统深入的研究,并于1998年8月在中国《计算机世界报》上连续三期发表了关于使用海量内存获得极高计算性能的文章。这比SAP公司提出内存计算概念早了10多年。因为在计算机领域能够拥有发言权的主要是搞CPU芯片的公司,做内存和高速缓存等存储器的公司基本没有发言权。因此,通过扩大内存,大容量C盘的SSD等方式,来成倍延长PC高性能体验时间的技术一直都不受重视。

  通过存储结构上一般人根本看不出来的技巧(扩大内存和采用全SSD外存),将电脑更换时间从3年半延长到7年,那每年电脑销售量就得下降一半。所以,想尽一切办法在存储结构上做文章,让电脑的换机时间压缩在4年以内,对PC相关产业链是非常重要的商业问题。由此也就可以理解这个行业长期存在的潜规则所在。但在今天提升CPU性能越来越难的时代,通过打破行业潜规则、改善存储结构来解决计算性能问题的途径就需要越来越受到人们的关注。这里面至少有1到2个数量级的潜力可挖。

  人们千万不要觉得揭秘以上这些潜规则有什么惊天阴谋在里面,其实这种情况在很多行业里都有。一辆超级跑车时速可以跑到400公里以上,可是中国现在道路限速最高120公里。这种超级跑车的价格比一般车辆高1到2个数量级,其性能对应的价格真正可以用上的只有不到10%甚至1%。超级跑车好歹还可以满足一下虚荣心,可你一个电脑有什么虚荣心好满足的,性能利用率居然也只有5%?

  七、片内多核与阿姆达尔定律

  如果CPU性能很难通过增加位长和主频来提升速度,除了优化指令、针对特定应用进行设计以外,就是靠简单地堆叠CPU数量来提升性能了。

  在片内集成多个CPU内核最开始叫双核,就是一个芯片内集成两个CPU。

  后来出现多核,就是一个芯片内集成两个以上或更多CPU。多到什么程度呢?十几个最多几十个。

  如果再增加呢?就叫众核,就是几十个以上,到几百个甚至数以千计的核。

  以上区别其实就是个简单的数量问题,所以我们在本文中就都称它们为多核吧!

  这种简单堆叠更多逻辑上的CPU数量对提升计算性能的影响到底有多大呢?这个问题事实上在很早就被阿姆达尔给出的精确研究解决了,这就是关于多核并行计算的阿姆达尔定律。假设采用并行处理的最大可能加速比例是S,阿姆达尔定律的表达式就是:

  S=1/((1-a)+a/n)

  其中a是并行计算占总计算量的比例,n是并行处理核的数量。例如,假设某个软件并行处理量a是80%,核的数量是24。可以算得:

  S=1/((1-a)+a/n)=1/((1-80%)+80%/24)=4.286

  也就是说,如果软件中可以并行处理的计算量占比为80%,采用24核的CPU,并不是说就能提升24倍的计算性能,而是最大只能提升4.286倍。即使采用数量无穷多核的CPU,其性能也至多只能提升5倍。只有当软件中100%都是可并行处理的计算时,S=n,也就是此种情况下采用24核的CPU,其性能有可能会提升24倍或与其相接近的程度。因为要实现并行计算和有效地在不同核之间分配计算任务,又得额外增加一些计算工作量,加上因数据存储上的冲突可能带来的等待延迟,真正提升的计算性能肯定会比核的数量n要小一些。

  由此可见,采用更多核并不是说就一定能成比例地提升计算性能,而是必须要首先优化软件,使得可以进行并行处理的计算量占比越大越好。

  八、其他计算能力堆叠技术

  除了在片内直接用相同生产工艺制作更多核以外,还有很多的方法可以将更多的核用于并行计算。它们有3D集成、二次封装(二次集成)、ChipLet、板上多CPU、多计算板卡、多机柜、MPP、计算机集群等。

  我们先说一下3D集成。事实上,这应该还是属于片内提升集成度的方式。其实,即使最初认为是只有一层的二维平面工艺,也在一定程度上属于是3D的。因为仅仅在一层是很难把所有电路都制作完的。因此需要在经过一道光刻等生产工艺之后,再沉积上半导体材料,重新经过一道光刻等生产工艺再做一层,以此反复进行制作多层的电路。不同层之间通过垂直的穿孔电路联接起来,形成一个完整的电路。这个在逻辑上说是一层平面的电路,事实上就已经是通过多层的芯片生产工艺实现的了。现在所说的3D集成,是在上面做了一个完整的电路之后,再制作多个完整的电路。虽然其线宽的生产工艺不变,但因为不断地向垂直方向集成了多层完整的电路,因此相当于在线宽技术不变情况下,成倍提升了集成度。

  看了这个原理以后很自然地会想到,它的技术难度是很高的,至少有三个关键性的技术和成本难题:

  一个是一遍又一遍地不断重复在垂直方向延伸,还得要求每次重复的位置极为精准地与上一次刻的位置偏差,控制在比该工艺线宽还要小得多的水平。显然,重复的次数越多,精准控制偏差的难度就越高。如果其中有一次偏差过大,导致芯片穿孔失败,整个芯片就废了,重复了那么多次的生产过程就全得报废。

  二是集成的层数越多,散热的问题就越大。

  三是采用芯片的优点就是可以同时生产大量的晶体管,从而生产一个芯片能集成的晶体管越多,原则上就可以同比例地降低每个晶体管的生产成本。可是,3D集成已经有些违背这个经济学原理了。因为每增加一层,是要线性地增加生产工序,线性地增加生产每批次芯片的时间。因此,如果增加的层数多到一定程度,采用集成电路的生产工艺就不一定是节省成本,而是成本线性增加了。甚至于最后使平均每个晶体管的成本增加而不再是减少。

  因此,3D集成是一个方向,但它也是有极限的。虽然没有特别明确的数据说它的极限是多少,但目前业界认为到500层差不多就是3D集成的极限层数。不是说不能再做得更高,而是再做更高经济性可能很难划算了。2022年8月份,长江存储发布的第四代TLC三维闪存X3-9070已经能做到232层。国外水平更高一些,但也没高多少,并且大家都离最大极限不太远了。

  直接在片内进行3D堆叠快做到头了怎么办呢?那就在片外进行堆叠。

  二次封装。很早就有人想到,把很小的已经封装的芯片一起做在一块很小的PCB电路板上,然后对这个小电路板再进行封装,外面看起来是一个芯片,事实上里面是多个芯片的小PCB电路板。这种二次封装或二次集成就是一种提升集成度的早期技术。

  ChipLet,芯粒。这是现在相对比较热的二次集成技术。它和二次封装很相似,只不过它不是将已经封装的芯片二次集成在小电路板上,而是未经过封装就直接集成在硅衬底等更接近芯片的技术材料上,然后再将其进行封装。

  以上这类二次集成的技术有一个特点:仅在片内进行生产时,采用的生产工艺一般只能是一样的。而采用二次集成类型的技术,可以把各种不同生产工艺的芯片高度集成在一起。这叫异构或超异构芯片。例如将CPU、存储、FPGA、接口芯片甚至射频模拟芯片等都可以集成在一个很小的空间内。这对缩小最终设备的体积有极大的好处。所以,它的主要价值并不一定是增加计算性能,而是往往将异构的芯片集成在一起形成一个芯片,减少PCB电路板上需要焊接的芯片数量,从而增加可靠性和极大缩小最终设备体积。但是,这类二次集成的技术也不是无限的,现在一般是几个、十几个芯片集成在一起,做到几十个也是可以的。但再多的话也比较难。

  板上多CPU。既然一个芯片内集成的计算能力是有限的,那么在一个PCB板卡上多设计几块CPU芯片,不就可以成倍增加计算能力吗?一些公司推出的计算加速卡不仅采用特定优化的CPU,而且多颗CPU集成在一块板卡上,以提供成倍增加的计算能力。一些巨型机往往也采用在一块计算板卡上集成多个CPU芯片的方式。当然,这种方式的空间也是很有限的。一块板卡上集成的芯片数量本来就有限,而且在集成更多CPU芯片时,配套的内存卡也要更多。因此,能将几颗CPU芯片集成在一块板卡上难度就很高了。

  多计算板卡。既然一块板卡集成的CPU芯片是有限的,那就多块板卡集成在一个机柜里就是了。这就是插卡服务器的方式。

  多计算机柜。将多个插卡服务器集成在一个或更多机柜,同样可成倍扩展计算能力。

  MPP,大规模并行处理。事实上,前面一个板卡内多计算芯片;多计算板卡;多计算机柜……以此大量堆叠计算能力,就是大型机或巨型机的基本模式。这就是大规模并行处理。现在能够在TOP500上榜的巨型机,基本都是这类占用一层楼的大量机柜集成的海量CPU芯片制作成的。当然,这种巨型机并不仅仅是简单地堆叠CPU,而且要解决内存访问、通信等问题。

  计算机集群。以上以最高密度堆叠计算能力往往是特殊的、以尽可能最高密度提升计算性能来设计计算机产品。但有很多服务器是与PC类型的,围绕一颗CPU设计的功能完善的独立产品。从PC、PC服务器、工作站到小型机都是类似的。但这并不表明它们一定只能独立工作,通过通信网络将它们联结起来共同完成某些计算任务,就可以构成计算机集群计算的方式。只是因为它们之间距离相对较远,通信速度可能比不上前述方式。

  过去建设的计算能力使用率不高,通信能力、运营主体之间不能协调等限制也是重要问题。即使建设了IDC、以巨型机为主的计算中心等,如果不同的计算能力中心相互间因通信能力限制,或因属不同经营主体,相互间不能协调配合,那么一个计算中心吃不完的计算任务,也不能交给另一个计算能力中心去完成。越是能够将不同计算能力中心联结在一起形成更大的计算能力池,越是可以更好地实现统计复用,从而提升使用效率。

  不仅多台服务器可以通过集群叠加计算能力,用户的PC也可以通过远程联结在一起叠加计算能力。很早就有人通过屏保软件利用大量普通用户闲暇的PC时间,来做计算搜索更大素数的工作。当几十万、数百万台PC一起工作的时候,可以等效成一台巨型机的计算能力。只是原来这种并行处理任务不能有太多各个PC之间相互的通信,因为在过去互联网带宽受限的情况下,这样会使并行处理工作过度受限于通信带宽和延迟。但现在5G、光纤到户、IPv6等技术已经普及,远程通信不仅带宽充足,而且网络延时可以从原来的几百毫秒下降到几个毫秒的水平。这为将大量联网用户的PC集成在一起执行大规模并行计算任务创造了良好的条件。

  九、其他影响计算能力的技术

  在过去摩尔定律畅行无阻的时代,以计算能力为核心是很自然的事情。因为一切问题在每18个月翻一番的芯片算力面前都不是问题。但是,只有在核心计算能力增长速度越来越慢,并最终逐步陷于停滞的过程中,过去被忽略的很多技术途径才有大放异彩的机会。事实上,这些技术未必是什么全新的东西,都在过去被人们尝试过,只是在核心计算性能18个翻一番的大背景下,他们只是被人们偶尔为之。以上因各种限制计算能力利用率问题潜在的提升空间已经有2到4个数量级。

  另外,提升计算性能是一个方面,另一个方面是如何降低计算的需求。例如,现在很热的GPT人工智能,因其从互联网上获得数据进行训练的计算量,与数据本身的质量相关性很大。如果原始数据本身有良好的规范,训练计算量会呈指数级的降低。

  计算、带宽、存储三者之间是可以互换的。例如,因原来带宽和存储受限,采用MP3等音频压缩技术对其进行传输和存储,这就需要较大的计算量。而现在因带宽和存储能力的极大提升,音频越来越采用无压缩的格式,这需要较大的带宽和存储,但却需要极少的计算量。

  在过去没有电子计算机的时代,工程师们依然可以解决很多需要大量计算能力的问题。他们是怎么做的呢?是把很多常用的计算任务提前做出来,变成表格了。例如对数表、三角函数表等。在需要进行工程计算时,他们遇到需要进行相应的计算工作时,只要查表就可以了。因为任何实际工程计算任务其精度都是有限的。只要给出限定的精度,就可以利用大容容量的存储,提前将各种可能用到的计算任务变成表格,需要计算时查表格就可以了。这比任何专用的数学协处理器等芯片计算速度都要快得多。在拥有充分的计算能力时,人们不会这么做,只用原始函数直接去进行暴力计算,以此充分消耗算力。但如果算力的发展不再能够按摩尔定律狂飙时,很多过去的老传统又会被人们找回来。采用现在的计算、存储和带宽能力回到查表法计算,又会有几个数量级的提升空间。因此本文所讨论的各个途径的提升空间加起来有5到6个数量级之巨。

  28纳米与3纳米的集成度相差2个数量级,对应的芯片性能最乐观地认为也相差2个数量级。如果将本文潜力充分挖掘,不仅可完全弥补芯片技术水平导致的这2个数量级差距,而且还有3到4个数量级的富裕。虽然这些途径不一定适用于一切领域,但足以支撑绝大多数IT行业10年以上与摩尔定律等效的高速发展周期。

  十、中国芯片战制胜之道

  本文谈的内容绝大多数与芯片线宽没关系。不仅是从芯片生产的线宽技术上已经遭遇摩尔定律的极限,而且从CPU位长、主频等很多方面,现在都遇到越来越多的极限。因此,芯片技术的发展越来越慢,性价比的提升更难。另一方面,因过去摩尔定律一路狂飙,在其他很多方面留下了太大的潜力和空间。未来因摩尔定律失效,从其他方面挖掘潜力的途径本身就需要更多受到重视。况且在目前美国对中国芯片制裁的大背景下,我们更需要这样做。如此一来,就会极大地降低高性能芯片的市场空间。只要利用这方面的发展潜力,给美国控制的高端芯片制造一个10年的市场低迷期。别说是把这个领域的市场空间打掉一半,就算是只打掉20%,美国大力在全球吸引高端芯片制造业向美国迁移的努力就会全面报废,并且原来的高端芯片企业的业绩也会普遍大滑坡,甚至落入全面破产的境地。这就为中国企业全面掌握EUV光刻机,以及掌握整个芯片产业链杀开一条血路,创造出10年以上极为宽裕的时间窗。只要充分地压制了美国高端芯片的市场空间,全球高端芯片人才就会大量流向中国,从而加速中国芯片全产业链的迅速崛起。

  这就是你打你的,我打我的。你打你的原子弹,我打我的手榴弹。你打你的高端芯片,我创造出暂时不用高端芯片的市场空间。肥的拖瘦,瘦的拖垮。等我有高端芯片制造能力时,再杀个回马枪。等我们杀回来的时候,用相同技术的高端芯片,能获得的综合效益比你高几个数量级。我用劣势装备都能打败你的优势装备,等我的装备和你一样的时候,你还和我玩什么?那不仅仅是把美国的芯片业杀个天翻地覆,而且是把其整个IT业杀个天翻地覆。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




QQ|手机版|小黑屋|大参考 |

GMT+8, 2024-4-19 15:35 , Processed in 0.125011 second(s), 18 queries .

 

Powered by 大参考 X3.4 © 2001-2023 dacankao.com

豫公网安备41010502003328号

  豫ICP备17029791号-1

 
快速回复 返回顶部 返回列表