MIPS架构处理器

自從 1985 年以來，各種基於 MIPS 架構的中央處理器、SoCs 已經被設計出來且廣泛使用。

## MIPS 微處理器

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**。

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 月結束。 但是，一個支持團隊仍然存在，但是在有限的基礎上解決特殊情況和對系統進行維護翻新。

### 嵌入式領域

在 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 的峰值浮點性能。

### 龍芯

**龍芯**（**英語：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 架構