CPU

MIPS 指令集发展历史及 MIPS 公司主要产品

参考来源: http://crva.io/documents/OpenISA-OpenSourceChip-Report-v1p0.pdf

微信图片_20190129172340.png


MIPS 指令集及架构在 2010 年以后发展迅速,至 2014 年的 5 年时间共发布了 4 个版本,在传统的整数浮点应用指令基础上逐步增加了多线程、 DSP 模块、 SIMD 模块以及虚拟化模块。这也与移动互联网应用的迅速发展时间相吻合,随着应用需求变化, MIPS 指令集以及架构也在迅速发展
 
TIM截图20190129172454.png

 
在 MIPS 指令集发展过程中,基本上严格保持新版本向后兼容的特点。比如MIPS Release5 可以向下兼容之前的所有指令集版本。但在最新发布的 MIPS Release 6 版本中,这种情况发生了变化。这个版本中增加了一些新的指令并对指令集进行了简化,删除了一些不常用的指令,重新排布了指令的编码,空余出了大量的指令槽用于将来的扩展。因此,可以把 MIPSRelease 6 版本看成一个几乎全新的定义。
 
MIPS 公司主要产品
自 2014 年发布 MIPS R6 版本之后, MIPS 公司的 IP Core 产品全面转向 MIPS R6 版本,形成覆盖高中低不同性能和应用需求的 Warrior 产品系列, 而把 R6 之前的产品全部归为 Classic 系列。 Warrior 产品系列又分为 M-Class, I-Class 和
P-Class 三个级别。 这三个级别的产品的特性如表 5 所示。

11212.png

从已有信息来看,自 2014 年 MIPS Release 6 发布以来,除 MIPS 公司自己的 Warrior 产品系列之外, 尚无第二个实现 MIPS Release 6 指令集的芯片。

MIPS 公司对 MIPS 开放计划进行了以下澄清:
1) 此次开放计划仅仅针对 MIPS 指令集的最新版本,即 2014 年发布的Release 6 版本。在开放计划中,并不包含早期版本(即 Release 5 或更早期)。不能把 MIPS 开放计划的授权与早期版本的授权混淆。
2) 如果一个公司开发了一个基于 MIPS 开放计划授权的实现,可以不需要开源这部分代码。
3) 合作伙伴如果加入 MIPS 开发计划并且通过认证,有机会把自己的服务放在 MIPS 开源计划中进行销售。
从以上信息可以知道, MIPS 开放计划并不是开放所有版本的 MIPS 指令集,而仅仅是最新的 MIPS Release 6 版本。从 MIPS Release 6 版本的文档可以知道,该版本并不与早期版本完全兼容,其中的修改甚至包括删除大量不常用指令,将回收的指令槽用于新增加的指令,在一定程度上几乎可以看成是一个全新的指
令集。由此可见, MIPS 开放计划中的 MIPS 指令集的初始生态环境并不乐观。这也是很少有产品采用基于 MIPS Release 6 指令集的 IP Core 的主要原因之一。
 

3 个评论

MIPS 公司的 IP Core 产品目前主要被应用在人工智能、汽车电子、消费类电子、 IOT 以及网络等 5 个市场。
人工智能领域,使用 MIPS 处理器 IP Core 的企业主要是 Wave Computing。该公司致力于基于数据流架构 AI 硬件加速技术,整合了 MIPS 的嵌入式处理器核。
汽车电子领域, MIPS 公司的 I6500-F 处理器 IP 刚刚通过 ISO 26262 和 IEC61508 等汽车电子认证,有望顺利打入汽车电子市场。
消费类电子领域, MTK 和 Broadcom 公司分别将 MIPS 处理器用于 4G LTE 调制解调器芯片和家用无线路由器主控芯片中。
IOT 嵌入式单片机领域,代表性企业是美国 Microchip 公司。与全球绝大部分嵌入式单片机采用 ARM Cortex M 系列处理器核不同,该公司一直坚持采用MIPS 的 32 位嵌入式处理器核。
美国 Cavium 公司(已被 Marvell 公司收购) 生产的基于 MIPS 处理器的网络处理器在大吞吐率低延迟网络转发应用中占据一定市场份额。
值得一提的是在 2017 年的超级计算机 Green500 评比中,来自日本的 PEZY公司采用 MIPS P6600 处理器核的超级计算机占据了榜单的第一、第二、第三以及第五名。
感觉 mips 的指令随着现在的发展,设计上已经崩了。
这么多年积累导致存续了大量的指令,新的指令又进一步加剧了指令的数量还无法有效替换旧指令。
导致指令槽布置非常不规整。
这么发展下去,MIPS 指令的前端解码电路就和 x86 一样了吧?需要重新翻译整理一下指令结构,才能走下一级。
所以这也是为什么 r6 几乎推倒了大量的指令重新回收设计。
不知道现在上纯 48bit 指令,乃至 64bit 指令长度压力有多大?为了这么多指令,增加指令容量重新开新的指令布置是个必然了吧?
RISC-V不是关键,关键是Open Source的、libre的成套EDA工具和Open Source的、libre的单元库。ISA只是一个软硬件之间的接口,有第五代,就会有第六代、第七代、下一代……
Open Source的、libre的成套EDA工具和Open Source的、libre的单元库是关键,没有这套工具,就无法设计芯片。这套工具是设计芯片的软件“光刻机”,是设计芯片的软件“数控智能机床”。目前还是西方商业软件帝国的天下。
同样,FPGA/CPLD也是关键,FPGA/CPLD是设计芯片的硬件“试验台”,是设计芯片的硬件“培养皿”。目前也还是西方商业帝国的天下。
所以http://crva.io/documents/OpenISA-OpenSourceChip-Report-v1p0.pdf这个文档,最关键之处是45页第5.4节表8。

要回复文章请先登录注册