MIPS架构处理器

自从1985年以来，各种基于MIPS架构的中央处理器、SoCs已经被设计出来且广泛使用。

**MIPS微处理器**
流水线式 MIPS，展示了指令获取、指令解码、执行、内存访问和写回等5个阶段
1985年，第一个MIPS微处理器R2000发布。它在某种独立的片上单元中增加了多周期乘法和除法指令。新的指令被添加进去以将结果从该单元检索回寄存器文件；这些检索结果的指令是互锁的。
R2000可以以大端序或小端序引导进入系统。它具有31个32位通用寄存器，但没有条件代码寄存器（条件代码寄存器是AMD 29000和Alpha处理器所共有的功能，设计人员认为这是潜在的瓶颈）。与其他寄存器不同，程序计数器是不能被直接访问的。
R2000还支持多达四个协处理器，其中一个内置于主CPU中，并处理异常，陷阱和内存管理，而其他三个则留作其他用途。其他三个协处理器的其中之一可选为R2010 FPU，该模块具有32个32位寄存器，可以用作16个64位寄存器以实现双精度计算。
R3000在1988年继承了 R2000 ，它增加了32 KB的一级指令和数据高速缓存（后来很快增加到64 KB），并以高速缓存一致性协议的形式支持共享内存多处理。尽管 R3000 的多处理器支持存在缺陷，但已成功用于多台成功的多处理器计算机案例中。 R3000 内置MMU，这是该时代CPU的常见功能。与 R2000 一样， R3000 可以与 R3010  FPU配对。 R3000 是市场上第一个成功的MIPS微处理器案例，最终生产了超过一百万颗处理器。 R3000A 是速度最快的 R3000 版本，运行速度高达40 MHz，可提供32个 VUP（VAX性能单位）的性能。兼容MIPS R3000A的R3051以33.8688 MHz运行，尽管它没有FPU或MMU，但却是 Sony PlayStation 中使用的处理器。第三方设计中由 Performance Semiconductor 设计的 R3400 和由 IDT 设计的 R3500，它们都是集成 R3010 FPU 的 R3000A。东芝的R3900实际上是用于运行 Windows CE 的早期手持式PC的第一个SoC。用于太空应用的抗辐照芯片 Mongoose-V 是集成R3010 FPU 的 R3000 。
1991年发布的R4000系列将MIPS扩展到完整的64位体系结构，将FPU集成到主芯片上以创建单芯片微处理器，并且在集成时实现了100 MHz的高时钟频率。但是，为了达到该时钟频率，指令和数据高速缓存各减少到8 KB，并且需要三个时钟周期来进行访问。高工作频率是通过深流水线技术（当时称为超级流水线）实现的。改进的R4400于1993年问世。它具有更大的16 KB主缓存，基本上无错误的64位操作的支持以及对更大的L2缓存的支持。
MIPS科技公司，原来是 SGI 的一个部门MTI，设计了低成本的 R4200  ，这是更便宜的 R4300i 的基础。 Nintendo 64游戏机使用了该微处理器的衍生产品NEC VR4300。
由IDT制造，由Quantum Effect Devices设计的带有裸露硅芯片的R4700 Orion封装的底视图
R4700 Orion封装的顶视图
Quantum Effect Devices（QED）是由 MIPS 前员工创立的另一家公司，设计了R4600 Orion，R4700 Orion，R4650 和 R5000 。在 R4000 推高时钟频率并牺牲了缓存容量的情况下， QED 设计强调了大型缓存设计，可以在两个时钟周期内就可以对其进行访问，并有效利用了硅片面积。 R4600和R4700用于 SGI Indy 工作站的低成本版本以及第一批基于 MIPS架构 微处理器 的Cisco 路由器，例如 36x0 和 7x00 系列路由器。R4650用于原始的 WebTV 机顶盒 （也就是现在的Microsoft TV）。 R5000 的 FPU 比 R4000 具有更灵活的单精度浮点调度，因此，基于 R5000 的SGI Indys 工作站比拥有相同图形硬件、相似CPU频率的R4400 Indys 工作站拥有更好的图形性能。  SGI 推出基于 R5000 的SGI Indys 工作站时，为旧的图形板重新命名，以强调其改进。 QED 随后为网络和激光打印机等嵌入式市场设计了 RM7000 和 RM9000 系列设备。 QED 在2000年8月被半导体制造商 PMC-Sierra 收购，后者继续投资MIPS架构设备。 RM7000 集成256KB L2缓存和一个用于可选L3缓存的控制器。 RM9xx0 是 SoC 设备家族，集成了内存控制器和北桥外设，其中包括外围组件互连PCI控制器，千兆以太网控制器和快速I/O，例如HyperTransport接口。
R8000（1994年发布）是第一个拥有超标量设计的MIPS处理器，能够在每个周期执行两个整数或浮点数和两个存储指令。该设计分布在六个模块上：一个整数单元（具有16KB指令和16KB数据高速缓存），一个浮点单元，三个全定制二级缓存标签RAM（两个用于二级缓存访问，一个用于总线侦听）和一个高速缓存控制器ASIC。该设计有两个全流水线双精度乘法加法单元，可以从4MB片外二级缓存中流式传输数据。 R8000 在1990年代中期用于 SGI 的 POWER Challenge 服务器，后来在 POWER Indigo2 工作站中亦有使用。尽管它的 FPU 性能非常适合科学用户，但其有限的整数性能和高昂的成本削弱了大多数用户的吸引力， R8000 仅在市场上销售了一年，到现在保留下来的此工作站已经相当罕见。
R10000 （1995年发布）是单芯片设计，运行的时钟频率比 R8000 更高，并具有更大的32KB指令缓存和数据缓存。它也是超标量处理器，但其主要创新是乱序执行。即使使用单个内存流水线和更简单的 FPU ， R10000 的大幅改进使其拥有更低的价格和更高的晶体管密度，也使 R10000 对于大多数客户而言是首选之物。
MIPS科技公司后来的一些设计都基于 R10000 内核。  R12000 使用0.25微米的工艺来缩小芯片并获得更高的时钟频率。修改后的 R14000允许更高的时钟频率，并在片外缓存中额外支持 DDR  SRAM。以后的迭代分别称为 R16000 和 R16000A ，与前代相比，它们具有更高的时钟频率和更低的晶体制程精度。
MIPS系列的微处理器的其他成员包括 R6000 ，这是一种由 Bipolar Integrated Technology 设计并实现了 ECL 的处理器。R6000 实现了MIPS II 架构。它的转换后备缓冲区（TLB）和缓存体系结构与MIPS系列的其他成员都不同。 R6000 没有实现承诺的性能优势，尽管它在 Control Data 机器中得到了一些应用，但很快就从主流市场中消失了。

**历史**

**第一代硬件**
1981年，约翰·轩尼诗在斯坦福大学设立了 MIPS (Microprocessor without Interlocked Pipeline Stages)项目以研究精简指令集计算技术。项目的成果向他展示了这项技术潜在的经济价值，并让他在1984年休假期间成立了 MIPS Computer Systems 。该公司设计了一种新的体系结构，也称为 MIPS ，并于1985年推出了第一个实现 MIPS架构 的微处理器，即 R2000 。 R2000 的设计被改进后，新的设计在1988年生产并命名为 R3000 。这些32位微处理器构成了其公司在1980年代在市场上竞争的基础，它们主要用于 SGI 系列的工作站和更高版本的 Digital Equipment Corporation DECstation 工作站和服务器。 SGI 商业设计与斯坦福 MIPS 有所不同，它在硬件中实现了大多数指令上的互锁，并提供了完整的乘法和除法指令（以及其他指令）。这些设计由软件架构师 Earl Killian 指导，他设计了MIPS III 64位指令集扩展部分，并领导了 R4000 微体系结构的工作。
1991年，MIPS Computer Systems发布了第一个64位 微处理器，即 R4000 。 但是，MIPS Computer Systems在将其投放市场时遇到了财务困难。当时 SGI 是MIPS Computer Systems的几个主要客户之一， SGI 认为 R4000 对SGI 非常重要，因此 SGI 在1992年直接收购了该公司，以确保这个微处理器的设计不会丢失。之后，该公司被称为MIPS科技公司，成为了 SGI 的一个子公司。

**可授权的架构**
在1990年代初期，MIPS科技公司开始将自己的微处理器设计许可给第三方供应商。事实证明，由于MIPS处理器核的简单性，这种方式相当成功，这使 MIPS 架构的微处理器可以用于许多应用，这些应用所集成的 MIPS 架构微处理器比以前同时期使用的具有相同功能的CISC架构微处理器在设计上的花费少得多，而门数和价格却差不多。CPU的价格通常与门的数量和外部引脚的数量密切相关。Sun Microsystems 试图通过许可 SPARC 处理器核获得类似的成功，但是却没有那幺成功。到1990年代后期，MIPS已成为嵌入式系统领域的强者。根据MIPS科技公司的统计，1997年以MIPS架构为基础的CPU出货量为4800万，占 RISC CPU 总市场份额的49％。  MIPS 架构如此成功，以至于 SGI 在1998年把MIPS科技公司拆分出来成为一个子公司。如今，MIPS科技公司的全部收入中有一半来自其设计的许可，而其余的大部分 MIPS 架构处理器则按照第三方的合同设计工作，然后由第三方进行生产。
1999年，MIPS科技公司用两种MIPS架构取代了先前版本的MIPS架构，即32位 MIPS32 （基于MIPS II，具有MIPS III，MIPS IV和MIPS V的一些其他功能）和用于许可的64位 MIPS64 （基于MIPS V）。NEC、Toshiba 和 SiByte（后来由博通收购）一经MIPS科技公司宣布就分别获得了 MIPS64 的许可证。此后，飞利浦、 LSI Logic 和 IDT 加入了他们的行列。如今， MIPS IP核 已成为嵌入式系统（手持计算机，机顶盒，机顶盒等）市场上最常用的处理器核之一。
由于MIPS架构是可授权的，因此其多年来吸引了多家设计处理器的初创公司。  Quantum Effect Devices 是设计 MIPS 处理器的首批初创公司之一（请参阅下一节）。设计 R4300i 的MIPS设计团队成立了 SandCraft 公司，该公司为 NEC 设计了 R5432 ，后来又生产了 SR71000 ，是嵌入式市场上首批实现了乱序执行的处理器之一。最初的 DEC StrongARM 团队最终分裂为两个设计 MIPS 架构产品的初创企业： SiByte ，后者生产了SB-1250，这是首批高性能MIPS 架构的SoC；而 Alchemy Semiconductor （后来由AMD收购）推出了用于低功耗应用的 Au-1000 SoC。Lexra 使用 MIPS架构 设计并生产产品，并为音频芯片市场提供了拥有 DSP 扩展的微处理器和为电信市场提供了拥有多线程支持的处理器。由于 Lexra 未被授权就使用该架构，因此两家公司之间开始了两项诉讼。当 Lexra 承诺不宣传其处理器兼容 MIPS 时，第一个诉讼很快就解决了。第二个诉讼（关于处理未对齐的内存访问的MIPS专利4814976）长期持续了下去，损害了两家公司的业务，最终达到了MIPS科技公司的目的，后者为 Lexra 提供了免费许可和大量现金支付。
RMI 从失败的 SandCraft 购买了产品线，后来生产出的针对电信和网络市场的芯片拥有8个处理器核。 Cavium 最初是安全处理器供应商，为相同的市场生产具有8个处理器核，后来生产最多拥有32个处理器核的设备。两家公司都自主设计了微架构，MIPS科技公司只对它们进行了体系结构的授权，而不是它们从MIPS科技公司购买IP核。

**桌面领域**
使用 MIPS 架构处理器来制造工作站的制造商有 SGI ，MIPS Computer Systems，Whitechapel Workstations ，Olivetti ，Siemens Nixdorf Informationssysteme ，Acer ，DEC， NEC 和 DeskStation 。
针对MIPS架构编写或移植的操作系统有：- SGI的IRIX；- 微软的Windows NT（只支持到v4.0），- Windows CE；Linux；- FreeBSD，NetBSD，OpenBSD；- UNIX，System V；- SINIX，QNX；- MIPS Computer Systems自己拥有的RISC/os。在1990年代初期，人们猜测MIPS和其他功能强大的精简指令集处理器将取代英特尔IA-32架构的微处理器。微软的Windows NT的前两个版本支持Alpha， MIPS 和PowerPC，在较小程度上支持 Clipper架构 和 SPARC 。 但是，随着英特尔快速发布Pentium 等CPU，微软Windows NT v4.0放弃了对IA-32和Alpha的支持。SGI决定于2007年（继2006年第11次破产之后）过渡到IA-64和IA-32架构。2009年 SGI 被 Rackable Systems, Inc. 收购， SGI 对 MIPS/IRIX 消费市场的支持按原定计划于2013年12月结束。 但是，一个支持团队仍然存在，但是在有限的基础上解决特殊情况和对系统进行维护翻新。

**嵌入式领域**
君正JZ4725 是一个基于MIPS架构的SoC样例
在1990年代，基于 MIPS架构 的芯片广泛应用于嵌入式市场，包括计算机网络、电信、视频街机游戏、视频游戏机、计算机打印机、数字机顶盒、数字电视、DSL、电缆调制解调器和个人数字助手等多种产品。
出于面向嵌入式市场的MIPS核心具有低功耗、低发热的特质、并且MIPS架构在嵌入式领域积累了大量的开发工具及资料，使其在嵌入式领域的应用仍然非常广泛。

**面向嵌入式市场的可合成IP核**
2000年至2015年，在各种MIPS架构版本中使用的大多数技术已作为嵌入式系统设计所需的IP核（构建模块）提供给设计厂商。MIPS官方提供32位和64位基本IP核，被称为4K和5K。 这些IP核可以与诸如FPU，SIMD模块，各种输入/输出设备等附加单元混合使用。
MIPS架构 IP核在商业上取得了成功，过去在许多消费和工业应用中使用。MIPS架构 IP核可以在以前的 Cisco、Linksys 和Mikrotik的路由器、电缆调制解调器 和 ADSL 调制解调器、智能卡、 激光打印机引擎、机顶盒、机器人和手持计算机中找到。 在手机和PDA中，MIPS在很大程度上无法取代现有的竞争产品ARM。
使用MIPS架构IP核的处理器有：- IDT RC32438;- ATI/AMD Xilleon;- Alchemy Au1000, 1100, 1200;- Broadcom Sentry5;- RMI XLR7xx;- Cavium Octeon CN30xx, CN31xx, CN36xx, CN38xx and CN5xxx;- Infineon Technologies EasyPort, Amazon, Danube, ADM5120, WildPass, INCA-IP, INCA-IP2;- Microchip Technology PIC32;- NEC EMMA and EMMA2, NEC VR4181A, VR4121, VR4122, VR4181A, VR4300, VR5432, VR5500;- Oak Technologies Generation;- PMC-Sierra RM11200;- QuickLogic QuickMIPS ESP;- Toshiba Donau, Toshiba TMPR492x, TX4925, TX9956, TX7901;- KOMDIV-32, KOMDIV-64;- ELVEES Multicore

**基于MIPS架构的超级计算机**
MIPS架构 的应用之一是其大规模地在超级计算机中的应用。 Silicon Graphics（SGI）在1990年代初将其业务从台式机图形工作站重新定位到高性能计算市场。该公司首次涉足服务器系统的成功，则是基于 R4400 、 R8000 以及后来的 R10000 的 Challenge 工作站系列。这些成功促使 SGI 创建了功能更强大的系统。R10000 的高集成性使 SGI 生产出Origin 2000，并使用其 NUMAlink 一致性高速缓存非均匀存储访问模型互连将最大可集成的CPU数量扩展到1024个。Origin 2000源自 Origin 3000系列，该系列最大可集成1024个CPU，但使用的CPU是频率最高700MHz的 R14000 和 R16000 芯片。2005年，当 SGI 做出战略决定把研发方向转移到英特尔的 IA-64 架构时，其基于MIPS的超级计算机的项目被取消。
一家名为 SiCortex 的高性能计算公司在2007年推出了基于MIPS的大规模并行的超级计算机。这些计算机基于 MIPS64 架构并且使用 Kautz graph 拓扑的高性能互连。该系统最创新的方面是其多核处理节点，一个节点集成了六个 MIPS64 处理器核。这个芯片集成了一个crossbar switch 、内存控制器、互连DMA引擎、千兆以太网和PCIe控制器，但其功耗仅有10瓦，却有6GFLOPS峰值浮点性能。使用该系统的最强大的机器是 SC5832 ，它是由972个此类芯片组成的单机柜超级计算机，总共具有5832个 MIPS64 处理器和8.2TFLOPS的峰值浮点性能。

**龙芯**
龙芯（lang-en|Loongson，旧称Godson）是由中国科学院计算技术研究所、龙芯中科、神州龙芯等机构、公司所设计的一系列各种芯片（包括通用中央处理器、SoC、微控制器、芯片组等），采用MIPS、LoongISA精简指令集架构，由MIPS科技公司授权使用MIPS指令集。龙芯1号系列为嵌入式领域芯片，已经被多家企业使用。龙芯2号系列速度最高为1GHz，用于瘦客户端、工控等低中端领域。龙芯3号系列于2010年推出成品，用于桌面、服务器、超算、工控等领域。

**MIPS Aptiv 系列**
MIPS Aptiv 系列在2012年发布。 其系列包含三个基于MIPS32 Release 3架构的32位CPU产品。

**MIPS Warrior 系列**
MIPS Warrior系列在2013年六月发布。 其系列包括多个基于MIPS Release 5和Release 6架构的32位和64位芯片产品。

**参考**

**另见**
 MIPS处理器列表- MIPS架构