基本特點
MIPS架構20年多前由史丹福大學開發,是一種簡潔、最佳化、具有高度擴展性的RSIC架構。它的基本特點是:包含大量的暫存器、指令數和字元、可視的管道延時時隙,這些特性使MIPS架構能夠提供最高的每平方毫米性能和當今SoC設計中最低的能耗。
體系分類
MIPS32位架構
MIPS32®架構刷新了32位嵌入式處理器的性能標準。它是MIPS科技公司下一代高性能MIPS-Based™處理器SoC發展藍圖的基礎,並向上兼容MIPS64®64位架構。MIPS架構擁有強大的指令集、從32位到64位的可擴展性、廣泛的軟體開發工具以及眾多MIPS科技公司授權廠商的支持,是領先的嵌入式架構。MIPS32架構是以前的MIPS I™ 和 MIPS II™指令集架構(ISA)的擴展集,整合了專門用於嵌入式套用的功能強大的新指令,以及以往只在64位R4000™ 和 R5000® MIPS®處理器中能見到的已經驗證的存儲器管理和特權模式控制機制。通過整合強大的新功能、標準化特權模式指令以及支持前代ISA,MIPS32架構為未來所有基於32位MIPS的開發提供了一個堅實的高性能基礎。
MIPS32架構基於一種固定長度的定期編碼指令集,並採用導入/存儲(load/store)數據模型。經改進,這種架構可支持高級語言的最佳化執行。其算術和邏輯運算採用三個運算元的形式,允許編譯器最佳化複雜的表達式。此外,它還帶有32個通用暫存器,讓編譯器能夠通過保持對暫存器內數據的頻繁存取進一步最佳化代碼的生成性能。
MIPS32架構從流行的R4000/R5000類64位處理器衍生出特權模式異常處理和存儲器管理功能。它採用一組暫存器來反映快取器、MMU、TLB及各個核心中實現的其它特權功能的配置。通過對特權模式和存儲器管理進行標準化,並經由配置暫存器提供信息,MIPS32架構能夠使實時作業系統、其它開發工具和套用代碼同時被執行,並在MIPS32 和MIPS64處理器系列的各個產品之間復用。
它的高性能快取器及存儲器管理方案的靈活性仍繼續成為MIPS架構的一大優勢。MIPS32架構利用定義良好的快取控制選項進一步擴展了這種優勢。指令和數據快取器的大小可以從256byte到4Mbyte。數據快取可採用回寫或直寫策略。無快取也是可選配置。存儲器管理機制可以採用TLB或塊地址轉換(BAT)策略。利用TLB,MIPS32架構可滿足Windows CE 和Linux的存儲器管理要求。
由於增加了密集型數據處理、數據流和斷言操作(predicated operations) ,可滿足嵌入式市場不斷增長的計算需求。條件數據移動(Conditional data move)和數據快取預取(prefetch)指令被引入,以期提高通信及多媒體套用的數據吞吐量。固定浮點DSP型指令可進一步增強多媒體處理能力。這些新指令,包括乘法、乘加、乘減和“前導計數(count leading)0s/1s”,在處理音頻、視頻和多媒體等數據流時,無需在系統中增加額外的DSP硬體即可提供更高的性能。功能強大的浮點指令可加快某些任務的執行速度,比如一些DSP算法的處理、圖形操作的實時計算。浮點操作可選擇軟體仿真。最後,為簡化系統集成任務,MIPS32標準定義EJTAG(增強型JTAG)選項功能作為非入侵式、片上實時調試系統。
MIPS64位架構
MIPS64®架構刷新了64位MIPS-Based™嵌入式處理器的性能標準。它代表著下一代高性能MIPS®處理器的基礎,併兼容MIPS32®32位架構。MIPS架構擁有強大的指令集、從32位到64位的可擴展性、廣泛可獲得的軟體開發工具以及眾多MIPS科技公司授權廠商的支持,是領先的嵌入式架構。MIPS64架構是以前的MIPS IV™ 和 MIPS V™指令集架構(ISA)的擴展集,整合了專門用於嵌入式套用的功能強大的新指令,以及以往在R4000® 和 R5000® MIPS處理器中執行的已經驗證的存儲器管理和特權模式控制機制。通過整合強大的新功能、標準化特權模式指令、支持前代ISA,以及提供從MIPS32架構升級的路徑,MIPS64架構為未來基於MIPS處理器的開發提供了一個堅實的高性能基礎。
MIPS64架構基於一種固定長度的定期編碼指令集,並採用導入/存儲(load/store)數據模型。經改進,這種架構可支持高級語言的最佳化執行。其算術和邏輯運算採用三個運算元的形式,允許編譯器最佳化複雜的表達式。此外,它還帶有32個通用暫存器,讓編譯器能夠通過保持對暫存器內數據的頻繁存取進一步最佳化代碼的生成性能。
這種架構從R4000/R5000類處理器衍生出特權模式異常處理和存儲器管理功能。它採用一組暫存器來反映快取器、MMU、TLB及各個核心中實現的其它特權功能的配置。MIPS32架構的兼容模式讓32位代碼無需修改即可在MIPS64上運行。通過提供後向兼容性、對特權模式和存儲器管理進行標準化,並經由配置暫存器提供信息,MIPS64架構能夠使實時作業系統和套用代碼同時被執行,並在MIPS32和MIPS64處理器系列的各個產品之間復用。
高性能快取器及存儲器管理方案的靈活性仍繼續成為MIPS架構的一大優勢。MIPS64架構利用定義良好的快取控制選項功能進一步擴展了這種優勢。指令和數據快取器的大小可以從256byte到4Mbyte。數據快取可採用回寫或直寫策略。無快取也是可選配置。存儲器管理機制可以採用TLB或塊地址轉換(BAT)策略。利用TLB,MIPS64架構可滿足Windows CE和Linux的存儲器管理要求。
由於增加了數據流和斷言操作(predicated operations),可滿足嵌入式市場不斷增長的計算需求。條件數據移動和數據預取指令被標準化,以提高通信及多媒體套用的系統級數據吞吐量。
固定浮點DSP型指令可進一步增強多媒體處理能力。這些以前只有在某些64位MIPS處理器上才使用的指令,包括乘法(MUL)、乘加(MADD)、乘減(MSUB)和“前導計數(count leading) 0s/1s”,在處理音頻、視頻和多媒體等數據流時,無需在系統中增加額外的DSP硬體即可提供更高的性能。
功能強大的64位浮點暫存器和執行單元可加快某些任務的執行速度,比如一些DSP算法的處理、圖形操作的實時計算。雙單精度指令(Paired-Single instruction)在一個64位暫存器中裝入了兩個32位浮點運算元,從而實現單指令多數據操作(SIMD)。這種方法的執行速度是傳統32位浮點單元的兩倍。浮點操作可選擇軟體仿真。
MIPS64架構兼具32位和64位定址模式,同時採用64位數據工作。這樣一來,無需額外的存儲器進行64位定址就能獲得64位數據的優勢。為了便於從32位系列的移植,該架構還帶有32位兼容模式,在這種模式中,所有暫存器和地址都是32位寬,MIPS32架構中出現的所有指令都被執行。
microMIPS架構
microMIPS™是一種在單個統一的指令集架構中集成了16位和32位最佳化指令的高性能代碼壓縮技術。它支持MIPS32® 和MIPS64® Release 2架構,整合了可變長度重新編碼MIPS指令集和新增的代碼量最佳化16位和32位指令,可提供高性能和高代碼密度。
microMIPS是一個完整的ISA,既能單獨工作,也能與原有的MIPS32兼容指令解碼器共同工作,允許程式混合16位和32位代碼,無需模式切換。microMIPS的程式代碼量較小,因此可獲得更好的快取利用率和更小的取指頻寬(fetch bandwidth),從而有助於提升性能,降低功耗。
microMIPS包含所有MIPS ASE指令,支持CorExtend™/UDI接口。而且,針對microMIPS軟體及系統開發,MIPS科技公司與第三方合作夥伴生態系統提供有一套全面完善的軟硬體工具支持。新推出的M14K™和 M14Kc™是首先執行 microMIPS的處理器核心。
發展歷史
1981年,史丹福大學教授約翰·軒尼詩領導他的團隊,實作出第一個MIPS架構的處理器。他們原始的想法是通過指令管線化來增加CPU運算的速度。
1984年,約翰·軒尼詩教授離開史丹福大學,創立MIPS科技公司。於1985年,設計出R2000晶片,1988年,將其改進為R3000晶片。
2002年,中國科學院計算所開始研發龍芯處理器,採用MIPS架構,但未經MIPS公司的授權,遭到侵權的控告。
2009年,中國科學院與MIPS公司達成和解,得到正式授權。