MIPS架构处理器

自从1985年以来，各种基于MIPS架构（Microprocessor without Interlocked Pipelined Stages，无互锁流水线阶段微处理器）的中央处理器与系统芯片（SoC）已被广泛设计与应用。MIPS最初由MIPS计算机系统公司（MIPS Computer Systems）开发，凭借其精简指令集（RISC）的优势，迅速成为嵌入式系统、桌面工作站、服务器乃至超级计算机领域的重要组成部分。本条目主要梳理基于MIPS架构微处理器的发展历程，包括早期的经典R系列处理器（如R2000、R3000、R4000等），以及其在桌面计算与嵌入式设备中的广泛授权历程。随着技术的不断演进，MIPS不仅推出了针对高端计算的64位版本，还通过可授权模式衍生出了诸如龙芯等自主研发的微处理器系列。

## MIPS微处理器

<image>

1985年，首款MIPS微处理器R2000发布。它在独立的片上单元中集成了多周期的乘法与除法器。为了将计算结果从该单元写回寄存器堆，设计中加入了新的指令；且这些负责检索结果的指令具有互锁机制。

R2000在系统启动时，可配置为大端序或小端序。它配备了31个32位通用寄存器，但并未包含条件代码寄存器（条件代码寄存器是AMD 29000和Alpha处理器等同时代架构共有的功能，但MIPS的设计人员认为这可能会成为潜在的性能瓶颈）。与其他寄存器不同，程序计数器无法被直接访问。

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，但却成为了索尼PlayStation游戏机的核心处理器。在第三方设计中，Performance Semiconductor设计的R3400与IDT设计的R3500实质上都是集成了R3010 FPU的R3000A。东芝推出的R3900则是用于早期运行Windows CE掌上电脑的首款SoC。此外，专为太空航天应用设计的抗辐射芯片Mongoose-V，同样是一款集成了R3010 FPU的R3000衍生品。

1991年发布的R4000系列将MIPS指令集扩展到了完整的64位体系结构。它将FPU集成到了主芯片上，创造出单芯片的微处理器，并在当时实现了高达100 MHz的高时钟频率。然而，为了达到如此高的频率，其指令和数据高速缓存双双缩减至8 KB，且每次访问需要消耗三个时钟周期。这种高频运行主要是通过深流水线技术（当时称为超级流水线）实现的。改进版的R4400于1993年问世，它配备了更大的16 KB主缓存，提供了基本无错误的64位操作支持，并增加了对更大容量二级（L2）缓存的支持。

SGI旗下的微处理器技术部门MTI（即后来的MIPS科技公司）设计了低成本的R4200，它也成为了更为廉价的R4300i的基础。Nintendo 64游戏机便采用了该微处理器的衍生产品——NEC制造的VR4300。

<image>

<image>

由MIPS前员工创立的Quantum Effect Devices（QED）公司设计了R4600 Orion、R4700 Orion、R4650和R5000。在R4000通过牺牲缓存容量来推高时钟频率的背景下，QED的设计理念反其道而行之，强调大容量缓存设计，使其能在两个时钟周期内完成访问，并有效利用了硅片面积。R4600和R4700被广泛应用于SGI Indy工作站的低成本版本中，同时也被用在首批基于MIPS架构的Cisco路由器上（例如Cisco 36x0和7x00系列）。R4650则被用于初代的WebTV 机顶盒（即后来的Microsoft TV）。相较于R4000，R5000的FPU在单精度浮点调度上更加灵活。因此，尽管图形硬件和CPU频率相似，基于R5000的SGI Indys工作站在图形性能上显著优于基于R4400的型号。为了突出这一性能提升，SGI在推出搭载R5000的工作站时，特意为旧款图形扩展板进行了重新命名。此后，QED又为网络设备和激光打印机等嵌入式市场设计了RM7000和RM9000系列设备。QED于2000年8月被半导体制造商PMC-Sierra收购，后者继续在该领域投资MIPS架构设备。RM7000集成了256KB的L2缓存以及一个用于可选L3缓存的控制器；而RM9xx0则是一个SoC设备家族，集成了内存控制器和北桥外围设备，包括PCI控制器、千兆以太网控制器和诸如HyperTransport等高速I/O接口。

于1994年发布的R8000是首款采用超标量设计的MIPS处理器，能够在单个周期内同时执行两条整数或浮点数指令，以及两条内存访问指令。该设计被分布在六个模块上：一个整数单元（具备16KB指令缓存与16KB数据缓存）、一个浮点单元、三个全定制的二级缓存标签RAM（两个用于缓存访问，一个用于总线侦听），以及一个高速缓存控制器ASIC。R8000内部拥有两个全流水线的双精度乘加单元，能够直接从4MB的片外L2缓存中流式传输数据。在1990年代中期，R8000被应用于SGI的POWER Challenge服务器，随后也配备于POWER Indigo2工作站中。尽管其卓越的FPU性能极大地迎合了科研用户的需求，但由于整数运算性能有限且造价高昂，它对大多数普通用户的吸引力大打折扣。R8000在市场上仅销售了一年左右，如今保留下来的相关工作站已相当罕见。

1995年发布的R10000采用单芯片设计，运行频率高于R8000，并配备了更大的32KB指令缓存与数据缓存。它同样是一款超标量处理器，但其核心创新在于引入了乱序执行（Out-of-order execution）机制。尽管只配备了单条内存流水线和较简单的FPU，但由于相比前代产品大幅降低了成本并提高了晶体管密度，R10000的综合表现使其成为了多数客户的首选。

MIPS科技公司后续的一些设计均以R10000内核为基础。R12000采用了0.25微米的制造工艺以缩小芯片面积并提升时钟频率。随后的R14000进一步提高了时钟频率，并增加了对DDR SRAM作为片外缓存的支持。后期的迭代版本分别命名为R16000和R16000A，它们通过进一步缩小晶体管制造工艺尺寸，实现了更高的运行频率。

MIPS系列微处理器中还包括一个由Bipolar Integrated Technology设计的R6000型号。这是一种采用发射极耦合逻辑电路（ECL）技术的处理器，完整实现了MIPS II架构。它的转换后备缓冲区（TLB）和缓存架构设计与MIPS系列的其他成员截然不同。然而，R6000并未达到预期的性能优势，尽管它曾在Control Data的机器中被短暂应用过，但很快便从主流市场中销声匿迹。

## 历史

### 第一代硬件

1981年，约翰·轩尼诗在斯坦福大学设立了MIPS（Microprocessor without Interlocked Pipeline Stages）项目，专门研究精简指令集计算（RISC）技术。该项目的研究成果让他看到了这项技术巨大的潜在经济价值，于是他在1984年休假期间成立了MIPS计算机系统公司（MIPS Computer Systems）。该公司设计了一种全新的体系结构（即MIPS架构），并于1985年推出了首款实现MIPS架构的微处理器——R2000。在对R2000进行改进后，公司于1988年推出了R3000。这两款32位微处理器奠定了公司在1980年代市场竞争中的基础，它们主要被应用于SGI系列的工作站，以及后来的DEC DECstation工作站与服务器中。SGI的商业设计与斯坦福大学早期的MIPS原型有所不同，它在硬件层面上实现了大多数指令的互锁，并提供了完整的乘除法指令支持。这些设计工作由软件架构师Earl Killian主导，他还设计了MIPS III 64位指令集扩展，并领导了R4000的微体系结构开发工作。

1991年，MIPS计算机系统公司发布了旗下首款64位微处理器R4000。然而，公司在将其推向市场时遭遇了严重的财务危机。当时SGI是该公司的几个主要客户之一，鉴于R4000对SGI产品线至关重要，SGI在1992年直接出资收购了该公司，以确保微处理器设计的延续。收购后，该公司作为SGI的一个子公司运营，并正式更名为MIPS科技公司（MIPS Technologies）。

### 可授权的架构

在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科技公司一半的收入来源于知识产权许可费，而另一部分则来自为第三方提供定制设计并交由其生产加工的合同收入。

1999年，MIPS科技公司用两种全新的规范取代了旧版架构：一种是32位的MIPS32（基于MIPS II，并吸收了MIPS III、MIPS IV和MIPS V的部分功能）；另一种是专供授权的64位MIPS64（基于MIPS V）。该架构刚一发布，NEC、Toshiba和SiByte（后被博通收购）便迅速获取了MIPS64的授权许可。不久之后，飞利浦、LSI Logic和IDT也加入了被授权方行列。如今，MIPS处理器IP核已成为嵌入式系统（如掌上电脑、机顶盒、路由器等）市场上最常用的处理器内核之一。

由于MIPS架构是可授权的，它在过去的数年间吸引了大量专注于处理器设计的初创公司。Quantum Effect Devices（QED）便是最早设计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科技公司购买了指令集的体系结构授权，而非直接购买现成的IP核。

### 桌面领域

曾使用MIPS架构处理器生产工作站的制造商包括：SGI、MIPS计算机系统公司、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计算机系统公司自研的RISC/os。

在1990年代初期，业界普遍猜测MIPS等高性能RISC处理器有望取代英特尔的IA-32架构。微软的Windows NT操作系统的早期版本原生支持Alpha、MIPS和PowerPC处理器，并在一定程度上支持Clipper架构和SPARC。然而，随着英特尔接连发布Pentium等具有竞争力的CPU，微软在Windows NT v4.0之后逐渐放弃了对非IA-32以及后来非Alpha架构的支持。SGI在经历连年亏损（继2006年申请破产保护之后）后，于2007年决定全面向IA-64和IA-32架构过渡。2009年，SGI被Rackable Systems, Inc.收购。按原定计划，SGI对MIPS/IRIX消费市场的官方支持已于2013年12月终止。尽管如此，仍有一个特殊的支持团队存在，专门负责在有限范围内解决特殊情况及旧系统的维护翻新。

### 嵌入式领域

<image>

自1990年代起，基于MIPS架构的芯片被广泛应用于各个嵌入式市场，产品涵盖计算机网络设备、电信通信终端、街机游戏、视频游戏主机、计算机打印机、数字机顶盒、数字电视、DSL调制解调器、电缆调制解调器以及个人数字助手（PDA）等。

MIPS核心在面向嵌入式系统市场时，展现出了低功耗、低发热的卓越特质；同时，由于MIPS架构在嵌入式领域积累了极其丰富的开发工具链及技术资料，这使得它在该领域的生命力依然十分旺盛。

### 面向嵌入式市场的可合成IP核

在2000年至2015年间，各类MIPS架构版本中采用的核心技术，主要以嵌入式系统设计所需的构建模块——可合成IP核的形式提供给设计厂商。MIPS官方主推的32位和64位基础IP核被命名为4K和5K系列。这些IP核可以与诸如FPU、SIMD模块、各类输入/输出总线接口等附加单元混合编排设计。

MIPS架构的IP核在商业上取得了巨大成功，曾被广泛运用于大量的消费级和工业级应用中。用户可以在早期的Cisco、Linksys和MikroTik的路由器、各类调制解调器（如电缆和ADSL）、智能卡、激光打印机引擎、机顶盒、机器人及掌上电脑中寻得MIPS核心的身影。但在随后的智能手机和高端PDA市场中，MIPS未能抵挡住竞争对手ARM的崛起，很大程度上被后者取代。

使用MIPS架构IP核的典型处理器有：

- IDT RC32438。
- ATI/AMD Xilleon。
- Alchemy Au1000、1100、1200。
- Broadcom Sentry5。
- RMI XLR7xx。
- Cavium Octeon CN30xx, CN31xx, CN36xx, CN38xx 以及 CN5xxx。
- Infineon Technologies EasyPort、Amazon、Danube、ADM5120、WildPass、INCA-IP、INCA-IP2。
- Microchip Technology PIC32。
- NEC EMMA 和 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架构的一项重要应用在于其曾大规模部署于超级计算机中。在1990年代初，Silicon Graphics（SGI）战略性地将其核心业务从桌面图形工作站转向高性能计算（HPC）市场。该公司首次在服务器系统上取得巨大成功，主要归功于基于R4400、R8000以及后来的R10000的Challenge服务器系列。这些成功进一步促使SGI研发更为强大的系统。R10000的高集成度使得SGI成功推出了Origin 2000系列，它利用NUMAlink（一种一致性高速缓存非均匀存储访问互连技术），将最大可集成的CPU节点数扩展到了1024个。后续的Origin 3000系列同样支持最高1024个CPU，但升级采用了频率最高达700 MHz的R14000和R16000处理器芯片。然而，2005年当SGI做出将研发方向全面转向英特尔IA-64架构的战略决策后，其基于MIPS的超级计算机项目被正式终结。

2007年，一家名为SiCortex的高性能计算初创公司推出了一种基于MIPS大规模并行的超级计算机架构。这些计算机采用了MIPS64架构，并通过考茨图（Kautz graph）拓扑结构实现高性能互连。该系统最具创新性的一面在于其高度定制的多核处理节点：每个节点在单颗芯片上集成了六个MIPS64处理器核心、一个交叉开关矩阵（Crossbar switch）、内存控制器、互连的DMA引擎、千兆以太网以及PCIe控制器；整个芯片的功耗仅为10瓦，却能提供6 GFLOPS的峰值浮点性能。基于该系统构建的最强大机器是SC5832，它是一台由972个此类芯片组成的单机柜超级计算机，总共拥有5832个MIPS64处理核心和8.2 TFLOPS的峰值运算性能。

### 龙芯

龙芯（Loongson，旧称Godson）是由中国科学院计算技术研究所、龙芯中科、神州龙芯等机构与公司所设计的一系列芯片产品（涵盖通用中央处理器、SoC、微控制器、芯片组等）。早期的龙芯采用MIPS及衍生出的LoongISA精简指令集架构，并由MIPS科技公司正式授权其使用MIPS指令集。龙芯1号系列主要定位于嵌入式领域，已被国内多家企业采纳。龙芯2号系列的主频最高可达1 GHz，广泛用于瘦客户端、工控等中低端场景。龙芯3号系列于2010年推出成品，定位更高，被应用于桌面PC、服务器、超算以及工控等高要求领域。

### MIPS Aptiv 系列

MIPS Aptiv系列于2012年正式发布。该系列主要包含了三款基于MIPS32 Release 3架构的32位CPU产品，重点提升了多线程与DSP处理能力。

### MIPS Warrior 系列

MIPS Warrior系列在2013年6月发布。该系列包括多个基于较新的MIPS Release 5和Release 6架构的32位与64位处理器芯片设计，进一步强化了硬件虚拟化等现代特性。