2023-02-12 3786 0
不知从何时起,被美国制裁成了光荣的象征。忘掉了“实而备之,强而避之”,反把阿Q的“精神胜利法”学了个通透。若知傍人篱落之耻、依人作嫁之窘,怎会落入举夺由人的境地!
《后汉书》:“……仰我鼻息,譬犹婴儿在股掌之上,绝其哺乳,立可饿杀。”
当今之世,研究生产分工繁细,各国各家互有依赖,自不可能闭门造车、自给自足、浑圆一体。但若有居安思危之心,就不会过于依赖国外的核心技术;若有自立自强之意,自然会力求发展自主技术、推广自主产品。如此方能不惧制裁,被制裁也无虞。
俄罗斯经济状况不好,科研人员也流失严重,买办力量可能也更胜我国。俄罗斯虽也在发展自主通用CPU和自主操作系统,但与我国还有很大差距。特别是在建设自主通用CPU的自主软件生态方面,俄罗斯的CPU企业缺少坚定的决心,没有必胜的信心,政府方面也缺少政策引导,因而收效甚微。一旦受到Microsoft、Google、Intel、AMD、ARM等联手制裁,俄罗斯的信息技术体系虽不会立即崩溃,但只要软件硬件没有更新和补充,就一定会逐渐枯萎凋零。
俄罗斯设计通用CPU的企业主要有两家,一家是莫斯科SPARC技术中心(MCST),另一家是贝加尔电子公司(Baikal Electronics)。我国现在仍在发展通用CPU的企业则比较多,以龙芯、飞腾、申威、兆芯、海光为代表,还有因生产受限而状况不明的海思(鲲鹏)。
莫斯科SPARC技术中心是俄罗斯自主研发CPU的代表,研发了Elbrus系列产品。军用产品基于SPARC架构(属精简指令集),民用产品使用自研的类VLIW(超长指令字)架构。民用的Elbrus和全美达(Transmeta)类似,不但都是VLIW类型的架构(指令集),而且都支持以二进制翻译的方式兼容x86架构。它们的区别是Elbrus还可以运行自己指令集的原生软件,而全美达CPU则只能运行x86的程序。因此也可以说Elbrus与我国的龙芯CPU更加相似,不过龙芯LoongArch架构的二进制翻译技术更加偏向于软件调度。
Elbrus支持两种二进制翻译模式。一是虚拟出x86的BIOS和设备,直接安装x86架构的操作系统,实际上是在一个轻量系统中构建了一个x86虚拟机,使用1~2个处理器核专门进行翻译。二是在Elbrus的原生Linux系统中翻译运行x86架构的Linux应用程序,与龙芯目前支持的翻译模式基本相同。使用原生系统和软件时不会损失性能,仅翻译运行的软件存在性能损失。
Elbrus和龙芯都是软件与硬件结合的二进制翻译技术方案,架构和CPU也都针对二进制翻译进行了专门的设计。不过Elbrus只支持翻译x86(32和64位)架构,而龙芯可以支持x86、ARM、RISC-V等多种架构的程序。龙芯的二进制翻译有更高的灵活性,LoongArch架构与操作系统结合,理论上可以支持各种架构的应用程序,对于没有针对性加速设计的架构或未来新增的指令,也可以实现兼容。
Elbrus二进制翻译x86可达80%原生效率,龙芯二进制翻译x86架构的目标效率也是80%,但现在暂时只达到50%左右。龙芯的二进制翻译方案产品化的时间才很短,通过对软件的不断优化,效率正在不断提升,因此80%或更高的翻译效率是可以期待的。
Elbrus的二进制翻译能够以操作系统为单位,例如安装运行x86架构的Windows和Linux。操作系统支持什么软件,Elbrus就能运行什么软件。龙芯的二进制翻译目前是以应用程序为单位,兼容性要差一些,但不用切换系统就可以同时运行x86、ARM、RISC-V等各种架构的应用程序,也可以同时运行Linux和Windows的应用程序。
因Elbrus支持系统级翻译,虽降低了软件移植的必要性,但也几乎等同于放弃了发展自主软件生态的希望。而龙芯的主要目标是建设自主的软件生态,二进制翻译只是在自主软件生态完善之前的过渡和补充方案。因此龙芯为了避免喧宾夺主,而废弃了支持Windows系统的计划。
Elbrus和龙芯的方案本来各有千秋,但自从微软把俄罗斯列入黑名单,Elbrus为兼容x86版Windows而付出的努力都成了猴子捞月,徒劳无功。微软现在是停止销售和服务,谁能保证以后不会禁止Windows在俄罗斯全境的电脑上运行呢?没有Windows系统,所有基于Windows的应用软件又怎么运行?不过Elbrus也可以运行x86架构或原生的Linux系统,通过二进制翻译应该也可以使用wine运行Windows程序,多手准备还是有用处的。如此看来,龙芯只支持原生操作系统,以发展原生软件生态为主,以兼容Windows应用软件为辅的路线更加决绝,也更有长远的智慧。
在CPU性能方面,龙芯也比Elbrus更加优秀。2020年10月发布的Elbrus v6-16C有16个核心,但coremark测试的单核性能不到龙芯3A5000的40%。龙芯自己的宣传是当前的3A5000性能接近市场主流,下一代3A6000性能达到市场主流。当然厂家的宣传都会有浮夸的成分,不过据笔者实测,龙芯要比飞腾和兆芯厚道得多。4核的龙芯3A5000,实际性能和8核的飞腾D2000及兆芯KX-U6780A基本相同。兆芯和飞腾老早就宣传它们达到了6~7代i5的水平,可实际上是用8个核去对比4个核心的笔记本低压版i5。如果可以这样对比,那么16核心的龙芯3C5000就不比8核的10代桌面版i7差,而兆芯和飞腾就得32个核心才能与之相提并论。
贝加尔电子公司(Baikal Electronics)推出的Baikal系列CPU都是外购的CPU核心设计,再自行与其它的外购IP进行集成,与我们的国产手机CPU是相同的路线。
2015年发布的Baikal-T1集成了两个购自Imagination的MIPS P5600 CPU 核心,P5600是32位MIPS架构的处理器核。因为除了龙芯之外,MIPS世界已经没有了更高性能的CPU核心,所以贝加尔后来把ARM作为了救命稻草。至于为什么不购买龙芯的IP,我想大概是因为俄罗斯不怕英美耍手段,但中国离得太近!
去年发布的Baikal-M集成了8个ARM A57核心,Baikal-S则集成了48个ARM A75核心。Baikal-S最高频率2.5GHz,支持1至4路互联,TDP功耗120W。
外购IP来集成CPU的方案有很多优点,比如研发成本低、周期短、只要能不断地购买到先进的核心设计,就能保证CPU性能紧跟世界前沿。轻松惬意地制造出高性能“国产CPU”,软件生态也不需要自己建设和发展,还能融入国际主流,何乐而不为呢?
但在国家间因科技、经济、政治、军事等任何原因发生冲突时,外购IP或者架构授权的风险就会凸显——产品无法延续。
ARM宣布不再向俄罗斯企业授权IP,终止一切合作,贝加尔(Baikal)CPU的寿命也就到此为止。虽然贝加尔已经购买的IP仍然可以合法使用,但是俄罗斯的芯片生产能力低下,无法替代台积电生产需要先进制程的CPU, 而贝加尔和ARM显然都不可能按照俄罗斯的芯片生产水平对CPU重新设计。
华为海思的鲲鹏920系列服务器CPU也受限于工艺而无法生产,华为可能有把7nm的芯片改退为16nm工艺的能力,但是没有意义。鲲鹏设计选型时是使用7nm工艺,无论是通过简化设计,还是降低频率来适应较陈旧的工艺,都必然会导致性能降低。鲲鹏在使用7nm的工艺时,单核性能与海光和龙芯的12~16nm工艺的CPU相当,再降低性能可能就和飞腾CPU差不多了。
飞腾、兆芯、海光的CPU设计能力是有欠缺的。飞腾和兆芯多年来CPU性能提升缓慢,它们的CPU单核性能提升幅度和CPU频率的提升幅度基本一致,而提高CPU频率又基本上依靠更换更先进的工艺。也就是说它们的性能提升来自大环境的工艺革新,而没有通过迭代CPU核心设计来提高CPU性能的能力,引进技术时的第一代产品决定了后续多代产品的状态。
不过兆芯已经在2020年10月再次购买了美国Centaur设计的新一代x86核心,预计明年就能发布使用新核心的CPU产品。但是Centaur的设计团队已经被Intel在2021年11月收购,兆芯也就失去了可持续的技术来源。Centaur的新核心本来计划使用7nm工艺,但在2019年使用16nm工艺生产了一批用于验证设计的样品。台湾尚未解放,兆芯就不大可能去使用风险巨大的7nm工艺。新近有消息传出,兆芯尚未发布的KH-40000也仍然使用16nm工艺。KH-40000频率与Centaur的样品一样都是2.2GHz,GeekBench测试成绩也基本一样,部分子项目的测试成绩完全相同。
飞腾可能也已经有了全新的CPU核心,但飞腾的设计能力可能还不如兆芯。前面几年,飞腾每年向台湾世芯贡献约27亿新台币的营收,其中一部分用于支付“设计服务”的费用。台湾是我国的一个省,飞腾的行为倒也不算是资敌。
海光已经早被AMD断了后路,只能基于早先购买的Zen-核心开发产品。海光的设计能力不属于海光,它只能提出对CPU核心的改进建议,任何改动都只能由AMD控制的子公司完成。
好在除了华为海思使用了7nm工艺,国内其它的通用CPU使用的工艺都没有超过我国境内芯片生产能力的上限。即使遭受与贝加尔相同程度的制裁,也只是使用引进技术的CPU产品被阻断了升级之路,自主设计的CPU则不受干扰,国产CPU的生产环节也仍然能保障基本安全。
祖国强大否?自是强大的。祖国有胆否?国人不弱于毛熊矣。然敌在内部,不当人也!