新聞中心

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

MIPS -- 適用于MCU的處理器

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

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

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

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

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

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

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

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

  3.4 MDU

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

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

  3.5 SRAM接口

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

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

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

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

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

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

  3.6 CorExtend™

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

  

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

  4.性能基準(zhǔn)測試

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

  源自CoreMark網(wǎng)站所述:“測試內(nèi)容實(shí)際由多個(gè)常用算法組成,包括矩陣操作(允許使用MAC和常用數(shù)學(xué)運(yùn)算)、鏈表操作(執(zhí)行指針的常規(guī)用途)、狀態(tài)機(jī)操作(數(shù)據(jù)相關(guān)分支的常規(guī)用途)以及循環(huán)冗余校驗(yà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)的存儲(chǔ)器,其性能優(yōu)于競爭對手的采用0等待狀態(tài)存儲(chǔ)器的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)閉