當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

人們通常用每秒百萬條指令(MIPS)來衡量微控制器(MCU)的計算性能,但是沒有任何兩個MCU/SoC架構(gòu)是完全相同的,加速不同應(yīng)用性能的集成度也不相同。因此,在采用適當(dāng)硬件特性的情況下,固件應(yīng)用可減少對CPU資源的占用。在移植到不同架構(gòu)的過程中,如果開發(fā)人員只關(guān)注MIPS,僅以MIPS來預(yù)測應(yīng)用所需的計算性能,那么就會大錯特錯了。本文將就典型的計算問題分析MCU/SoC的多種架構(gòu)特性,目的是說明MIPS并不能真正反映器件的計算性能,并探討我們應(yīng)當(dāng)如何應(yīng)對這一問題。此外,鑒于目前比較此類產(chǎn)品系統(tǒng)級功能的基準(zhǔn)標(biāo)準(zhǔn)較少,本文還將專門重點討論運行速率在100MHz以下的MCU/SoC器件。

  100MHz以下架構(gòu)的特點

  100MHz以下的MCU通常使用8位、16位或32位架構(gòu),數(shù)據(jù)總線寬度為8位、16位或32位。這些產(chǎn)品也可分為其它多種類型,如Harvard/Von Neumen和RISC與CISC等,每種類型都有其引人關(guān)注的不同之處。對大多數(shù)MCU而言,不同的指令需要執(zhí)行不同的機器資源。此外,振蕩器頻率通常與機器工作周期不同,比如,就經(jīng)典的8051而言,振蕩器的12個周期才相當(dāng)于機器工作1個周期。而對許多PIC器件而言,4個振蕩器周期就對應(yīng)于1個機器工作周期。

  下面我們通過一個示例來更好地了說明這一問題。假設(shè)某器件的振蕩器頻率為20MHz,其兩個振蕩器周期對應(yīng)于1個機器工作周期。此外,指令執(zhí)行需要1到6個機器工作周期。那么,該器件的MIPS額定值是多少呢?我們將振蕩器頻率除以2,得到可用的機器工作周期為1千萬。不過,如何將機器工作周期轉(zhuǎn)換為MIPS則取決于我們?nèi)绾慰创@一問題。如果您是營銷人員,您會只專注于最佳情況,也就是假定每條指令只要一個工作周期,這樣這款產(chǎn)品的性能就是10 MIPS。如果您想了解最低的理論性能,那么就會假定每條指令需要6個工作周期,這就會得到1.66(10/6)MIPS。這里我們得到了最高和最低的MIPS。對典型應(yīng)用而言,實際的MIPS性能介于二者之間,具體取決于應(yīng)用的指令集組合。我們這里還作了令一個假定,即認(rèn)為不同的架構(gòu)指令計算性能類似,但這基本上是不現(xiàn)實的。

  我們這里假定機器工作周期數(shù)量是決定器件執(zhí)行指令數(shù)量的唯一因素。下面,我們設(shè)想一下閃存對處理性能的影響。一般而言,閃存提供數(shù)據(jù)的速率不超過20MHz。因此,如果CPU運行速率超過20MHz,而用閃存執(zhí)行指令,那么閃存數(shù)據(jù)速率就成為了最大的瓶頸。在此情況下,我們可讓閃存總線帶寬高于數(shù)據(jù)總線帶寬,并創(chuàng)建指令緩沖器以跟上指令速率,從而解決上述問題。要做到這一點,CPU就要在執(zhí)行當(dāng)前指令時調(diào)用下一條指令。這種做法對線性代碼而言沒問題。但不幸的是,實際系統(tǒng)代碼很少是線性的。每次代碼出現(xiàn)分支,指令緩沖器都必須重構(gòu)。另一種改進(jìn)性能的辦法是添加緩存容量。簡而言之,如果一個MCU/SoC管理閃存的效率較高,而另一個效率較低,則即便機器工作循環(huán)和指令集相同,性能數(shù)據(jù)也將大不相同。

  我們已經(jīng)比較熟悉類似上述的各種因素,開發(fā)人員通常會在比較不同器件的性能時考慮到這些相關(guān)因素。下面我們來談?wù)勀承┎惶黠@的因素。

  DMA對MIPS的影響

  某MCU/SoC器件支持DMA(直接存儲器存取)功能,其能將CPU從存儲器存取工作中解放出來,從而提高性能。我們怎么*估DMA對MIPS的影響呢?先來看看主模式下串行通信協(xié)議SPI的典型使用情況。SPI是一個很好的例子,因為它通常是MCU/SoC上最高吞吐量的板內(nèi)通信外設(shè),而且配合存儲器、以太網(wǎng)、無線收發(fā)器芯片等一同使用。

  假定:

  SPI速率:8Mbps

  數(shù)據(jù)包大小:128字節(jié)

  數(shù)據(jù)吞吐率要求:每個數(shù)據(jù)包160uS

  如SPI速率為8Mbps,那么傳輸1個字節(jié)需要1uS。因此,傳輸128個字節(jié)需要128uS。我們的預(yù)算為每個數(shù)據(jù)包160uS,這就剩下32uS(160-128)用于SPI管理。這32uS的預(yù)算要平均分配給128個字節(jié),因為系統(tǒng)每一個uS都要載入一個新數(shù)據(jù)字節(jié)。32uS除以128即可得到SPI管理每數(shù)據(jù)字節(jié)傳輸有250nS的時間。


  就上例而言,DMA將MCU/SoC速率需求降低了160MHz,而將CPU處理能力需求降低了200MHz。如果我們假定一次周期相當(dāng)于MIPS,那么本應(yīng)用的DMA就相當(dāng)于一個200MIPS處理器。

  DMA實現(xiàn)的高效MIPS在很大程度上取決于吞吐量需求。我們再舉一個本應(yīng)用的極端例子。假定每個數(shù)據(jù)包沒有時間限制,那么DMA每字節(jié)節(jié)約的CPU周期數(shù)達(dá)50個,那么就128個字節(jié)而言,周期數(shù)節(jié)約可達(dá)6400個。如果MCU需要在16MHz的情況下支持8MHz SPI,且128個字節(jié)的數(shù)據(jù)包每秒只傳輸一次,那么不支持DMA的MCU/SoC運行速率就需達(dá)到每秒16,00*00條指令,性能水平和支持DMA的MCU每秒160萬條指令相當(dāng)。因此,就這一特殊的使用案例而言,DMA的影響可以忽略不計。

  協(xié)處理器對MIPS的影響

  MCU/SoC帶協(xié)處理器的情況并不少見。協(xié)處理器能并行處理某些高計算強度任務(wù),將CPU解放出來并提高處理器的MIPS效率。

  我們不妨設(shè)想一下這樣一款應(yīng)用,其輸入音頻數(shù)據(jù)進(jìn)入后由ADC采樣,采樣頻率為44.1Ksps。假設(shè)我們希望抑制50或60HZ的直線頻率。為此,我們需要使用數(shù)字帶阻過濾器。

  采樣速率:44.1Ksps,采樣間隔22.7uS

  FIR過濾器抽頭數(shù):128

  為了簡化說明,我們不考慮過濾器的輸出級。


  就上例而言,協(xié)處理器將CPU速率要求降低了44.1 MIPS。請注意,該示例采用了簡單的FIR過濾器。如果需要更復(fù)雜的過濾器,那么MIPS要求可能會高得多(數(shù)百MIPS)。

  可編程數(shù)字器件對MIPS的影響

  一些MCU/SoC器件的可編程數(shù)字邏輯為CPLD或FPGA邏輯形式,這使開發(fā)人員能用硬件實施CPU功能,而CPU功能傳統(tǒng)上是用軟件實施的。下面我們來看看可編程數(shù)字邏輯對MIPS有什么影響。

  我們假設(shè)三相無電刷DC(BLDC)電動機的轉(zhuǎn)速為30,000rpm。電動機的轉(zhuǎn)動要求脈沖時序。出于簡化目的,我們還假定用霍爾感應(yīng)器來探測電動機轉(zhuǎn)子的位置。三個這樣的霍爾感應(yīng)器用來實現(xiàn)上述目的。每轉(zhuǎn)60度,霍爾感應(yīng)器輸出之一就會發(fā)生變化。如果電動機有兩個轉(zhuǎn)子極組,那么兩個電氣循環(huán)將對應(yīng)于一次機械轉(zhuǎn)動。這就是說,就一次完整轉(zhuǎn)動而言,霍爾感應(yīng)器輸出會改變12次?;魻柛袘?yīng)器輸出導(dǎo)致6個PWM輸出變化。各帶配套輸出的三個PWM用于創(chuàng)建6個PWM輸出。下圖顯示了霍爾感應(yīng)器輸入同PWM輸出之間的關(guān)系。PWM值為正說明PWM高壓側(cè)工作,值為負(fù)則說明PWM低壓側(cè)工作。

  下面我們來分析通常如何實施BLDC轉(zhuǎn)換,以及如果器件具備可編程邏輯(CPLD或FPGA)功能,又將如何簡化BLDC轉(zhuǎn)換。

  就上例而言,可編程數(shù)字技術(shù)將CPU速率要求降低了1MIPS。如果電動機轉(zhuǎn)速較低,那么該技術(shù)對MIPS的影響也較低,反之亦然。上例采用了優(yōu)化組裝和簡單的開環(huán)控制。實際應(yīng)用會更加復(fù)雜,且通常使用C代碼,以簡化維護(hù)和再利用。如果使用一般性C代碼,則MIPS要求會增加到3 MIPS。幾乎所有電動機控制應(yīng)用都需要類似于PID控制的多控制回路,這提高了計算要求。不過,如果通過硬件來完成相同工作,那么就能確保CPU占用為零。因此,整個電動機控制應(yīng)用的MIPS需求介于5到10 MIPS之間,而采用硬件方法,需求則為零。

  基于可編程邏輯的實施方案具有較高的再利用性,且不存在任何集成問題。實施一個電動機控制所需的可編程數(shù)字邏輯要求非常低,因此我們能在硬件中實施多個電動機控制和轉(zhuǎn)換邏輯。如果用CPU完成相同的工作,由于我們無法同時處理兩個中斷,那么MIPS需求就會增長好幾倍。此外,為了保證合理的中斷響應(yīng)時間,CPU運行速率必須比最低速率要求快得多。因此,我們能用可編程邏輯輕松地實施完整的BLDC電動機控制系統(tǒng),比如4個這樣的系統(tǒng)。不過,如果用MCU固件來實現(xiàn)相同的任務(wù),則需要約100 MIPS的性能。

  正如本文所述,MIPS并不能代表MCU/SoC器件解決系統(tǒng)級問題的真正能力。如果器件具備上述所有功能,那么什么樣的器件MIPS性能才適用呢?200 MIPS、500 MIPS還是1,000 MIPS?在所有情況下,MIPS不過是一個意義非常有限的數(shù)字而已。

  那么,開發(fā)人員如何確定最適合應(yīng)用需要的器件呢?不幸的是,這個問題并不太容易回答:

  ·確定應(yīng)用中存在關(guān)鍵計時或CPU性能要求的區(qū)域。

  ·確定MCU/SoC廠商是否提供應(yīng)用說明或類似于您所需應(yīng)用的示例項目。如果已經(jīng)提供,則能為您針對既定MCU/SoC來優(yōu)化應(yīng)用的程度提供指導(dǎo)。如果沒有提供,則應(yīng)想辦法找到使用給定架構(gòu)實施應(yīng)用的潛在辦法,并了解您可使用哪些硬件特性。

  ·根據(jù)上述示例所示粗略估算MIPS性能要求。計算不必特別精確。您應(yīng)盡力確定潛在的巨大差距。在上述所有示例中,性能差異都已足夠大,精確計算已非必要。

  ·如果性能差距較小,比如在10%到20%之間,而工作任務(wù)是應(yīng)用的主要組成部分,則唯一的選擇是用廠商的開發(fā)工具包創(chuàng)建特定的實施方案,檢測實際性能差距。

  ·如果您計劃購買大量器件,則有關(guān)要求可作為RFQ(詢價單)的一部分。這讓廠商能根據(jù)您的特定應(yīng)用提供器件性能相關(guān)信息。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉