MIPS的英文全稱為:Microprocessor without Interlocked Piped Stages,其機制是盡量利用軟件辦法避免流水線中的數(shù)據(jù)相關問題。最早是在80年代初期由斯坦福大學 Hennessy 教授領導的研究小組研制。MIPS是出現(xiàn)最早的商業(yè)RISC架構(gòu)芯片之一,新的架構(gòu)集成了所有原來MIPS指令集,并增加了許多更強大的功能。MIPS只進行CPU的設計,之后把設計方案授權(quán)給客戶,使得客戶能夠制造出高性能的 CPU。
MIPS架構(gòu)是業(yè)界高效的RISC架構(gòu),在給定的硅面積提供最佳性能和最低的功耗。MIPS的基本特點:包含大量的寄存器、指令數(shù)和字符、可視的管道延時時隙,這些特性使MIPS架構(gòu)能夠提供最高的每平方毫米性能和當今SoC設計中最低的能耗。今天華芯帶大家一起了解經(jīng)典的MIPS架構(gòu)與其相關的技術。
MIPS32 Architecture
─────────
MIPS32架構(gòu)是一種高性能的行業(yè)標準架構(gòu)。其應用廣泛,從微型控制器到高端網(wǎng)絡設備,是數(shù)十億電子產(chǎn)品的核心。它提供了健壯的指令集、廣泛的軟件開發(fā)工具以及來自眾多合作伙伴和授權(quán)商的廣泛支持。
MIPS32體系結(jié)構(gòu)為64位MIPS64體系結(jié)構(gòu)提供了無縫向上兼容性,帶來了強大的功能、標準化的特權(quán)模式指令和對過去ISA版本的支持。
MIPS32體系結(jié)構(gòu)基于一個固定長度、有規(guī)則編碼的指令集,并使用一個加載/存儲數(shù)據(jù)模型。該體系結(jié)構(gòu)經(jīng)過了簡化,以支持高級語言的優(yōu)化執(zhí)行。算術和邏輯操作使用三操作數(shù)格式,允許編譯器優(yōu)化復雜的表達式。可用的32個通用寄存器使編譯器能夠通過在寄存器中保存經(jīng)常訪問的數(shù)據(jù)來進一步優(yōu)化代碼生成的性能。
MIPS64 Architecture
─────────
MIPS64體系結(jié)構(gòu)被廣泛應用于各種應用程序,包括游戲機、辦公自動化和機頂盒等。它在如今的網(wǎng)絡和電信基礎設施應用中繼續(xù)流行,是下一代服務器、高級駕駛員輔助系統(tǒng)(ADAS)和自動駕駛系統(tǒng)的核心。隨著設計復雜性和軟件使用量的不斷增加,64位MIPS架構(gòu)將應用于更廣泛的連接消費設備、SOHO網(wǎng)絡產(chǎn)品和新興智能應用程序。
MIPS64體系結(jié)構(gòu)為未來基于MIPS處理器的開發(fā)提供了堅實的高性能基礎,它整合了強大的特性、標準化特權(quán)模式指令、支持過去的ISAs,并提供了來自MIPS32體系結(jié)構(gòu)的無縫升級路徑。
● 高性能緩存
數(shù)據(jù)流和預測操作的增加支持了嵌入式市場不斷增長的計算需求。有條件的數(shù)據(jù)移動和數(shù)據(jù)預取指令是標準化的,允許在通信和多媒體應用程序中改進系統(tǒng)級的數(shù)據(jù)吞吐量。
● 定點DSP型指令集
定點DSP型指令進一步增強了多媒體處理能力。這些指令包括乘法(MUL)、乘法和加法(MADD)、乘法和減法(MSUB)和“count leading 0s/1s”(之前僅在一些64位MIPS處理器上可用),在處理音頻、視頻和多媒體等數(shù)據(jù)流方面提供了更好的性能,無需向系統(tǒng)添加額外的DSP硬件。
● 強大的64位浮點寄存器
強大的64位浮點寄存器和執(zhí)行單元加快了實時處理一些DSP算法和計算圖形操作的速度。配對單指令將兩個32位浮點操作數(shù)打包到一個64位寄存器中,允許單指令多數(shù)據(jù)操作(SIMD)。與傳統(tǒng)的32位浮點單元相比,這提供了兩倍的執(zhí)行速度。浮點運算可以在軟件中模擬。
● 尋址模式
MIPS64體系結(jié)構(gòu)具有32位和64位尋址模式,同時處理64位數(shù)據(jù)。不需要64位尋址所需的額外內(nèi)存就可獲得64位數(shù)據(jù)。為了方便從32位系列遷移,該體系結(jié)構(gòu)具有32位兼容模式,其中所有寄存器和地址都是32位寬的,執(zhí)行MIPS32體系結(jié)構(gòu)中的所有指令。
MIPS32和MIPS64體系結(jié)構(gòu)包含了重要功能,包括SIMD(單指令多數(shù)據(jù))和虛擬化。這些技術與多線程(MT)、DSP擴展(Digital Signal Process數(shù)字信號處理)和EVA(增強虛擬尋址)等技術相結(jié)合,豐富了體系結(jié)構(gòu),使其適用于需要更大內(nèi)存、更高計算能力和安全執(zhí)行環(huán)境的現(xiàn)代軟件工作負載。
通過標準化特權(quán)模式和內(nèi)存管理,并通過配置寄存器提供信息,MIPS64體系結(jié)構(gòu)使實時操作系統(tǒng)和應用程序代碼能夠一次性實現(xiàn),并與MIPS32和MIPS64處理器系列的未來成員一起重用。
高性能緩存的靈活性和內(nèi)存管理方案是MIPS體系結(jié)構(gòu)的優(yōu)點。MIPS32和MIPS64體系結(jié)構(gòu)通過定義良好的緩存控制選項擴展了這些優(yōu)點。指令和數(shù)據(jù)緩存的大小可以從256字節(jié)到4 MB。數(shù)據(jù)緩存可以采用寫回或?qū)懲ㄟ^策略。還可以指定無緩存選項。內(nèi)存管理機制可以采用TLB或塊地址轉(zhuǎn)換(BAT)策略。通過TLB, MIPS32體系結(jié)構(gòu)滿足Windows CE、Linux和Android內(nèi)存管理需求, MIPS64體系結(jié)構(gòu)滿足了Linux、Android、Windows CE和其他歷史上流行的操作系統(tǒng)的內(nèi)存管理需求。
microMIPS Architecture
─────────
microMIPS是為微控制器和其他占用空間小的嵌入式設備設計的,它是一種代碼壓縮指令集體系結(jié)構(gòu)(ISA),提供32位性能和16位代碼大小的大多數(shù)指令。它保持了MIPS32架構(gòu) 98%的性能,同時將代碼大小減少了25%,節(jié)省了大量的硅成本。通過更小的內(nèi)存訪問和指令緩存的有效使用,microMIPS還有助于降低系統(tǒng)功耗。
microMIPS ISA結(jié)合了重新編碼的指令和新的16位和32位指令,以實現(xiàn)性能和代碼密度的理想平衡。它整合了所有MIPS32指令和架構(gòu)模塊,包括MIPS DSP和MIPS MT,以及新的指令來減少高級代碼大小。microMIPS ISA是向后兼容的,允許重用優(yōu)化的MIPS微體系結(jié)構(gòu)。
在MIPS體系結(jié)構(gòu)的r3、r5和r6版本中支持microMIPS。它是在MIPS cpu上實現(xiàn)的,包括M14K、microAptiv和Warrior M51xx和Warrior M62xx系列核心。編譯器的支持包含在Codescape開發(fā)工具中。
nanoMIPS Architecture
─────────
nanoMIPS是為嵌入式設備設計的一種可變長度指令集體系結(jié)構(gòu)(ISA),在大大減少代碼量的情況下提供高性能。在可比較的編譯器標志下,它可以交付比MIPS32少40%的代碼。通過更小的內(nèi)存訪問和指令緩存的有效使用,nanoMIPS有助于降低系統(tǒng)功耗。
nanoMIPS ISA將重新編碼的指令和新的16位、32位和48位指令結(jié)合起來,實現(xiàn)了性能和代碼密度的理想平衡。它整合了所有MIPS32指令和架構(gòu)模塊,包括MIPS DSP和MIPS MT及新指令來減少高級代碼大小。
在MIPS架構(gòu)的第6版中支持nanoMIPS。它首先在新的MIPS I7200多線程多核處理器系列中實現(xiàn)?;贛IPS GNU的開發(fā)工具中包含了對編譯器的支持。