新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > MIPS -- 適用于MCU的處理器

MIPS -- 適用于MCU的處理器

作者: 時間:2011-04-06 來源:電子產(chǎn)品世界 收藏

  3.2 系統(tǒng)協(xié)處理器(CP0)

本文引用地址:http://m.butianyuan.cn/article/118393.htm

  系統(tǒng)協(xié)處理器(CP0)是架構(gòu)所特有的,可以在M4K內(nèi)核中找到。CP0作為輔助執(zhí)行單元工作,可減少內(nèi)核資源的某些管理操作(包括異常處理和存儲器管理),從而提高內(nèi)核性能。

  3.3 通用寄存器(GPR)和影子寄存器

  M4K內(nèi)核提供一個配置選項,可將GPR的數(shù)量增加到最多16組,且每組都有完整的32個寄存器。這些GPR可在片上存儲參數(shù)和操作數(shù),從而減少存儲器轉(zhuǎn)移開銷并減少指令周期。這對增加計算吞吐量有著積極作用。

  如前文所述,使用GPR作為影子寄存器可以減少服務(wù)中斷(系統(tǒng)中的常見事件)所產(chǎn)生的開銷,從而提高系統(tǒng)性能。

  當(dāng)處理中斷或異常時,M4K內(nèi)核會決定使用哪個影子寄存器組并使其成為激活的GPR組,以允許中斷向量繼續(xù)執(zhí)行。此過程完全不需要現(xiàn)場保護或恢復(fù)周期,因為指定的中斷服務(wù)程序是當(dāng)前激活的影子寄存器的唯一所有者。這意味著不僅在中斷或異常代碼實際開始執(zhí)行前不會浪費時間,而且自上一次異?;蛑袛嗍录せ钜詠淼募拇嫫鲀?nèi)容都會被保留。這會節(jié)省從SRAM空間重新獲取特定值的時間。

  3.4 MDU

  M4K內(nèi)核中的高性能MDU可在一個周期內(nèi)完成一次32x16位乘法(或MAC指令)。在兩個周期內(nèi)完成32x32位乘法/MAC運算。

  MDU有自己的專用功能單元,可獨立于內(nèi)核執(zhí)行流水線進行工作。任何乘法/除法指令都會被送到MDU,這樣內(nèi)核流水線可并行處理其他操作,例如需要ALU、加載/存儲和移位運算的指令。M4K內(nèi)核中的MDU具有使信號處理運算加速的優(yōu)勢,例如FFT、FIR和IIR這些在工業(yè)和網(wǎng)絡(luò)型應(yīng)用中通常由單片機執(zhí)行的濾波計算。以M4K加速DSP型函數(shù)的能力為例,PIC32在80MHz的頻率下運行256點的16位radix-4 FFT運算需要22K個周期,共花費283ms,比基于Cortex-M3的單片機STM32少用14%的周期。

  3.5 SRAM接口

  訪問代碼和數(shù)據(jù)的速度快慢對處理器性能有明顯影響。設(shè)計人員致力于設(shè)計一種存儲器接口,使可用帶寬最大化且最大程度地降低延遲,目標(biāo)是實現(xiàn)0等待狀態(tài)的數(shù)據(jù)傳送。架構(gòu)采用靈活的存儲器總線結(jié)構(gòu),允許從高速閃存或高性能片上SRAM中執(zhí)行代碼。M4K內(nèi)核集成了一個用于指令和數(shù)據(jù)存儲器的高速、低延時SRAM接口。該接口支持單周期和多周期存儲器訪問。M4K SRAM接口可工作在雙模式或統(tǒng)一模式下。雙模式提供最高的性能,并具有控制數(shù)據(jù)(D-SRAM)和指令(I-SRAM)的獨立總線。雙模式允許在I-SRAM和D-SRAM接口上同時執(zhí)行數(shù)據(jù)傳輸,以消除公用總線接口上可能產(chǎn)生的沖突現(xiàn)象。

  I-SRAM接口能夠重新定向信號輸入,必要時允許將D-SRAM讀周期重新定向到I側(cè)。這樣便可實現(xiàn)改良的哈佛架構(gòu)(這是基于的系統(tǒng)的常規(guī)特性),允許將非易失性數(shù)據(jù)存儲在程序存儲器中。

  SRAM接口可在M4K內(nèi)核的5級流水線中的任意位置中止指令事務(wù)。這樣便可從外部系統(tǒng)控制器對外部事件(例如中斷請求或通過EJTAG調(diào)試接口發(fā)出的請求)做出立即響應(yīng)。在處理典型單片機應(yīng)用的高決定性操作時,對外部中斷事件的快速響應(yīng)至關(guān)重要。

  SRAM接口還可中止延時較長的數(shù)據(jù)傳輸。在處理典型單片機應(yīng)用的高決定性操作時,對外部中斷事件的快速響應(yīng)至關(guān)重要。

  M4K內(nèi)核中的SRAM接口是一個高速、易用且可靈活配置的存儲器接口,其中大多數(shù)傳輸可在一個時鐘周期內(nèi)完成。它除處理指令和數(shù)據(jù)存儲器之外不會產(chǎn)生任何額外的協(xié)議或信號開銷,這使芯片設(shè)計人員可充分利用M4K內(nèi)核的最大性能。

  Cortex-M3則沒有如此全面的存儲器控制功能,因此在性能上不如M4K內(nèi)核。

  3.6 CorExtend™

  CorExtend是32架構(gòu)的另一個獨特功能,它為開發(fā)人員提供了產(chǎn)品差異化和定制功能。它是一個配置選項,通過用戶定義指令(User Defined Instructions,UDI)與定制硬件的結(jié)合來擴展內(nèi)核指令集。設(shè)計人員可通過CorExtend為內(nèi)核增加功能,在目標(biāo)應(yīng)用中對成為瓶頸的特定應(yīng)用功能進行加速,從而提高系統(tǒng)的整體性能。在典型環(huán)境中,CorExtend可用于設(shè)計專用圖形控制器、TCP/IP加速器、定制安全/加密邏輯、無線基帶控制或其他實時控制接口等。CorExtend與內(nèi)核流水線協(xié)同工作,如圖3所示。CorExtend的功能與MIPS32完全兼容,并且所有領(lǐng)先的MIPS兼容開發(fā)工具均能支持。

  

  圖3:CorExtend流水線結(jié)構(gòu)

  4.性能基準測試

  CoreMark是EEMBC開發(fā)的開源基準測試工具,專為測試處理器內(nèi)核的性能而設(shè)計。CoreMark的架構(gòu)可將處理器內(nèi)核與任何相關(guān)系統(tǒng)隔離,包括存儲器子系統(tǒng)的影響以及編譯器可能使出的“優(yōu)化把戲”。CoreMark可測試處理器流水線以及常用功能(包括讀/寫、整數(shù)和控制操作)的性能。因此,它提供的測試結(jié)果中的人為影響要比其他基準測試少,更接近處理器內(nèi)核的真實性能。

  源自CoreMark網(wǎng)站所述:“測試內(nèi)容實際由多個常用算法組成,包括矩陣操作(允許使用MAC和常用數(shù)學(xué)運算)、鏈表操作(執(zhí)行指針的常規(guī)用途)、狀態(tài)機操作(數(shù)據(jù)相關(guān)分支的常規(guī)用途)以及循環(huán)冗余校驗(CRC是嵌入式應(yīng)用中很常用的功能)”。

  圖4比較了一些基于MIPS M4K和ARM Cortex-M3及M0的MCU的數(shù)據(jù),這些數(shù)據(jù)取自CoreMark公開網(wǎng)站。

  

  圖4:M4K PIC32與ST和NXP Cortex-M器件的CoreMark比較結(jié)果

  工作在80MHz下的M4K PIC32采用2等待狀態(tài)的存儲器,其性能優(yōu)于競爭對手的采用0等待狀態(tài)存儲器的Cortex-M3和M0器件,具體數(shù)據(jù)為:

  比工作在120MHz下的STM32F高20%

  比工作在72MHz下的STM32F高50%

  比工作在100MHz下的LPC1768高31%

  比工作在50MHz下的LPC1113高63%



關(guān)鍵詞: MIPS MCU

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉