发布时间:2021-03-16 16:57:42来源:CSDN
作者|马超
责编|欧阳姝黎、苏宓
出品|CSDN(ID:CSDNnews)
“MIPS岂是无情物,化为RISC-V更护芯”。
曾经在PC时代与X86、ARM三分天下的MIPS,几经辗转之后,于近日迎来了命运的终章,正式加入同属精简指令集RISC-V的阵营。
在这个万物互联的IoT时代,基于精简指令集的芯片在能耗、效率等方面拥有明显的优势,尤其在开源光环的加持下,RISC-V近期的发展风声水起,无往不利。相对比下,MIPS作为入门CPU工作原理时必学的经典架构,在这一片大好的形势下黯然退场,着实令我们广大程序员群体无限唏嘘。
MIPS——曾经独自扛起RISC大旗的指令集
MIPS(Microprocessorwithoutinterlockedpipelinedstages),即“无内部互锁流水级的微处理器”,其关键思想是尽量利用软件办法避免流水线中的问题,而不使用硬件锁。
1981年,斯坦福大学的第十任校长、冯诺依曼奖与图灵奖的双料得主约翰·轩尼诗教授做出了世界第一款MIPS架构的处理器。这几乎也是世界上第一款真正实践了精简指令思想的处理器。
而如今将MIPS收入麾下的RISC-V,直到30年后的2010年才诞生,除此之外,与MIPS同场竞技三十年的ARM系列,也是彼时的4年后才由ARM公司的前身Acorn设计出第一代原型产品。
不过在当时的那个年代ARM还没有什么上台面的机会,刚出生不久ARM就面对着各种动荡与波折。在一手创办出前两代ARM芯片之后,有着“英国苹果公司”之称的Acorn后来轰然倒在了个人电脑时代到来之前,可以说在当时的很长一段时间内,MIPS几乎是以一己之力独自扛起了RISC阵营的大旗。
精简时代的天之骄子MIPS
可谓30年河东,30年河西。如今回看MIPS,也曾一度辉煌。
众所周知,在计算机中,让CPU执行某种运算、处理功能的命令称为指令,是计算机运行的最小的功能单位。指令集是指芯片全部指令的集合,是计算机系统能提供的全部功能体现,最关键的是指令集决定了指令的格式和机器的结构,因此指令集也常被称作芯片架构,如果说芯片是计算机的核心,那么指令集就是芯片的核心。
在复杂指令集大行其道的上世纪60到70年代,计算机系统的内存、存储、CPU等等资源都非常匮乏,用户对于性能的要求往往是第一位的,而且当时大型的软件项目还不多,高级语言便于组织协同、提升工程效率的特点还无法显现,汇编语言做为性能保证在当时是拥有绝对的统治地位的,从某种意义上讲汇编语言就是指令集的API,因此当时的指令集往往倾向于提供更多的API指令,使程序员以更少的代码,完成更多的工作。
但随着时间的推移,指令的增加似乎没有尽头,据说当时一台摩托罗拉大型机的汇编语言参考手册相当于5本新华字典,一般资质的程序员不折腾一年半载可能连个HELLOWORLD都写不出来,甚至很多指令连芯片厂商的设计人员都只能机械式的从上个版本中继承,却不知道实际有何作用,天下苦复杂指令集久矣。
MIPS是一出生就显示出天选之子的气象,正如上文所述,在当时那个年代精简指令集对于复杂指令集有着碾压式的优势,在这样的大背景下,1984年,约翰·轩尼诗教授离开斯坦福大学,正式创立MIPS科技公司。
1985年,MIPS科技设计出R2000芯片;
1988年,MIPS将R2000升级为R3000,不负众望,R3000一经推出便风靡全球,即使现在年轻的读者已经完全没听过什么R3000芯片了,但相信你也一定知道索尼的游戏平台PlayStation,这款首发于1994年的创世神机,搭载的就是MIPSR3000ACPU。
PlayStation在30年前那个时代就带来了令个IT界为之震撼的3D图像效果,很快占据了家庭娱乐市场的C位,PlayStation的横空出世也为MIPS做了一波最好的代言,R3000这款芯片强到没朋友。
MIPSVSItanium服务器双雄,却接连落幕
借PlayStation成功上位之后,MIPS又成功进军服务器市场,先是在1991年登陆SGI的Indigo工作站。
随后又在1997年,随NECCenju-4超级计算机共同亮相,这台超算极具划时代意义,它最多可集成1024个MIPSR10000CPU,具有很多类似于同步广播、多级网络连接等超前的设计。
这两款服务器产品,不但为MIPS带来良好的业绩,更在业界为MIPS赢得了极佳的口碑。
如果说MIPS仅仅用在游戏机上的话,那我想英特尔大概率会选择忍耐,不过当战火烧到了企业级的服务器市场,这块兵家必争之地时,英特尔这位芯片界的霸主就只能亲身下场与MIPS展开决战了。
为应对MIPS系列芯片带来的冲击,20年前的英特尔上来就甩了王炸,直接抛弃了X86架构,推出IntelArchitecture64架构的安腾(Itanium)系列服务器级CPU,我们知道由于历史原因X86系列的CPU始终都要保持向后兼容,也就是为286编写的程序,也要能完美运行在486上,不过286是16位而486却是32位,让两个位长都不一样的CPU运行同样的程序,还不出问题,这可真是难为英特尔的程序员了,X86系列CPU经常要在各种保护模式、实模式之间来回横跳,没有过硬的技术功底,想弄明白X86的系统是如何加载引导的都十分困难。
IntelArchitecture64架构号称真64位芯片,也就是说基于这种架构的安腾CPU不需要在各种兼容模式下切换,不过这样做的代价却是要与x86决裂。
按理来说,同一厂商的CPU往往都要考虑相互兼容的问题,没有哪个客户能接受把CPU从I3升级成I7后,Word都无法运行的后果,因此推出与X86说再见的安腾系列肯定是最后的无奈之举了,但这也从侧面让我们能感受到当年MIPS正面硬刚英特尔这个芯片业老大时的不凡风范。
记得笔者在多年前刚刚到金融行业工作时,第一次接触小型机就是基于安腾系列芯片的,其性能、稳定性等等方面表现都是很不错的,当然彼时的小型机在去IOE风潮之下,现在已经很难再见到了,安腾系列自从2017年9700系列也就停止了更新,并在2019年被正式砍掉,历史总是拥有对称之美,2001年时任英特尔CTO的帕特·基辛格亲自发布了安腾2,见证了安腾的从无到有。
而在现在帕特·基辛格回归英特尔出任CEO时,又正值MIPS轰然倒下,这真可谓是世事难料,诸行无常。
MIPS落幕!
十年前笔者还经常混迹于CSDN论坛,担任嵌入式大版的版主,当时MIPS架构的应用开发与移植,包括WINCE、ucLinux等各类式操作系统区的热门话题,在当时的势头还很好。
不过与诺基亚一样,MIPS由于始终没有搞定能耗的问题,而痛失移动时代的机遇,最终慢慢淡出大众的视线,开始了漫长的告别。
2013-2014年,拥有PowerVRGP的图片处理芯片公司Imagination,在一系列的复杂操作下收购了MIPS及MIPS所有的知识产权,但是并入Imagination后MIPS继续萎缩,后来又被AI数据流处理器的初创公司WaveComputing所收购,巧合的是WaveComputing与RISC-V一样都是成立于2010年。
对于WaveComputing收购MIPS不知是否是出于情怀,毕竟彼时的MIPS一直耕耘的CPU领域其实与AI数据流处理器完全不同,CPU本身是中央控制单元,所谓控制就是跳转,而且CPU进行的计算主要是将任务转换成加法来进行的,比如减法是加一个有符合的负数,乘法是多个数相加。
但是在AI的神经网络世界中,神经元的工作可以抽象为对于输入数据乘以权重以表示信号强度乘积加总,再由ReLU、Sigmoid等应用激活函数调节,本质是将输入数据与权重矩阵相乘,并输入激活函数,对于有三个输入数据和两个全连接神经元的单层神经网络而言,需要把输入和权重进行六次相乘,并得出两组乘积之和。这实际上就是一个矩阵乘法运算。因此AI的运算中向量与矩阵的运算才是基础。
在这其中,我们看到针对AI计算的特殊性,各大科技巨头在励精图治后都给出了自己的独门绝技。比如华为推出的“达芬奇架构”,具体来说,达芬奇架构采用3DCube针对矩阵运算做加速,以N*N的矩阵乘法为例,3DCube技术通过优化的运算单元,可以将运算复杂度直接降低幂级,这也造就了基于达芬奇架构的昇腾910芯片成为地表算力最强的AI芯片。
另外谷歌TPU选择了复杂指令集作为其架构基础,谷歌创建了一个编译器和软件栈,将来自TensorFlow的API调用直接转化成TPU指令,这也印证这样一个逻辑,在AI的世界中几乎所有的运算都需要对应的指令与电路进行专门的优化才能真正提升效率。
从这个角度上看从事AI处理器的WaveComputing还是选择复杂指令集更为合理,收购MIPS似乎将注定是一次美丽的错误。
成也开源,败也开源
MIPS的回光返照发生于2019年,前MIPS授权许可业务总裁ArtSwift正式接任WaveComputingCEO一职,并提出MIPSOPEN计划,将MIPS架构开源,以期通过像RISC-V那样通过免费与开放战略吸引到更多企业客户与开发者。MIPS开源的举措,在当时被认为既向ARM示威,又向RSIC-V宣战,更为即将开始的IoT时代做好准备。
但选择开源就要厚积薄发与时间为伴,我们看到像Linux、RT-Thread、TiDB等成功的开源项目,都有长时间的社区人气积累与技术沉淀的加持,想要立竿见影的效果去急功近利的开源只能适得其反。
MIPS开源后不久,WaveComputing便陷入人事调整,刚刚指掌公司不到半年的CEOArtSwift宣布离任,这位MIPS铁杆人物的出走也让业界对WaveComputing及MIPSOPEN的发展打上了一个大大的问号,更使MIPS开源社区的士气大受打击。
今年2月10日,WaveComputing正式宣告资产重组,在其最后的声明中宣布MIPS正在开发基于RISC-V的“第八代标准体系结构”。
3月8日,MIPS宣布将履行之前的MIPSOPEN计划,并正式加入RISC-V阵营,至此MIPS与RISC-V正式官宣合体。
值得欣慰的是,MIPS和RISC-V在中国发展得都还不错,比如国内的芯片厂商龙芯和芯联芯都买断了MIPS的知识产权,尤其是龙芯在吸收MIPS精华之后,还推出了自主的Loongarch芯片指令集,并独创了指令翻译技术,兼容其它平台应用。在去年的操作系统全国高校联赛中,国产的开源操作系统RT-ThreadSmart与国产全志RISC-V处理器的组合已经成功登台亮相,获得组委会大奖,这一切似乎预示着开源与中国有源,最后祝愿MIPS能够借助于RISC-V的开源理念再回巅峰,也愿RISC-V能够助我国早日去除“芯”痛。
声明:本文仅代表作者观点,不代表CSDN立场。
预约《大咖来了》直播,赢纪念版卫衣以及保温杯等礼品,在直播间精选留言提问题,若问题被采纳,将直接赠送马克杯!先到先得!