随着全球新冠肺炎疫情和复杂的国际形势,构建自主可控的产业生态已成为共识。要实现完全自主可控,需要提高包括ip核和EDA工具在内的芯片研发能力和基于自主材料和设备的芯片制造能力,还要构建基于自主指令系统的软件生态系统。
指令集是连接硬件架构和软件生态的桥梁。近几十年来,随着集成电路和信息技术系统的发展,指令集架构的市场风起云涌,从复杂指令集和简化指令集的争议,到闭源和开源的区别,从RISC架构到X86和ARM,指令集的市场始终暗流涌动。在这个过程中,出现了很多大家熟悉的指令集架构,包括学术上被认为比较成功的DEC Alpha,经典教科书中写的MIPS,追求线程级并行的Sun,以及近年来如雨后春笋般出现的RISC-V。
MIPS,一度被业界认为可以媲美ARM和X86,成为世界三大主流架构之一,无疑是最值得关注的指令集之一。从成名到多次易手,MIPS几十年来见证了指令集格局的剧烈变化,也见证了中国在自主可控的道路上跌跌撞撞前行。2020年,龙芯中科推出基于20年CPU发展和生态建设积累的龙芯架构,标志着中国自主创新正式进入新阶段。
从CISC与RISC之争到RISC的绽放
在计算机出现的早期,存储速度极其缓慢,广泛使用的慢速磁带存储设备和大容量内存的缺乏,使得计算机珍惜每一个字节空的应用。因此,人们倾向于在一个指令中做更多的工作。于是,被称为CISC的指令集形成了,并迅速成为主流。然而,在20世纪70年代中后期,IBM意识到日益复杂的指令系统不仅难以实现,而且可能会降低系统性能。随即,加州大学伯克利分校的帕特森、斯坦福大学的轩尼诗等科学家开始尝试设计简化指令集。因此,在信息技术史上,CISC和RISC之间产生了深远的争议。
图形:MIPS R3000
32位RISC芯片产品的成功,推动了商用组件生产超级计算机的进程,也启示行业以更先进的RISC技术走向超级计算的巅峰,处理器架构开启了从32位到64位的发展浪潮。1991年,MIPS推出了第一款64位商用微处理器R4000。第二年年底,另一款RISC架构Alpha同时问世,完成了从32位到64位技术的所有任务。此后,在MIPS R4000和Alpha 21064处理器的引领下,64位技术的应用时代已经到来。
1996年,MIPS推出R10000作为RISC阵营的旗舰之一,上市时被认为是全球最快的CPU。当时,在CISC阵营中获得第一名的英特尔产品不如他们。MIPS产品性能强劲。根据MIPS技术公司的统计,1997年基于MIPS架构的CPU出货量为4800万,占RISC CPU总市场份额的49%。
与此同时,MIPS最大的竞争对手ARM也走上了独特的发展道路。早期ARM表现平平,没能在RISC架构群星璀璨的时代崭露头角。在这种情况下,公司决定改变产品策略——不生产芯片,而是通过授权将芯片设计方案转让给其他公司。这种风险共担、利益共享的模式,使得形成以ARM为核心的生态圈成为可能。从产品授权到德州仪器,再到迎来第一大客户诺基亚,ARM随着手机的普及搭上了快车。在这个过程中,ARM与苹果之间深厚的历史渊源,是ARM抓住智能手机机遇的重要因素。iphone的普及和谷歌安卓基于ARM指令集的事实,让全球移动应用牢牢绑定在ARM指令集上。
图解:MIPS登陆纳斯达克
1998年,业务发展迅速的ARM在伦敦证券交易所和纳斯达克证券交易所上市。同年,成立14年的MIPS科技股也在纳斯达克公开上市。然而,与越来越好的ARM不同,MIPS的道路并不平坦。
MIPS授权可以分为处理器核心授权和架构授权。MIPS的定价策略是核心授权贵,架构授权便宜。同时,MIPS架构授权并不限制对MIPS架构的任何改动。这种模式造成了生态碎片,因为它允许自我扩展的指令。
更重要的是,MIPS自成立以来一直面向中高端市场,专注于产品性能。移动时代萌芽时,MIPS在功耗上并没有太大优势,也没有专注于打造自己的移动处理器“朋友圈”,在PC走向移动的浪潮中不得不陷入两难。
来自中国市场的机遇
这时,一个来自中国市场的机会来到了MIPS。2001年,中国科学院计算技术研究所龙芯研究组成立,致力于国产CPU的开发。龙芯研究集团以自主设计为出发点,看中了架构成熟、设计变化自由的MIPS。已经受够了生态短缺的MIPS也非常重视这个机会,打算借助龙芯在新中国市场打开一片天地。
2010年,在北京和中科院的支持下,龙芯正式启动以课题组骨干人员为主体的龙芯产业化。此前,MIPS宣布中国科学院计算技术研究所龙芯CPU已获得其处理器IP的全部专利和总线、指令集许可证。2011年,龙芯中科公司自主购买MIPS架构许可证。
MIPS与龙芯中科的合作,以生态建设和市场开发为目标,诚意满满,龙芯中科在极为有利的条件下获得授权。据公开报道,龙芯中科从MIPS获得终身许可,每隔几年更新一次,每次更新期间支付固定金额的许可费。龙芯中科享有续费权,双方无需重新协商,除非双方破产,协议不能中止。
插图:龙芯大学开源项目启动仪式,右二为MIPS公司代表
十多年来,MIPS一直与中国市场的客户保持着良好的关系。2016年,在中国计算机大会期间,MIPS还派代表出席了由龙芯中科主办的“龙芯CPU计算机系统能力培训开源计划”启动仪式,并与龙芯中科总裁胡共同启动了龙芯开源计划。MIPS对中国市场的期待由此可见一斑。
2012年底,MIPS被ARM和畅想收购。2017年,因为苹果宣布放弃PowerVR GPU,畅想的股价下跌了70%。面对危机,Imagination不得不断臂求生,MIPS被剥离,由加州投资公司Tallwood持有。2018年,AI初创公司Wave Computing接管了MIPS。由于过去几年的多次收购,影响了MIPS的支持力度和发展的可持续性,也极大地影响了MIPS在中国市场构建生态环境的尝试。相反,其合作伙伴龙芯中科已经成为MIPS指令集生态的主要构建者。
开源VS闭源
2018年底,创始团队多位来自MIPS新东家Wave Computing,大胆宣布将开源最新的R6指令集,旨在加速MIPS指令集架构的普及。选择开源是MIPS构建生态的又一次尝试。然而,从随后的事件来看,这一尝试并不成功。
说明:MIPS宣布暂停MIPS开放计划
2019年底,Wave Computing在发给注册MIPS Open用户的邮件中写道:很遗憾宣布MIPS Open计划关闭,将于2019年11月14日起生效。Wave将不再提供包括MIPS开放组件在内的免费下载,包括MIPS架构、核心、工具、ide、模拟器、FPGA包和/或任何相关软件代码或计算机硬件。
MIPS开源的尝试戛然而止,但指令集架构的闭源与开源之争方兴未艾。开源指令集RISC-V诞生于2010年。以物联网、人工智能等技术浪潮为契机,正在对主导移动市场的闭源指令集ARM产生猛烈冲击。RISC-V架构的开发者之一、SiFive公司联合创始人兼首席架构师Krste Asanovic宣称:“开源架构RISC-V将永远免费,成为人类的共同财产。相比X86和ARM架构的高门槛,开源架构RISC-V将带来芯片设计的一场革命。”根据公开信息,RISC-V基金会的全球成员在2020年将增加一倍,达到900多名成员,包括215个组织。甚至有业内人士指出:“几乎没有不懂或者有RISC-V布局的大厂。即使没有量产产品,他们通常也会加入行业联盟。”
但归根结底,CPU指令系统是计算机的软硬件接口,是CPU执行的软件指令的二进制编码格式规范。一个指令系统承载着一个软件生态,X86的强大来自于Wintel的稳定联盟。ARM的崛起是合作共赢、生态至上的生动案例,其今天的稳固地位也是AA联盟的胜利。开源指令集和闭源指令集的结果必须归功于生态学。这也是中国必须构建自主教学系统生态的根本原因。
国外CPU厂商利用指令系统作为控制生态的手段,开发兼容的CPU需要获得授权。使用授权指令系统可以开发产品,但不可能形成独立的产业生态,就像中国人可以用英语写小说,但不可能形成基于英语的中国民族文化。
图片:龙卡
幸运的是,随着龙中科推出的LoongArch,基于自主教学系统构建软件生态的重大项目取得了新的进展。据报道,LoongArch包括基础设施和向量指令、虚拟化、二进制翻译等扩展部分,有近2000条指令,其特点是完全自主、技术先进、生态兼容。国内知名第三方知识产权评估机构的评估结果显示,LoongArch自主设计了指令系统设计、指令格式、指令编码和寻址方式。LoongArch指令系统手册在章节结构、指令描述结构、指令内容表达等方面与ARM、MIPS、RISC-V、X86等国际主要指令系统有明显不同。未发现龙卡基础设施对上述主要国际指令系统中国专利的侵权风险。
指令系统是软件生态的起点。只有从指令系统的根源上实现自主,才能打破软件生态的发展受制于人的链条。为推广龙卡,加快龙卡生态建设,龙芯中科计划建立自主教学系统联盟,联盟所有成员均可免费获得自主教学系统使用权。龙芯中科还计划向联盟成员开放部分CPU核心设计,这些核心的最高性能达到ARM A53的水平。此外,2021年,龙芯中科将与10所高校合作,围绕自主教学系统开展教学与研究,开展基于简化指令集的CPU设计实验。这些行动将有助于提升我国整体CPU设计水平,降低芯片行业的产品研发成本,提高其生存和参与国际竞争的能力。