2023-02-12 3498 0
在CPU生产环节,目前所有国产通用CPU都无法做到完全国产化,这不是CPU设计企业的问题,而是整个半导体行业的问题。芯片生产技术和相关设备的研发投入大、见效慢,前些年大家迷信世界分工,没有紧迫感。俄罗斯可完全自产的芯片制程停留在65nm,我国可以完全国产化的芯片制程也是差不多的水平。不过如果不要求完全自主,而仅仅要求“去美”化工艺,我国可以使用28nm工艺量产大芯片,而俄罗斯在保证成品率的条件下,仅能生产银行卡、电子表中使用的小芯片。
如果不完全要求“去美”化工艺,在保证大芯片成品率的情况下,我国境内可以生产12/14nm工艺的芯片。据悉国产的“去美”化28nm光刻机已开始生产,而28nm光刻机可用于生产14nm甚至7nm的芯片,我们在芯片生产环节的状况要比俄罗斯好得多。
在CPU生产环节,我国正在自给自足。在CPU设计和软件生态方面,我们也需要做到自力更生。有些人一边为芯片生产受限表现得痛心疾首,说只有使用完全国产化工艺的才是国产CPU,一边又痛斥自主设计CPU和建设自主软件生态是闭门造车、闭关锁国。是何缘故?只是因为自主设计的CPU越来越强大,这些人期望自主CPU都用90nm的陈旧工艺,别与引进技术和进口产品竞争罢了。
数字电路芯片的设计大致可分为两个重要阶段:前端设计(逻辑设计)、后端设计(物理设计)。逻辑设计就和编写程序差不多,是使用硬件描述语言编写代码,产生的是由各种门电路组成的电路图。在初高中物理课上我们就接触过简单的电路图,知道电路原理图和PCB电路板的区别。物理设计就是从电路原理图到实际的元件布局、布线的过程,然后生成电路的图形文件。因为现代通用CPU都是数亿晶体管的规模,几乎不可能手工布局布线,所以需要EDA软件辅助完成这一过程。
目前国产EDA软件只有部分功能单一的工具软件支持16nm工艺节点,暂未实现小于28nm的数字芯片设计的全流程支持,因此国内的通用CPU设计还无法脱离进口软件。但是龙芯和申威除了通用CPU,但有多款嵌入式用途的CPU,这些芯片可以使用28nm甚至更加古老的制程,龙芯和申威主要在设计这类产品时使用国产EDA工具。其中龙芯还有28nm的性能不错的3A4000,单核性能略高于兆芯和飞腾同期的16nm产品。因此即使进口的EDA工具被禁止,至少龙芯仍然有能力使用国产EDA工具设计更强大的CPU。
完成逻辑设计的功能模块称为软IP,CPU的逻辑设计决定了CPU的功能和基础性能,是整个芯片设计阶段的重中之重。比如在相同的频率下运行时,Pentium4的单核性能不到酷睿11代的1/5,这就是因为Pentium4的逻辑设计水平远远比不上酷睿11代。完成物理设计的功能模块称为硬IP,物理设计和生产工艺决定了能把逻辑设计的成果发挥到什么程度,简言之就是达到什么样的频率和功耗水平。国产手机CPU通常都是购买ARM设计好的硬IP,再整合买来的GPU、各种接口电路等,集成为一块芯片。华为曾经为了完成核高基的网络服务器任务,倒是购买过ARM的软IP自己“硬化”,成品就是在2016年发布的16核的Hi1612。
国产CPU自主设计的程度各有千秋,总体上优于俄罗斯的贝加尔。其中龙芯和申威自主设计的程度最高,俄罗斯只有Elbrus能与它们媲美。
CPU中除了CPU核心,还有内存控制器等各种功能模块。龙芯的CPU中不存在任何的外购IP,申威的资料外露较少,估计和龙芯差不多。国内除了这两家,其它的通用CPU中多多少少都有一些功能模块来自外购。有部分CPU的后端设计是外包给其它公司,比如飞腾和台湾世芯就有设计服务方面的业务往来。海光和兆芯的情况比较特殊,以海光为例,它实际上是由3家公司共同组成,才能规避Intel的架构及专利授权限制,通过合资的方式来合法地“研发”x86架构的CPU。
无论CPU如何设计,最重要的目标总是实现CPU指令集所定义的功能。因为指令集承载着软件生态,因为电脑的功能绝大部分是软件的功能,因为没有软件的CPU几乎没有任何用处。所以统治了桌面和服务器的x86架构(指令集)就有能力绑架产业链中的任何企业,所以Microsoft、Intel、AMD有能力消灭任何一个现代化国家的信息体系,所以美国可以凭此讹诈和胁迫其它国家。
国产通用CPU中,只有龙芯和申威有自主的架构(指令集),飞腾、海思、兆芯、海光都依赖授权或合资,独立性能较差。
自主架构(指令集)的优点是不受美国钳制,也不会有被终止授权的风险。缺点也显而易见,软件的丰富程度远远比不上主流架构。如俄罗斯的Elbrus、我国的龙芯LoongArch和申威的SW架构,原生软件都积累不足。龙芯建设自主软件生态最为积极,若只看桌面和服务器应用软件,龙芯虽与x86相比还有明显差距,但不输ARM。
但是,使用主流架构的国产CPU不等于主流CPU,无法避免被主流的操作系统和应用软件边缘化。比如兆芯、海光、Elbrus就不能通过正常流程安装Windows11,飞腾、鲲鹏、贝加尔也不能通过正常流程安装Windows11 on ARM。
何况主流架构(指令集)也在持续发展,俄罗斯和我国的CPU企业对x86/ARM的发展却没有任何决定权。基于的x86/ARM架构的CPU必须跟随主流版本升级,必须反复购买授权,否则就会很自然地被主流的软件生态淘汰。比如现在ARM架构已经发展到了v9,新款的ARM高性能产品基本上都已经基于v9架构。ARM主流软件生态将会大量使用v9的新指令和新特性来提高运行效率,对v8和更老架构的CPU要么不兼容,要么兼容但损失性能。x86也是如此,兆芯对x86的兼容性截断于2018年,海光能否兼容Zen之后新增的x86指令则看AMD和Intel的心情。
俄罗斯无法主导x86/ARM软件生态,我国也不能。但是通过国家政策引导,提高国内软件企业的积极性,以及大量开发者的主动奉献,自主软件生态正在蓬勃发展。假以时日,谁又能断言龙芯的LoongArch和申威的SW不会发展为主流架构?