开启辅助访问 切换到窄版

打印 上一主题 下一主题

MIPS穷途末路,龙芯自主指令集横空出世

[复制链接]
作者:@Xizi_NBIB5fVM 
版块:
MCU单片机技术 ARM 发布时间:2020-8-25 22:07:15
19960
楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式
龙芯终于和MIPS分道扬镳了。龙芯宣布从2020年Q2起新流片的龙芯CPU均支持LoongArch指令集,不再支持MIPS。龙芯作为MIPS生态里重要的一员,为什么要另起炉灶单干呢?
使用中标麒麟的龙芯电脑
在2001年,龙芯最初仅仅是中科院的一个课题组。当时胡伟武特别欣赏Alpha的设计,打算借鉴Alpha指令集搞一套自己的东西。然而胡伟武的师兄说,现在课题组就十来号人,一间40平方米的实验室,根本没能力自己搞一套体系。所以,龙芯就选择了当时仅次于X86的MIPS。这期间,龙芯还是没有获得MIPS授权的。根据法律法规,少量用于科研和教学这类非商业活动一般不属于专利侵权范围。
真正的转机是在2008年金融危机,当时美国股市一蹶不振。MIPS在和X86竞争中处于劣势,又没有办法从股市中吸血,自身难以为继。这个时候,龙芯果断出手,购买了MIPS指令集永久授权。为什么不把MIPS收购呢?一是龙芯没钱,二是这种收购不可能通过美国政府的审查。最近孙正义出售ARM,但凡阿里、腾讯、华为有一个收购,指令集问题都迎刃而解,可是ARM还是不出意外的被美国企业收购了。

正是这次MIPS的授权,龙芯解决了市场化最重要的知识产权问题。龙芯对于MIPS指令集的实现都是自己设计的ip,不需要技术转让,所以授权费很低。大家都知道,微软是不可能为龙芯单独开发一套操作系统的,Linux现在的几大架构里,也没有龙芯架构。从无到有,是一个多么艰难的过程。MIPS的意思很好理解,你既然想在MIPS生态圈里混,那你还是要交“会员费”的。
龙芯交了“会费”,龙芯的产品就可以贴上“兼容MIPS指令集”的商标了。这个就像你的笔记本上的Inter Inside\GRAPHICS BY NVIDIA 贴纸)。在Imagination持有MIPS时,并没有投入多少资源进行发展。龙芯逐渐引领了MIPS的生态建设。比如QEMU对mips平台只实现了32位的即时编译代码,一直没有实现64位的即时编译器,而龙芯帮助其在mips64平台上实现了完整的后端即时编译代码。龙芯在全球领域内独家完成了OpenJDK的MIPS64分支版本。像MIPS的GCC编译器、Linux内核,龙芯也贡献了大量的代码。

2019年,MIPS所属公司 Wave Computing 宣布开源 MIPS R6版本。很多人以为,这是龙芯的一次机会,实际上这个开源,对龙芯是一个矛盾。龙芯3A4000是兼容MIPS R5的,为什么不可以再继续兼容MIPS R6呢? 那是因为龙芯为了发展,自己扩展了很多指令,有些和MIPS R6是不兼容的。更为根本的是龙芯的指令槽已经用完了,如果删除自己扩展的指令,就会带来兼容性问题,不删除那就根本不能兼容MIPS R6 。怎么办? 不需要回答, Wave Computing 公司在2019年11月14日已经搁置了MIPS 开源计划。MIPS真是不死小强,几经转手还能混成这样,不简单啊。

寄人篱下,并非长久之计。没有发展主动权的自主不是真正的自主。开源社区的Linux版本,只有MIPS版本,谁知道你龙芯CPU有什么扩展指令,兼容MIPS就对了。国内Linux厂商对龙芯特别适配的,只有银河麒麟和Deepin。辛辛苦苦一整年,过年的时候却为他人做了嫁衣,这样的事决不能发生,所以龙芯推出自主 LoongArch 指令集恰逢天时地利。人和,这可能就没有了,因为国内其他芯片厂商都有自己的指令集。但是龙芯LoongArch 指令集对X86、ARM、risc-v、mips采用二进制翻译达到生态兼容,如果做成功,还是很有杀伤力的。
值得说明的,指令翻译是有损耗的,实际效果可能远远低于胡总的预期。个人猜测,有些指令是不允许被翻译的,这里面有很大的知识产权风险。有多少人知道,当年有一个 Lindows ,它和Windows 只差了一个字母。

龙芯走过的路,其他国产CPU设计厂商就不会遭遇么?明天的事,谁也说不清楚,但走自主的路,道路必然是曲折的,前景必然是光明的。龙芯自主指令集的推出,恰逢其时。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表