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位處理器晶片設計，進一步強化了硬體虛擬化等現代特性。