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架構