microMIPS™指令集架构
microMIPS™是一种在单个统一的指令集架构中集成了16位和32位优化指令的高性能代码压缩技术。它支持MIPS32® 和 MIPS64® Release 2架构,整合了可变长度重新编码MIPS指令集和新增的代码量优化16位和32位指令,可提供高性能和高代码密度。
microMIPS是一个完整的ISA,既能单独工作,也能与原有的MIPS32兼容指令解码器共同工作,允许程序混合16位和32位代码,无需模式切换。microMIPS的程序代码量较小,因此可获得更好的缓存利用率和更小的取指带宽(fetch bandwidth),从而有助于提升性能,降低功耗。
microMIPS包含所有MIPS ASE 指令,支持CorExtend™/UDI接口。而且,针对microMIPS软件及系统开发,MIPS科技公司与第三方合作伙伴生态系统提供有一套全面完善的软硬件工具支持。新推出的M14K™和 M14Kc™是首先执行 microMIPS的处理器内核。
- 一种代码压缩ISA,可以保持98%的MIPS32 性能,而代码量减少35%,这意味着硅成本的大幅度节省
- 基于MIPS32 和 MIPS64架构开发 -兼容格式- 这种统一的ISA在MIPS32版本中包含了16位和32位优化代码(opcode),在MIPS64版本中新增加了48位优化代码
- 优化代码和操作数字段定义基于对广大范围的应用软件、中间件、RTOS和Linux内核的统计分析
- MIPS汇编源码级及ABI(应用程序二进制接口)兼容
- 保持MIPS的编译器代码生成效率
- 支持所有现有MIPS32 和 MIPS64指令
- 围绕可变长度重新编码方案而设计
- 新增15条32位指令,39条16位指令
- 包含常用MIPS32指令和重新编码的16位宏指令
- 对16位指令,寄存器和即时值(immediate values)的大小降低
- 优化代码格式分为6位主优化代码和可变长度的次优化代码
- 涵盖所有主要的、最常用的指令类型,包括多重载入/存储(load/store multiple)
- 分支/字元目标为半字元对齐(half-word aligned)
- 保持分支和跳转延时间隙(slot)
- 不太常用的载入/存储指令的偏移量较小,以尽可能地降低代码量
- 编译器中带有完善的寄存器分配算法
- 得到Codesourcery Sourcery G++ GNU工具链的支持
- MIPS Navigator™ Integrated Component Suite (ICS) 和 System Navigator™ probe可提供系统调试和开发支持
MIPS32® 架构参考手册,卷IV-g: microMIPS™
MIPS64® 架构参考手册,卷 IV-g: microMIPS™