2010年MIPS科技公司版權所有
文檔編號:MD00795
Revision 01.01
2010年9月10日
MIPS科技公司
955 East Arques Avenue Sunnyvale, CA
94085-4521
1 引言
MIPS科技公司以開發(fā)與授權高性能處理器內核,以及32位和64位架構享譽業(yè)內。MIPS作為數(shù)字家庭與網(wǎng)絡領域的市場領導廠商,其業(yè)界標準MIPS32架構能滿足32位微控制器(MCU)產品開發(fā)的要求,提供比其它基于ARM架構的競爭產品性能更高的、功能更豐富的、功耗更低的解決方案。
MCU廣泛用于多個市場應用領域,比如工業(yè)、辦公自動化、汽車、消費電子設備以及無線通信等先進技術。MCU在這類應用中的運用使得對嵌入式處理器內核的需求日益增加,以期提供更高水平的性能效率、更好的實時響應性能、更低的功耗和廣大范圍的生態(tài)系統(tǒng)支持。這些需求源于一系列新興挑戰(zhàn)的出現(xiàn),包括運行更復雜的RTOS控制軟件的要求、更高速度通信接口及更先進的確定性接口的集成。
32位MCU在不斷發(fā)展,以為下一代應用提供解決方案。據(jù)Semico Research公司預測,未來數(shù)年間,32位MCU產品的付運量將以18%的年均復合增長率(CAGR)增長,到2014年,將達25.73億。
對MCU產品而言,要實現(xiàn)性能、成本和上市時間目標,關鍵在于選擇正確的處理器架構。本文將概述采用具有業(yè)界領先性能的MIPS®處理器內核實現(xiàn)的一些設計特性。 此外,我們還將對基于MIPS和ARM架構的MCU設計解決方案進行比較,這兩種架構是目前最流行的兩大嵌入式處理器IP架構。我們的分析顯示,MIPS的解決方案性能更高、功耗更低且具有更先進的特性,另外,MIPS還可提供出色的開發(fā)支持服務。
2 MIPS架構
MIPS架構是1980年代初期由斯坦福大學基于一種載入/存儲RISC(精簡指令集計算)技術研發(fā)出來的。相比前代的CISC(復雜指令集計算)架構,RISC技術執(zhí)行的是一個簡單卻完善的指令集,并采用深度指令流水線,故執(zhí)行速度更快,性能更高。相反,ARM架構則是基于RISC/CISC混合架構,其設計復雜,且很難獲得高水平性能。
自從1985年首個MIPS處理器(R2000)推出之后,MIPS架構與時俱進。該指令集架構(ISA)不斷擴展,已發(fā)表好幾個版本,性能逐一提升。目前的版本包括32和64位架構實現(xiàn)方案:MIPS32和MIPS64。除了開發(fā)基于MIPS32的一系列
32位處理器內核之外,MIPS還面向業(yè)界授權MIPS32和MIPS64架構。獲授權的廠商,包括Broadcom、Cavium Networks、LSI Logic、NetLogic Microsystems、瑞薩電子、索尼、東芝以及中科院計算技術研究所,目前都在積極面向數(shù)字家庭、網(wǎng)絡、微控制器及其它應用付運MIPS-Based產品。而且,MIPS的授權廠商每年的付運量在6億片以上,迄今MIPS-Based SoC的付運量超過20億片。
標準MIPS32/64架構可通過MIPS16e、SmartMIPS、DSP、3D及多線程等可選專用擴展(ASE)來進行擴展。這些ASE專為增強專門應用的性能而設計。例如,DSP ASE可提供硬件和軟件增強,以加速MIPS處理器內核設計中的信號處理功能。類似地,MIPS16e指令集包含了解碼到對應的16位形式的“最常用的”MIPS32指令。MIPS16e可壓縮應用代碼,所需存儲容量比MIPS32的更小,同時通過減小存儲器帶寬,縮短執(zhí)行時間,仍能保持高水平的性能。
MIPS最近推出了一種完整的指令集架構(ISA),同時包含16位和32位指令,旨在軟件代碼密度與執(zhí)行吞吐量最大化。microMIPS可減少30%的代碼量,并以與MIPS32幾乎相同水平的性能執(zhí)行。microMIPS被整合在專為集成在MCU和嵌入式控制器SoC設計中而開發(fā)的MIPS32 M14K與M14Kc處理器內核中。
MIPS ISA標準軟件平臺結合了采用MIPS32/64架構實現(xiàn)的先進設計技巧與整合在其處理器內核中的先進設計特性,優(yōu)于競爭對手解決方案,并提供有額外的靈活性與持續(xù)提升的空間。
2.1 MIPS架構性能
所有的MIPS處理器內核,從高端多核解決方案到緊湊型、流水線更短的內核,都是基于性能相同的MIPS32基礎架構而設計的。
MIPS內核的性能提高主要得益于內核執(zhí)行單元的增強,其通過執(zhí)行更長流水線、超標量和多線程微型架構來提高處理器的最大工作時鐘頻率。此外,由于整合了高速存儲器接口、高效緩存控制器、存儲器管理單元等設計特性,并支持大量標準架構中的浮點寄存器和加速器,還可獲得額外的性能提升。
MIPS32架構帶有32個標準通用寄存器(GPR),其中每個寄存器均為32位。在設計時可以選擇創(chuàng)建另外32組寄存器,用作額外的數(shù)據(jù)存儲或“影子寄存器”,可指定給專用向量中斷控制器邏輯,相比傳統(tǒng)的硬件/軟件方法,這種方案能大幅度減少中斷延遲,縮短上下文切換時間(context switching)。
通過硬件乘除法單元(MDU),以及大量符號/無符號乘法、除法和乘法-累加指令的軟件支持,可提高MIPS32架構的信號處理性能。對MDU,MIPS架構采用了一條單獨的流水線,其與整數(shù)流水線并行工作。
2.2 MIPS與ARM性能特性之比較
以RISC技術為基礎,再加上MIPS架構中的可擴展硬軟件設計,使得MIPS的解決方案比ARM的同類解決方案性能更高、功耗更低且面積更小。MIPS科技原來主要瞄準高性能工作站與服務器,而ARM最初針對低端移動系統(tǒng)開發(fā)基本內核。MIPS充分利用它在高性能設計方面的經(jīng)驗,向主流嵌入式系統(tǒng)市場轉型。ARM則繼續(xù)沿用其原有性能有限的架構,相比MIPS,它處于不利地位。
MIPS32 4K處理器內核系列包括MIPS32 M4K®內核,其應用程序執(zhí)行速度超過同類ARM Cortex-M系列內核。這一優(yōu)勢部分可歸功于更高效的MIPS指令集架構和優(yōu)化軟件工具,但主要原因還是在于MIPS架構具有眾多專為更高的性能級和應用效率而設計的出色特性,其中包括一般是在微控制器設計中實現(xiàn)的加速功能。例如:
. MIPS內核包含32個GPR,而ARM內核只有16個GPR。這意味著寄存器溢出更少,從而性能更高。
. MIPS內核包含有影子寄存器組,而ARM內核沒有。使用映像寄存器可加速中斷處理保存/恢復功能,減少上下文切換(context switching)和中斷延遲中所需要的周期。
. MIPS架構主要執(zhí)行單一操作指令,而ARM指令在寫入GPR之前執(zhí)行多個操作(如移位操作、算術操作、條件校驗位等等),故MIPS更容易達到更高的時鐘頻率。
. MIPS架構采用比ARM更簡單的存儲器尋址模式工作,故更容易達到更高的時鐘工作頻率。
. MIPS架構的預測執(zhí)行較少,這大大降低了其邏輯復雜性,并使MIPS內核能夠達到更高的頻率。
. M4K與M14K具有5級流水線結構,故無需預測分支方向。而ARM內核采用了復雜的分支預測和分支推測邏輯。
. MIPS架構實現(xiàn)了帶延遲的分支,而ARM結構不這樣;這意味著,利用MIPS,在短流水設計時可獲得更高效率。
. MIPS同時提供32位和64位架構,MIPS64架構具有后向兼容性和更高的性能。ARM只有32位架構,而且并非所有版本都后向兼容。
3 專為高性能MCU而設計的處理器內核
2002年,MIPS科技公司推出了M4K內核,這是一種可用于MCU和小尺寸嵌入式控制器設計中的高性能、可綜合處理器內核。作為手機、DTV、有線調制解調器、GPS和數(shù)碼相機中的控制器,M4K已被廣大范圍的應用所采納,迄今獲授權的公司已近30家,其中部分4K產品的獲授權廠商甚至超過了120家。此外,M4K內核已獲Microchip公司采用,作為其32位PIC32 MCU產品系列中的標準微控制器。
M4K內核在設計中整合了一系列功能特性,能夠提供同類最佳性能,大大超越了ARM Cortex-M系列處理器。
3.1 M4K執(zhí)行流水線
M4K內核的性能可達1.5 DMIPS/MHz,而根據(jù)ARM網(wǎng)站公布的數(shù)據(jù),Cortex-M3的性能只有1.25 DMIPS/MHz,比前者低約20% (ARM Cortex-M0的性能甚至更低,僅0.9 DMIPS/MHz,比MIPS32 M4K內核低40%;Cortex-M0還存在眾多其它局限性,我們接下來會討論到)。換言之,Cortex-M3需要使用高20%的時鐘頻率才能達到M4K內核的性能,但隨之產生更多的功耗。
類似的,如第4節(jié)的“性能基準”所述,在采用CoreMark基準時,M4K內核可達到2.297 CM/MHz的性能,比同類的基于Cortex-M3的解決方案高20-30%。MIPS已把業(yè)內越來越獲認可的CoreMark基準視為比Dhrystone MIPS更精確的CPU性能測量標準。
M4K執(zhí)行單元采用5級流水線微架構,如圖2所示,而Cortex-M3內核的執(zhí)行則基于3級流水線架構。因此M4K內核能夠采用更高的最大時鐘頻率,每秒鐘處理更多的指令,從而獲得比Cortex-M3更高的性能和執(zhí)行效率。
在M4K內核中,所有ALU和移位操作都在單周期內完成。旁路邏輯(Bypass logic)包含在流水線中,在所有流水線級完成之前提供快速數(shù)據(jù)存取以供下一條指令所用。由于執(zhí)行特定任務的周期縮短,性能得以提高。
3.2 系統(tǒng)協(xié)處理器(CP0)
系統(tǒng)協(xié)處理器(CP0)是MIPS架構所獨有的,M4K內核就采用了這種技術。CP0作為一個輔助執(zhí)行單元工作,可分擔部分內核資源的管理,包括異常處理和存儲器管理,故而能夠提高內核的性能。
3.3 GPR和影子寄存器
M4K內核在設計時可以選擇把通用寄存器(GPR)的最大數(shù)量增加到16組,其中每一組都包含了完整的32個寄存器。這些GPR可片上存儲參數(shù)和操作數(shù),因此減少存儲器轉儲的開銷,并釋放指令周期。這對提高計算吞吐量十分有利。
如前所述,采用GPR作為映像寄存器能夠減小MCU系統(tǒng)中常見的服務中斷事件的開銷,從而提高系統(tǒng)性能。
在異常中斷時,M4K內核會確定使用哪一組映像寄存器,將其設置為激活的GPR組,允許中斷向量繼續(xù)執(zhí)行。這種處理完全避免了上下文數(shù)據(jù)(context)的保存或恢復周期,因為當前的激活寄存器組專門負責指定的中斷服務程序。這不僅意味著在中斷或異常代碼開始實際執(zhí)行之前不會浪費時間,而且還表示自從上一次異;蛑袛嗍录l(fā)生以來寄存器的內容一直被完好保存,這就節(jié)省了從SRAM空間取回特定數(shù)值的時間。
3.4 MDU
M4K內核中MDU的高性能實現(xiàn)方案能夠在單周期內完成一次32x16位乘法(或MAC指令), 兩個周期內完成32x32乘法/MAC操作。
MDU有自己的專用功能單元,可獨立操作內核執(zhí)行流水線。所有乘法/除法指令發(fā)送給MDU,而把需要ALU的其它指令,譬如載入/存儲和移位操作,交由內核流水線并行處理。M4K內核中的MDU在加速信號處理操作方面頗具優(yōu)勢,比如FFT、FIR和IIR濾波器計算等在工業(yè)和網(wǎng)絡類型應用中一般由微控制器來執(zhí)行的操作。下面舉例說明M4K加速DSP型功能的能力:一個PIC32可在22K周期數(shù),即283微秒@80MHz條件下執(zhí)行一次256點16位radix-4 FFT,比基于Cortex-M3微控制器的STM32的周期數(shù)少14%。
3.5 SRAM接口
代碼存取與數(shù)據(jù)存取的速度對處理器的性能有重大影響。在存儲器接口設計方面,設計人員作出了巨大的努力,以期盡可能增大可用帶寬,并盡可能減小延遲,最終達到0-等待狀態(tài)數(shù)據(jù)傳送的目標。MIPS架構整合了一個靈活的存儲器總線架構,其能夠從高速閃存(flash)或從高性能片上SRAM執(zhí)行代碼。M4K內核還整合了一個用于指令及數(shù)據(jù)存儲器的高速低延遲SRAM接口。該接口支持單周期和多周期存儲器存取。M4K SRAM接口可配置為雙;蚪y(tǒng)一模式。雙模模式可提供最高性能,并帶有獨立的數(shù)據(jù)(D-SRAM)總線與控制信號,以及指令(I-SRAM)總線與控制信號。雙模允許在I-SRAM和D-SRAM接口上同步處理任務,消除在公用總線接口上可能出現(xiàn)的延遲,防止其減緩程序的執(zhí)行速度。
I-SRAM接口具有改變信號輸入方向的能力,在需要時,可將D-SRAM讀周期改變到I側方向。這有助于改良的Harvard架構(基于MCU的系統(tǒng)的一個常規(guī)特性)的實現(xiàn),允許非易失性數(shù)據(jù)在程序存儲器中的存儲。
SRAM接口提供了中止M4K內核5級流水線的任何指令處理任務的能力,這種能力有利于外部系統(tǒng)控制器立即響應外部事件,如中斷請求或通過EJTAG調試接口的請求。在處理典型微控制器應用中的高度確定性特性時,快速響應外部中斷事件的能力至關重要。
SRAM接口還具有中止長延遲處理任務的能力。在處理典型微控制器應用中的高度確定性特性時,快速響應外部中斷事件的能力至關重要。
M4K內核SRAM接口為M4K內核提供了一種高速、易于使用且高度可配置的存儲器接口,而且,大多數(shù)處理任務都是在單周期內完成的。除了指令和數(shù)據(jù)存儲器,它不包含額外的開銷,如處理任何情況的協(xié)議或信號等,故有助于芯片設計人員實現(xiàn)M4K內核的最大性能。
而Cortex-M3卻沒有這樣完善全面的存儲器控制特性,因此其性能比M4K內核的要低。
3.6 CorExtend
MIPS32架構的另一個特性是CorExtend,其可為開發(fā)人員提供產品差異性和定制化功能。這是設計時的一個選項,通過用戶定義指令(UDI)和定制硬件來擴展內核指令集。CorExtend允許設計人員在內核中自行增添功能性,以加速目標應用中造成瓶頸障礙的專用功能,從而提高系統(tǒng)總體性能。CorExtend在典型MCU環(huán)境中的使用包括專用圖形控制器、TCP/IP加速器、定制安全/加密邏輯、無線基帶控制或其它實時控制接口的設計。CorExtend與內核流水線協(xié)同工作。CorExtend的功能性與MIPS32完全兼容,并得到所有領先的MIPS兼容開發(fā)工具的支持。
4 性能基準
CoreMark是由EEMBC開發(fā)的一種專門針對處理器內核的性能測試而設計的開源基準。CoreMark架構把處理器內核與所有系統(tǒng)附屬部件隔離開來,包括存儲器子系統(tǒng)的影響和編譯器的‘優(yōu)化技巧’。CoreMark測試處理器流水線和常用功能的性能,包括讀/寫、整數(shù)和控制操作等。因此,相比其它基準,它能夠針對處理器內核性能及功能性提供一個人為因素更少的、更接近實際水平的描述。
根據(jù)CoreMark網(wǎng)站的定義:“工作負載(workload)實際上包含了若干常用算法,如矩陣運算(允許使用MAC和常用數(shù)學運算)、鏈接表處理(常使用指針)、狀態(tài)機處理(常使用數(shù)據(jù)相關分支)和循環(huán)冗余碼校驗(CRC是嵌入式結構中極為常用的函數(shù))!
相比采用0等待狀態(tài)存儲器的基于Cortex-M3及Cortex-M0的競爭產品,基于M4K的PIC32 2采用2等待狀態(tài)存儲器工作,可獲得比更高的CoreMark/MHz性能。在相同時鐘頻率的條件下,PIC32的性能比Cor¬tex-M3 STM與NXP解決方案(藍色)高20-50%,比Cortex-M0 NXP解決方案(黃色)高63%以上。
5 低功耗與小外型設計
一個典型SoC中,處理器內核之外的存儲器、外設和控制邏輯占用了大部分面積,其大部分功耗也來源于此。不過,除了最佳性能效率之外,MIPS科技還認識到,在微控制器設計中硅成本與功耗也是確保產品成功的關鍵指標。
MIPS在處理器內核設計中整合了一些能夠盡量減小面積和功耗的特殊特性,本節(jié)將描述其中一部分。因此,MIPS科技得以通過提供‘同類最佳’面積和功耗解決方案,進一步增強其在性能方面的領導地位,從下面幾節(jié)對M4K 和 Cortex-M3的比較中可以清楚看到這一點。
5.1 可降低功耗的特性
M4K微型引擎的高性能優(yōu)勢使應用能夠運行在更低的時鐘頻率下。功率與頻率成正比,故隨頻率的減小,功率降低。從前面的分析我們可看到,M4K內核的處理性能至少比Cortex-M3高20%,這意味著它的功率效率(DMIPS/mW)也更好――亦即相同的任務所需的功率更低。M4K內核的高性能使它能夠更快地完成任務,有更多的時間處于低功耗狀態(tài)(空閑狀態(tài)),從而有助于降低功耗。
M4K內核是一種可綜合設計,能夠在不同的低功耗工藝和庫之間移植。該內核也是一種靜態(tài)設計,允許在線時鐘改變(根據(jù)需要改變到更低頻率)。它甚至還支持時鐘中止,這時功耗會降至µW數(shù)量級的極微水平(這種情況下,功耗主要源于工藝泄漏電流)。
M4K內核提供有好幾項功率管理模式,通過使用精細度時鐘門控技術并支持節(jié)電模式來對功率進行控制。M4K內核的功耗主要源于時鐘邏輯與寄存器。M4K在整個內核上廣泛采用時鐘門控技術,由此提供一種可關斷內核未用模塊的高效機制。M4K內核還通過使用內部寄存器與特定WAIT指令控制,提供進入低功耗與睡眠模式的機制。當WAIT指令被執(zhí)行時,內部時鐘暫停,流水線凍結。任何中斷或復位,都將使內核退出睡眠模式,恢復正常工作。
這些功率管理特性的高效實現(xiàn),結合低功耗制造工具,有助于大幅度降低有功功耗。
比較在180nm和90nm工藝條件下M4K與Cortex-M3的功耗看出,在相同時鐘頻率下:
. 在180nm工藝下,利用速度優(yōu)化配置,M4K的功耗只有Cortex-M3的65%。利用面積優(yōu)化50MHz目標時鐘速度,M4K的功耗比Cortex-M3的小15%。
. 在90nm面積優(yōu)化50MHz配置中,M4K的功耗只有同等Cortex-M3的20%。可惜ARM網(wǎng)站沒有提供90nm工藝下的功耗數(shù)據(jù),不過,通過推測可以計算出M4K的功率節(jié)省有多可觀。
. 在功率效率方面,M4K優(yōu)于Cortex-M3(180nm時大約2倍,90nm時為6倍)——考慮到M4K的更高性能和更低功耗特性,這是不足為奇的。
在130nm工藝條件下,M4K內核顯示出類似的低功耗特性。沒有130nm Cortex-M3的數(shù)據(jù)可供比較,因此下面我們只給出了130nm時M4K的功耗數(shù)據(jù)。
. 速度優(yōu)化配置 @ 216MHz最大頻率下,功耗為0.17mW/MHz
. 面積優(yōu)化配置 @100MHz頻率下,功耗為0.06mW/MHz。
5.2 小尺寸的特性
M4k內核是一個高功率效率、高度可配置且靈活的處理器內核。M4K內核的可選模塊,包括調試/跟蹤(EJTAG)、COP2協(xié)處理器接口和CorExtend擴展。MIPS16e ASE指令解碼器為可選。
為了減少門數(shù),M4K提供了一組全面完整的設計配置選項?膳渲眠x項包括激活/禁用調試功能、設置調試/跟蹤斷點的數(shù)目與類型、快速或慢速MDU、設置GPR寄存器組的數(shù)目,以及數(shù)據(jù)與指令SRAM接口分開或統(tǒng)一。
利用配置選項可綜合出一個經(jīng)過速度或面積優(yōu)化,能夠滿足所需應用目標頻率的要求,同時獲得最小尺寸與門數(shù)的實現(xiàn)方案。內核面積與工藝、單元庫及應用所需性能有關。要比較M4K內核與Cortex-M3在減小內核面積方面的設計效率,應該充分考慮到所有這些因素。不過,M4K內核只需33K門即能實現(xiàn),即使而且擁有更多的特性功能,尺寸仍然小于Cortex-M3的。
6 生態(tài)系統(tǒng)
SoC開發(fā)環(huán)境包括硬件/軟件調試工具及其它第三方解決方案,在選擇處理器時是一項重要的考慮事項。
MIPS科技擁有一支致力于提供一系列硬件和軟件開發(fā)工具的專業(yè)團隊,可幫助設計人員成功地測試MIPS處理器并集成到SoC中,并且驗證它在目標系統(tǒng)應用中的工作性能。這些工具包括System Navigator EJTAG調試探針、同時支持RTOS和Linux 目標的GNU軟件工具鏈、用于軟件剖析和協(xié)同仿真的周期精確及指令精確仿真器、基于FPGA的開發(fā)/評估板與Navigator集成元件套件(ICS),以及可與其它MIPS工具集成的基于Eclipse的開發(fā)環(huán)境。
除此之外,MIPS科技還創(chuàng)建了一個MIPS聯(lián)盟計劃(MAP),旨在支持廣大范圍的第三方生態(tài)系統(tǒng)。MAP是一個由100多家合作伙伴組成的社區(qū),他們共同合作,提供數(shù)以百計的解決方案來支持MIPS架構和處理器內核。這個生態(tài)系統(tǒng)是設計人員的一個寶貴資源,可為他們提供瞄準廣大范圍的市場應用(包括MCU)的MIPS兼容工具及解決方案,幫助他們加快產品上市。
MIPS生態(tài)系統(tǒng)已發(fā)展成為一個擁有豐富且多元化支持的基礎架構,包括眾多分別提供OS、RTOS、硬件調試工具、軟件開發(fā)產品、應用軟件、EDA工具、物理IP及其它相關專用產品的合作伙伴。對于MCU開發(fā),生態(tài)系統(tǒng)有許多支持范例可供眾多供應商選用。提供MCU支持的部分MIPS聯(lián)盟合作伙伴如下:
. Express Logic、Mentor Graphics、Micrium、Segger、Green Hills Software、Wind River、CMX、FreeRTOS 等RTOS供應商
. 提供調試探針和仿真器的Ashling、Luterbach、Macraigor、Corelis
. 提供軟件開發(fā)工具的CodeSourcery、Green Hills、Mentor Graphics、Hi-Tech
. 提供仿真模型的Carbon、Imperas
. 提供SoC IP的Sonics、Dolphin、Denali
. 提供EDA/ESL工具的Synopsys、Cadence、Magma
7 MIPS32 M14K內核
MIPS 科技最近推出的兩款新型MIPS32 4K處理器內核――MIPS32 M14K與M14Kc,繼續(xù)引領著它在微控制器及其它高性能、小外型及成本敏感的嵌入式應用方面的創(chuàng)新與發(fā)展。這兩款內核采用雙解碼器設計,包括MIPS32及微MIPS的指令解碼器。它們是整合了新型microMIPS代碼壓縮指令集架構并與MIPS32兼容的首批內核。microMIPS能夠提供很高的代碼密度與性能水平:維持原有MIPS32性能,調試至少減小30%的代碼量。
與Cortex-M3相比,M14K內核擁有和M4K內核同樣的優(yōu)點:更好的性能,更低的功耗,更小的尺寸,更高的可配置性和更大的靈活性。此外,M14K內核還具有Cortex-M系列所沒有的其它一些優(yōu)點。
Cortex-M0簡介:Cortex-M0的核心架構版本被稱為ARMv6,是Cortex-M3的ARMv7架構的前代版本。這實際上是一個帶一些Cortex-M3功能的ARM7架構。它執(zhí)行一個3級流水線結構,其性能僅為0.9 DMIPS/MHz,甚至不及Cortex¬M3。Cortex-M0總共執(zhí)行56條Thumb和Thumb-2指令,其中只有6條是32位指令。如果不修改,為Cortex-M3編寫的大部分代碼都不能在Cortex-M0上運行。
與ARM7一樣,Cortex-M0也重新采用馮•諾依曼(Von Neumann)架構。Cortex-M0不支持本地存儲,而是通過AHB總線從主存儲器上讀取代碼和數(shù)據(jù),它在數(shù)據(jù)傳送完成之前需要額外的等待,因而大大降低了性能。
Cortex-M0的完整配置約為24K門。尺寸雖然小了,但Cortex-M0卻缺乏33K門大小的M4K或M14K內核所具有的許多標準特性和性能。以犧牲Cortex-M0的性能和功能來換取面積外型的減小,有些得不償失。
8 小結
在為數(shù)字家庭和網(wǎng)絡市場提供高性能和高效率應用產品方面,MIPS科技口碑卓著。標準MIPS架構在不斷改進增強,以幫助微控制器設計人員應對技術挑戰(zhàn),提供比ARM Cortex-M系列產品更出色的性能、更低的功耗及更多的先進特性。
由于具有更高的效率和更好的可配置性,M4K和M14K內核為MCU和嵌入式控制器的設計人員提供了一種“3對1”的方案:無論是與Cor¬tex-M3、-M0還是-M1相比,單個M4K/M14K內核都能提供更好的性能和更多的功能,它能夠以一取代這三種內核。
隨著MCU應用的逐漸普及,對高性能、低功耗及實時響應的要求也不斷提高,32-位處理器架構是滿足這些需求的最佳選擇。
在選擇MIPS處理器內核時,重點需考慮以下因素:
. Performance 性能
. MIPS M4K和M14K內核執(zhí)行5級流水線架構,性能達到1.5 DMIPS/MHz。ARM Cortex-M3及-M0為3級流水線設計,性能分別為1.25和0.9 DMIPS/MHz – 比M4K/M14K低20%和60%。
. 在180nm和90nm工藝條件下,M4K和M14K內核的最大時鐘頻率比同等配置的Cortex-M3高20%。
. CoreMark基準的結果顯示,M4K PIC32性能為2.297 CM/MHz,比在相同時鐘頻率下執(zhí)行的Cortex-M3 STM32F性能高20%。
. M14K中斷延遲為10個周期,而Cortex-M3為12個周期。在處理連續(xù)(back-back)中斷時,M14K內核需要的周期數(shù)比Cortex-M3的少30%。
. PIC32和M14K內核利用一個預取緩沖區(qū)來減少閃存的存取時間,并利用一個快速SRAM接口來加快執(zhí)行速度,Cortex-M3則沒有。
. PIC32的DSP性能比執(zhí)行常用信號處理FFT算法的STM32F高14%。
. 低功耗及高電源效率
. 在MCU目標工藝節(jié)點上,相比Cortex-M3,M4K的功耗大幅降低,性能效率大幅提升。在180nm時,在相同時鐘頻率下,M4K的功耗比Cortex-M3小65%,而功效達到其2倍。
. MIPS生態(tài)系統(tǒng):包含MIPS提供的廣大范圍的各種產品,其合作伙伴提供的硬件和軟件開發(fā)工具,與主要RTOS、中間件的兼容性,以及對主要EDA工具的支持,可幫助設計人員減少開發(fā)時間,加速產品上市。
. 經(jīng)過驗證的技術,更低的風險:在大范圍的高性能應用中,數(shù)以十億計的SoC成功采用了MIPS32和MIPS64架構進行設計。MIPS是數(shù)字家庭(DTV、STB)、寬帶接入和無線網(wǎng)絡應用(WLAN、WiMAX)市場的領導者。
隨著32位CPU架構的性能的不斷提高,新一代嵌入式應用開始出現(xiàn)。MIPS科技是高性能和性能/功效的領導者,是推動新一代產品的最佳不二選擇。
9 參考資料
. MIPS Technologies www.mips.com
. ARM www.arm.com
. EEMBC CoreMark www.coremark.org
. Microprocessor Report www.mdronline.com
. Berkeley Design Technology Inc. www.BDTI.com
. See MIPS Run’ by Dominic Sweetman. ISBN 13; 978-0120884216
. Exploring the PIC32’ by Lucio Di Jasio. ISBN 13: 978-0750687096