献给摩尔:中国正杀向整个芯片产业链(上、下)
一、我的学术态度——追求卓越和原创
二、对摩尔定律的深度讨论
三、CPU位长及64位极限
四、时钟频率(主频)及9GHz极限
五、指令集与计算架构
六、存储结构对计算性能的影响
七、片内多核与阿姆达尔定律
八、其他计算能力堆叠技术
九、其他影响计算能力的技术
十、中国芯片战制胜之道
一到五为上篇,六到十为下篇。
一、我的学术态度——追求卓越和原创
资深IT人详解什么是“元宇宙”——细说历史上那些“什么都不是”的概念
IBM官网上对自己技术的宣传语“世界上首个......”“密集程度首屈一指”。按中国的广告法,这涉嫌违法吗?如果他不说,客户怎么知道他是第一个做出来的、世界上最领先的产品技术?
苏州恒兆不用安装的空调。基本原理其实也不复杂,它是将反向的热量储存在机器内的水箱里。
北京有一家高科技企业北京美尔斯通,开发了超导磁测量技术,其灵敏度达到世界最高。它的灵敏度高到多少呢?如果装在飞机上可以探测到水下很深处游动的鱼。实在不好意思,其技术水平远远超过美国,欧洲、日本根本就没有同类技术。这些实际情况可以说吗?
美尔斯通创始人米旺先生。
以美尔斯通超导磁测量传感器为基础开发的心磁仪。
二、对摩尔定律的深度讨论
(1) 芯片上所集成的晶体管数量,每隔18个月翻一番。
(2) CPU的性能每隔18个月提高一倍,而价格下降一半。
(3) 用一美元所能买到的计算性能,每隔18个月翻两番。
(1) CPU位长
(2) 时钟频率(主频)
(3) 指令集与计算架构
(4) 存储结构
(5) 片内多核与阿姆达尔定律
(6) 其他计算能力堆叠技术(3D集成、ChipLet、二次集成、板上多CPU、多计算板卡、多机柜、MPP、计算机集群等)
(7) 其他,如用带宽和存储换计算性能,从算法上降低计算量等等。
三、CPU位长及64位极限
INTEL 的CPU位长 | CPU型号 | 出现时间(年) | 地址空间 | 间隔时间(年) |
4 | 4004 | 1971 | 16 | |
8 | 8008 | 1972 | 256 | 1 |
16 | 8086 | 1978 | 64k | 6 |
32 | 80386 | 1985 | 4G | 7 |
64 | Itanium1 | 2001 | 16E = 16GG | 16 |
2010年4月18日,我去参观硅谷INTEL博物馆
第一个CPU芯片4004
4004芯片实物及介绍。这个小芯片的计算能力已经超过了占用整整一个房间的第一台电子计算机ENIAC。
对16位CPU8086及8088的介绍
小名“狗剩”的龙芯2号
四、时钟频率(主频)及9GHz极限
所以早在2010年时,从主频角度提升计算性能的方向也遭遇极限。摩尔定律再下一个台阶。
五、指令集与计算架构
为什么要叫“流水线”呢?它和工业生产中的流水线原理上的确就是有高度相同之处的。
平板电视生产流水线
接上篇
仅以此文献给伟大的芯片专家和科技创新企业家戈登·摩尔。
致敬,逝去的摩尔和即将逝去的摩尔定律。
本文目录
一、我的学术态度——追求卓越和原创
二、对摩尔定律的深度讨论
三、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电路板。这种二次封装或二次集成就是一种提升集成度的早期技术。
板上多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业杀个天翻地覆。
微信扫码关注该文公众号作者