国产CPU和国产操作系统的实力究竟如何?
来源:本文授权转载自知乎用户北极 ,谢谢。
昨天,龙芯在北京开了一场盛大的发布会,并声称和Intel最强技术只有30%的差距。因为从某个角度上看,龙芯是一个自主设计的产品,作为一个中国人我是应该感到兴奋的。但作为一个科技媒体工作者,龙芯的发布会又让我对国产CPU的真实状况和搭配的国产操作系统倍加关注,于是就有了作者的这个文章:
先不谈制造,直说设计,国产CPU分为以下几个类型:
1. 龙芯这种从下到上都是自主设计,指令集虽然是模仿的,但也勉强算是自主的,现代CPU架构下指令集的差异性已经不大了。
2. 用开源的硬件方案的,代表类型有SPARC架构下的一些CPU,比如神舟飞船上用的就是这类,拿别人开源的东西改改就可以用了。
3. 直接买别人的硬件方案,这了指的是买了全套东西的那种,代表类型有alpha架构,也就是申威系列,太湖之光用的。
4. 拿别人的授权,然后生产CPU的,代表类型是华为海思这种,拿到ARM的授权,然后重新设计的,虽然ARM会提供公版,但像拿来直接用还是有点难度的。5. 破解、抄袭、打磨别人家的CPU的,有一些研究所在做。
哪个是国产CPU的最好选择?
龙芯这种其实意义是最大的,基本上把CPU设计中所有的水都试过,虽然也出过能跑Linux的桌面版本,但整体技术来说有点落后,并且市场前景也不乐观,MIPS自己都快死了。
龙芯肯定会活着,至少作为国家战略的技术储备,也会有人让它活着,但活的好不好就难说了。玩硬件太烧钱了,看Intel挣的多,烧的钱更多。
SPARC和alpha其实在实际中差不多,一种是开源的,另一种是整体买过来的。问题在于,不管是开源还是买的,基本上搞不到太好的东西,虽然申威拿到的超算的第一,但申威自身的问题很多,比如内存设计就很弱,适合做并行计算,但不适合民用。当年太湖之光拿下超算第一的时候,很多人觉得国产CPU成气候了,其实不是那么一回事,民用领域对单核性能要求很高的,申威的单核可能还不如龙芯(没研究过具体数据,可能有偏差),申威的优势在于浮点性能强悍,但普通用户要那么强的浮点性能干嘛?
SPARC多用在航天领域,欧洲人一直在用,我们在后面跟着学(之前写的有误,老美用的是PPC,欧洲人用SPARC),我们自己造的SPARC整体上还是有一定的差距,如果只是使用的话,已经足够了。
再次强调,这两类不太适合民用。
第四类就是拿授权,自己设计Soc之类的,这类包含很多,广义一点来说,兆芯(x86)、飞腾(ARM)、海思(ARM)、展讯(ARM)等等,好像PPC指令集在国内也有拿到授权的。龙芯拿到MIPS授权以后,其实也可以归到这类,但毕竟龙芯早期确实是全自主设计,只不过是“兼容”MIPS指令,而且龙芯发布的年代国内缺人缺钱,条件要困难的多。
狭义的看,像兆芯这种其实不算,因为没有什么自主性可言,其实就是VIA,但要是哪天VIA卖给国内也许不是什么坏事,起码可以合法生产x86的CPU了(评论里说最新的兆芯已经重新设计IP了,如果这样就跟海思之类的差不多)。
拿到的授权不同,自主的程度也不一样,有些可以做深度定制,有些就只能简单改改,因为这类厂商实在是太多了,我了解的不全,不好一一评价。但我个人认为,从商业化的角度上看,这条路是最好走的。兼容性上没有门槛,前期不需要烧特别多的钱(但也不少),对于商业化来说相对比较容易。
最后一类是拿别人的片子搞破解抄袭之类的,基本没有什么市场可言,要么是打着科研的旗号,要么打着国防的旗号,要么就是纯粹骗钱,当然可能两三种情况并存的也有。还有,特别注意区别一下龙芯是自己做出来的,汉芯是靠打磨骗钱的,两个不是一回事。
以上都是CPU设计方面的。
关于制造方面
生产方面,国内芯片工艺相对落后,光刻机被卡着脖子,高端的芯片生产不了。这里的芯片类型包括但不限于CPU、内存、Flash存储等,低端的可以做一些,高端的基本没戏。设计CPU已经很烧钱了,造CPU就更烧钱,这方面除了收购别人已经没有捷径可言,可是稍微好点的又限制中国收购(镁光),龙芯过去都是委托别人制造的。
光刻机虽然是别人不卖(编者按:据ASML相关人透露,现在是已经取消这个限制了),但主要原因还是工业积累的时间不够长。从科技树的角度上看,光刻机依赖于高精度机床、高精度光学设备(镜片),这些东西国产的都不行,说到尼康,都知道是做单反的,其实尼康还做光刻机,而国内就没有这样的企业,所以国产光刻机的路还很漫长。
以上是关于CPU的。
国产操作系统的“烂账”
说的到国产操作系统,这个话题就太大了,因为广义上说国产操作系统太多了。大致分这么几类:
1. 全自主设计的;
2. 拿开源的改的;
3. 合法的拿闭源的改的;
4. 不合法的。
以上所有大类又可以细分为民用市场和专用领域两大块,其中2、3条又分为改logo改皮肤的,以及深度定制的。
软件不像硬件那么好界定,毕竟指令集什么的,是一下就能看出来的,软件想要搞清楚究竟是借鉴还是抄袭还是原创,有一定难度。
下面挨个细说一下:
全自主设计的,这个怎么说呢,要说多,也非常多,一个计算机专业的本科生或者研究生,水平高的就能自己搞一个简单的内核,16位的、32位的、64位的,基于SMP/SMT的,甚至带虚拟化的,我自己都写过类似的东西。难度一点也不高,但操作系统重要的是生态,这方面全自主设计的国产系统基本上是零。
全自主设计的国产系统,一般都在专用领域,总之民用的不多见,比如嵌入式的DJYOS(我不是太了解,只是听说)等等。
拿开源的改的,是国产系统里最常见的方式,因为这样可以避免生态系统的困局,但也很容易招骂,比如过去的麒麟、红旗之类的。基本上都是改Linux,或者BSD系列。这里也有一些深度定制的,比如deepin之类的。
安卓家族从广义上说也是这类,几家手机厂商都在搞,另外像阿里云之类的也属于类Linux系统。
普通用户接触的“国产”操作系统,大部分属于拿开源的改的这一类。同时,在超算、嵌入式领域,这种思路也行得通。
合法拿闭源的改的,这类里也有不少,只不过很多人不了解。跟硬件一样,软件一样可以拿到完整的授权(源码级),然后就可以自己DIY了,只不过要掏很多钱,代表类型是VxWorks这类,在嵌入式里很常见。我在上家公司做交换机的时候,OS的核心也是买的。
还有一类是不合法的,但这种却没人管,因为管不了,主要集中在国防,航天军工这类行业里。前面我已经说了,国内喜欢抄老美的方案,不管硬件还是软件,硬件的CPU抄完,操作系统也跟着抄,但因为不敢明面上直接抄,只好打着兼容XXX系统这种旗号了,究竟这类系统是全自主的还是全抄袭的还是混合的,我也搞不清楚,民用领域很难接触到,不做评价。
就出路而言,2、3、4其实差不多,论自主可控程度,基本上都是一致的(都有源码)。别觉得抄的东西不一定就好,其实抄别人的,本身也不那么容易,抄好了反过来把对方吞并,也不是不可能。
有些领域因为要紧跟着老美的步伐,不得不采用抄袭的方式,这其实是一种省钱办事的好方法,自己去试水需要付出的时间和金钱的代价都太大,本来我们就落后,再挨个试水,差距只会越来越大。
有人会说源码不是中国人写的,不安全。我想说的是:源码都给你了你还觉得不安全,那什么是安全?中国人自己写的就安全无bug?简直是笑话。是从头写一个操作系统更容易更稳定,还是拿现有的源码研究更容易更稳定?
至于民用系统,走Linux的路子其实也没什么问题,将来国内企业有钱了,保留Linux上层API,把内核换了就完事了,况且Linux社区里华人的贡献也不少呢。Linux是属于全世界的。
同时,也别把国产系统想的多么重要,从科技树的角度上看,国产系统依赖国产硬件,国产硬件依赖国产工业设备(机床、光刻),先把依赖性搞清楚了再看看哪个才是最重要的。真有一天美国对中国搞技术封锁了,最大的问题是芯片,而不是什么操作系统之类的东西。
而且建立一个完善的生态系统需要很多很多钱,可能是几倍十几倍三峡工程、京沪高铁的钱,国内缺钱的地方很多,搞IT的千万别觉得自己是个程序员,国内的所有资源都应该投放到软件行业。代码不能当饭吃,代码不能当水喝,代码也不能给谁生孩子。
今天是《半导体行业观察》为您分享的第1260期内容,欢迎关注。
R
eading
推荐阅读(点击文章标题,直接阅读)
【关于转载】:转载仅限全文转载并完整保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“半导体行业观察icbank”微信公众号。谢谢合作!
【关于征稿】:欢迎半导体精英投稿(包括翻译、整理),一经录用将署名刊登,红包重谢!签约成为专栏专家更有千元稿费!来稿邮件请在标题标明“投稿”,并在稿件中注明姓名、电话、单位和职务。欢迎添加我的个人微信号 MooreRen001或发邮件到 jyzhang@moore.ren