■本报记者 赵广立
“国内有七八家企业都在做国产CPU(中央处理器),指令集也是各种各样,有7种指令集——应该是全世界最多的了。这种百花齐放的状态,有什么利和弊?”
日前,在中国计算机学会青年计算机科技论坛(CCF YOCSEF)主办的“YOCSEF 20周年系列活动之国产CPU的最新进展和自主发展研讨会”上,中科院计算所先进计算机系统研究中心常务副主任包云岗在其题为《处理器指令集,该百花齐放还是该力出一孔?》的主题演讲伊始,就抛出了上述问题,引发了现场行业专家的热议。
学者:指令集百花齐放弊大于利
“从宏观的经济学角度来看,百花齐放体现了市场经济竞争的状态,可以避免垄断。但它的弊端也非常明显:我国‘核高基’本身基础软件就比较弱,如果一个开发人员写一个软件,要面临7种指令集,做一个编译器要考虑7种架构,几乎是不可能的。”包云岗认为“百花齐放”弊大于利:“一定程度上,这么多的指令集延缓了国产CPU自主生态的建设。”
指令集是计算机的抽象模型,事关信息产业的基础。记者了解到,2012年,中国曾在工信部的推动下计划制定CPU指令集国家标准。然而,一方面由于国内几家国产处理器厂商选择了不同指令集,各不相让;另一方面从零开始设计一套全新的指令集又让人望而却步,于是国家指令集便逐渐没有了下文。
如今,国内正在研制的处理器所采用的指令集包罗万象,这其中包括ARM、MIPS、PowerPC、SPARC、SW64、RISC-V、X86等,“几乎国外有的我们全有”。包云岗介绍说,当前在国产处理器中,除了龙芯与申威一直在坚持创建自己的生态系统外,基于ARM的海思、飞腾、华芯通与基于X86的海光、兆芯,则希望借助现有的生态系统开拓市场。
“看似一片繁荣,实则严重分散了本已十分稀缺的基础软件开发力量,导致编译、操作系统等基础软件开发者与爱好者由于精力有限而无法兼顾所有指令集的优化。”
包云岗还指出,百花齐放的现状还严重影响到计算机专业的本科教学。“我经常跟高校里面的老师进行交流,发现不同课程所涉及使用的不同指令集会给学生带来负担。”他告诉记者,目前的课程体系并没有制定相关标准,很多学校开设的不同课程会让学生使用不同的指令集开展实验,导致学生忙于了解各种指令集汇编语言,而疏于了解指令集本身的设计精髓和指令集与处理器、编译、操作系统之间的联系。
毫无疑问,中国是世界最大的芯片用户——2013年以来,我国每年集成电路进口总额都超过2000亿美元,2017年或将创出超过2500亿美元的历史新高,这其中CPU一项就占近1/4的份额——这也是中国一直希望能把国产芯片产业做大做强的重要原因之一。然而,包云岗认为,尽管各方都在努力,但由于思路不同,导致目前“军阀割据”的状态,整个产业近似“一盘散沙”,严重分散基础软件开发力量。
“这种局面必须扭转才能形成在国际上有竞争力的芯片产业。”他认为,有鉴于印度等越来越多的国家推行国家指令集标准,中国也有必要再次考虑推行指令集国家标准。
交锋:自主可控有其他路径
不过,对于包云岗推行指令集国家标准的动议,一些专家和厂商却有不同的看法。
现场一位来自北京理工大学的科研人员认为,从软件层面来讲制定一个国家标准,确实有利于软件生态的构造和发展,但这对于国内CPU厂商而言,每家都有一些商业机密和各自的特点,实际操作起来可能会存在很多困难。他建议,不妨仅在某个虚拟层次制定一个标准指令集,硬件层面上仍旧各自自由发挥。
华芯通一位王姓硬件工程师则表示,不同的指令集差异很大,但优秀的指令集差异并不大;并且他认为,指令集是动态发展、不断优化的,每一代都在变,“贸然定义一个指令集很难”。他认为,为了做好一个指令集,“加入到一个主流阵营里面是更省力的一种做法”。
作为典型的“引进吸收再创新”模式,华芯通是贵州省与美国高通公司于2016年1月共同成立的半导体技术公司,专注于设计、开发并销售先进的服务器芯片,双方持股比例为55:45。在公司发展前期,美国高通公司将向合资公司提供其服务器芯片的先进技术,支持华芯通半导体在未来的发展。
前英特尔技术计算架构师、阿里云高性能计算负责人何万青提出,当前大家关注国产CPU的发展,关注的焦点是自主可控和安全问题,但实现自主可控的安全有两种模式:一种是完全掌握所有软硬件技术,一种是“你中有我、我中有你”,“这种更实际一些,商业上做到这一点,就能保障安全”。
在何万青看来,从商业角度出发,通往国产CPU的生态,可以“从周围包抄”,通过不同层面的“占领”来把握自主可控。
针对现场有人提出近期爆发的芯片漏洞引发全球产业的震动,抛出“就算完全自主设计也不见得绝对安全”的观点,清华大学计算机系教授陈文光反驳道:“自主设计固然做不到绝对安全,难道不是自主设计的更安全?”他提出,自主设计这条路要走,但现阶段可能需要“两条腿走路”,即一条腿“站在巨人肩膀上”,另一条腿“自己走”。
“大家都认同一个目标,那就是中国如今的发展,最终是要在整个产业链上都有话语权,甚至全部吃下。”
包云岗也在会后接受记者采访时进一步表示,国家推行一个标准,不是要搞垄断,而是现在7个指令集、7个方向实在太多,可以逐渐收敛到一到两个,“但从教育的角度来讲,我希望就只有一个”。
《中国科学报》 (2018-02-01 第5版 技术经济周刊)