标题：MIPS架构
基本特点
MIPS架构20年多前由斯坦福大学开发，是一种简洁、优化、具有高度扩展性的RICS架构。它的基本特点是：包含大量的寄存器、指令数和字符、可视的管道延时时隙，这些特性使MIPS架构能够提供最高的每平方毫米性能和当今SoC设计中最低的能耗。[1]
应用范围
MIPS32® 和 MIPS64®指令集架构，可以无缝兼容，便于客户从旧代到新代的移植，同时能够保护现有软件的投资。  MIPS特定应用扩展[1]
特定应用扩展（Application Specific Extension，ASE），可提升特定类型应用的性能，其包括：
业界标准MIPS32® 和 MIPS64®架构的MIPS® DSP ASE信号处理扩展，能够提升客户SoC的媒体性能。
SmartMIPS® ASE，可在智能卡及其它安全数据应用中实现前所未有的安全性。
MIPS16e™ 代码压缩 ASE，能减少多达40%的存储器使用量。
MIPS-3D® ASE，可在数字娱乐和多媒体产品中实现高性能三维图像处理的一种具成本效益的解决方案。[1]
体系分类
MIPS32位架构MIPS32®架构刷新了32位嵌入式处理器的性能标准。它是MIPS科技公司下一代高性能MIPS-Based™处理器SoC发展蓝图的基础，并向上兼容MIPS64®64位架构。MIPS架构拥有强大的指令集、从32位到64位的可扩展性、广泛的软件开发工具以及众多MIPS科技公司授权厂商的支持，是领先的嵌入式架构。MIPS32架构是以前的MIPS I™ 和 MIPS II™指令集架构（ISA）的扩展集，整合了专门用于嵌入式应用的功能强大的新指令，以及以往只在64位R4000™ 和 R5000® MIPS®处理器中能见到的已经验证的存储器管理和特权模式控制机制。通过整合强大的新功能、标准化特权模式指令以及支持前代ISA，MIPS32架构为未来所有基于32位MIPS的开发提供了一个坚实的高性能基础。
MIPS32架构基于一种固定长度的定期编码指令集，并采用导入/存储（load/store）数据模型。经改进，这种架构可支持高级语言的优化执行。其算术和逻辑运算采用三个操作数的形式，允许编译器优化复杂的表达式。此外，它还带有32个通用寄存器，让编译器能够通过保持对寄存器内数据的频繁存取进一步优化代码的生成性能。
MIPS32架构从流行的R4000/R5000类64位处理器衍生出特权模式异常处理和存储器管理功能。它采用一组寄存器来反映缓存器、MMU、TLB及各个内核中实现的其它特权功能的配置。通过对特权模式和存储器管理进行标准化，并经由配置寄存器提供信息，MIPS32架构能够使实时操作系统、其它开发工具和应用代码同时被执行，并在MIPS32 和MIPS64处理器系列的各个产品之间复用。
它的高性能缓存器及存储器管理方案的灵活性仍继续成为MIPS架构的一大优势。MIPS32架构利用定义良好的缓存控制选项进一步扩展了这种优势。指令和数据缓存器的大小可以从256byte到4Mbyte。数据缓存可采用回写或直写策略。无缓存也是可选配置。存储器管理机制可以采用TLB或块地址转换（BAT）策略。利用TLB，MIPS32架构可满足Windows CE 和Linux的存储器管理要求。
由于增加了密集型数据处理、数据流和断言操作（predicated operations） ，可满足嵌入式市场不断增长的计算需求。条件数据移动（Conditional data move）和数据缓存预取（prefetch）指令被引入，以期提高通信及多媒体应用的数据吞吐量。固定浮点DSP型指令可进一步增强多媒体处理能力。这些新指令，包括乘法、乘加、乘减和“前导计数（count leading）0s/1s”，在处理音频、视频和多媒体等数据流时，无需在系统中增加额外的DSP硬件即可提供更高的性能。功能强大的浮点指令可加快某些任务的执行速度，比如一些DSP算法的处理、图形操作的实时计算。浮点操作可选择软件仿真。最后，为简化系统集成任务，MIPS32标准定义EJTAG（增强型JTAG）选项功能作为非入侵式、片上实时调试系统。[2]
MIPS64位架构MIPS64®架构刷新了64位MIPS-Based™嵌入式处理器的性能标准。它代表着下一代高性能MIPS®处理器的基础，并兼容MIPS32®32位架构。MIPS架构拥有强大的指令集、从32位到64位的可扩展性、广泛可获得的软件开发工具以及众多MIPS科技公司授权厂商的支持，是领先的嵌入式架构。MIPS64架构是以前的MIPS IV™ 和 MIPS V™指令集架构（ISA）的扩展集，整合了专门用于嵌入式应用的功能强大的新指令，以及以往在R4000® 和 R5000® MIPS处理器中执行的已经验证的存储器管理和特权模式控制机制。通过整合强大的新功能、标准化特权模式指令、支持前代ISA，以及提供从MIPS32架构升级的路径，MIPS64架构为未来基于MIPS处理器的开发提供了一个坚实的高性能基础。
MIPS64架构基于一种固定长度的定期编码指令集，并采用导入/存储（load/store）数据模型。经改进，这种架构可支持高级语言的优化执行。其算术和逻辑运算采用三个操作数的形式，允许编译器优化复杂的表达式。此外，它还带有32个通用寄存器，让编译器能够通过保持对寄存器内数据的频繁存取进一步优化代码的生成性能。
这种架构从R4000/R5000类处理器衍生出特权模式异常处理和存储器管理功能。它采用一组寄存器来反映缓存器、MMU、TLB及各个内核中实现的其它特权功能的配置。MIPS32架构的兼容模式让32位代码无需修改即可在MIPS64上运行。通过提供后向兼容性、对特权模式和存储器管理进行标准化，并经由配置寄存器提供信息，MIPS64架构能够使实时操作系统和应用代码同时被执行，并在MIPS32和MIPS64处理器系列的各个产品之间复用。
高性能缓存器及存储器管理方案的灵活性仍继续成为MIPS架构的一大优势。MIPS64架构利用定义良好的缓存控制选项功能进一步扩展了这种优势。指令和数据缓存器的大小可以从256byte到4Mbyte。数据缓存可采用回写或直写策略。无缓存也是可选配置。存储器管理机制可以采用TLB或块地址转换（BAT）策略。利用TLB，MIPS64架构可满足Windows CE和Linux的存储器管理要求。
由于增加了数据流和断言操作（predicated operations），可满足嵌入式市场不断增长的计算需求。条件数据移动和数据预取指令被标准化，以提高通信及多媒体应用的系统级数据吞吐量。
固定浮点DSP型指令可进一步增强多媒体处理能力。这些以前只有在某些64位MIPS处理器上才使用的指令，包括乘法（MUL）、乘加（MADD）、乘减（MSUB）和“前导计数（count leading） 0s/1s”，在处理音频、视频和多媒体等数据流时，无需在系统中增加额外的DSP硬件即可提供更高的性能。
功能强大的64位浮点寄存器和执行单元可加快某些任务的执行速度，比如一些DSP算法的处理、图形操作的实时计算。双单精度指令（Paired-Single instruction）在一个64位寄存器中装入了两个32位浮点操作数，从而实现单指令多数据操作（SIMD）。这种方法的执行速度是传统32位浮点单元的两倍。浮点操作可选择软件仿真。
MIPS64架构兼具32位和64位寻址模式，同时采用64位数据工作。这样一来，无需额外的存储器进行64位寻址就能获得64位数据的优势。为了便于从32位系列的移植，该架构还带有32位兼容模式，在这种模式中，所有寄存器和地址都是32位宽，MIPS32架构中出现的所有指令都被执行。[3]
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的处理器内核。[4]
发展历史
1981年，史丹佛大学教授约翰·轩尼诗领导他的团队，实作出第一个MIPS架构的处理器。他们原始的概令是透过指令管线化来增加CPU运算的速度。
1984年，约翰·轩尼诗教授离开斯坦福大学，创立MIPS科技公司。于1985年，设计出R2000芯片，1988年，将其改进为R3000芯片。
2002年，中国科学院计算所开始研发龙芯处理器，采用MIPS架构，但未经MIPS公司的授权，遭到侵权的控告。
2009年，中国科学院与MIPS公司达成和解，得到正式授权。[5]