吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于微控制器的應用程序性能定位分析

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-03-11 08:19 ? 次閱讀

性能需求直觀,特別是在開發嵌入式應用程序時。大多數設計團隊面臨的挑戰是了解性能是多少,這本質上取決于兩件事:所需的功能及其實現方式。雖然實現主要是在軟件中,但微控制器的部分價值在于外設在接口方面做了很多繁重的工作。然而,操縱這些接口提供的信息會給核心本身帶來更大的壓力和壓力。

更高的性能需要付出代價;但由于微控制器往往是在完善的工藝節點上制造的,因此成本通常用系統級功率來衡量,而不是用元件級美元和美分來衡量。為某一特定應用選擇最佳微控制器可以說是有爭議的隨著最終用戶的需求,選擇范圍和功能深度不斷擴大,變得越來越困難。

MCU應用的發展

領先的半導體供應商在過去十年中面臨著一段時間的采用或因此,提供基于32位處理核心的全面MCU組合。雖然ARM?的Cortex?-M系列在這個領域流行,但它并不是唯一的選擇,并且仍然存在多種專有架構。也許其中最突出的是來自瑞薩的SuperH家族。值得注意的是,雖然瑞薩和其他公司也采用ARM架構來生產互補的32位系列,但它們仍然提供8位和16位MCU,預計需求將持續數年。 》部分需求來自特定細分市場;包括那些提到的許多設備制造商已將電機控制確定為跨越工業控制和汽車市場的重要水平部分。因此,許多仍然運行專有核心的MCU專注于這些市場,而那些具有更通用ARM架構的MCU則針對具有不同基本要求的領域,包括物聯網M2M。

在這十年中采用這些相同的供應商時,他們對現實世界對于成熟的8位和16位器件的更昂貴和復雜的32位替代品的需求持懷疑態度。雖然這些批評是有根據的,但隨著時間的推移,成本主題在很大程度上受到了規模經濟和流程成熟的侵蝕。可以說,復雜性的主題仍然存在。但是,最終應用程序的復雜性上升總是合理的,這主要是由于通信。嵌入式設備隨著更高級別的連接性的發展而發展,因此現在任何電子設備都不能以某種方式與外界進行通信。當今高級通信的地方特性,無論是有線還是無線,通常涉及標準化協議,以便提供互操作性和物理接口。根據通信接口的拓撲結構,這可能相對復雜,因此需要更高的處理能力才能執行。

當然,更大的連接性并不是嵌入式設備在過去十年左右的唯一演變。通過連接,可以在更大的系統中發揮更大的作用,鼓勵開發人員將更多功能集成到更小的外形,功率包絡和財務預算中。通信占據了相對較大比例的可用處理能力,這導致了對功能更強大的設備的需求,半導體供應商通過采用更大,更復雜的處理器內核來應對這種需求。

測量性能

不幸的是,評估“標準”函數(如運行協議棧)所需的性能量是完全主觀的。最終,它在很大程度上取決于核心,子系統和編譯器。由于這個原因,相對適中的8位器件可能能夠執行代碼,但是接受更寬指令的流水線,通常允許多個指令同時執行,或者需要更少的時鐘周期來執行,可以顯著加快執行速度。 br》當考慮上述特征時,通過應用較少使用這些特征的算法,可以評估“原始”性能。這通常是行業基準的目標,例如EEMBC的CoreMark。這個簡單的C代碼庫的目標是提供讀/寫,整數和控制操作的真實混合,這些操作更多地依賴于核心的基本元素,并且不能通過編譯器優化輕易地消除。

基準測試給出了單個品質因數,但它可以用時鐘速度表示,提供另一個標準化水平。選擇通過相對較窄的窗口(2.51至3.00 CoreMark/MHz)過濾結果顯示了一系列32位設備,包括瑞薩的RX600系列; MicrochipPIC32系列; STM32來自意法半導體;飛思卡爾的Kinetis K系列; Atmel的SAM3和SAM4系列;圖1:瑞薩的RX600 32位MCU系列實現了CMOS攝像頭接口。

EEMBC建議CoreMark基準測試比其他產品更準確,如圖1所示:來自瑞薩科技的OMAP35x。因為它是所有設備的標準,并且強烈關注核心架構。

8位和16位器件的架構將始終難以在核心級別與32位同類產品競爭,原因在于它們相應地相應吞吐量較低;在大數字上執行的算術函數在僅有8位的ALU中總是需要更長的時間。然而,許多制造商已經竭盡全力延長這些設備的使用壽命,主要是因為它們仍能滿足客戶的要求,而不會增加復雜性或不必要的性能。

圖2:STM32 -L系列使用Cortex-M3來瞄準超低功耗應用。

這通常通過對核心架構的創新擴展來實現,同時保留指令集。這方面的一個例子來自Silicon Labs,其基于8051的設備如C8051F12x。 SiLabs實施了一種“硬連線”8051指令集架構,可提高性能,同時保持與原始微編碼版本的目標代碼兼容性。使用兩級流水線可提高吞吐量,保留8位程序存儲器寬度,但大多數指令可在1或2個時鐘周期內執行。 SiLabs表示,它的性能是原始8051內核的20到25倍,峰值吞吐量高達100 MIPS。同樣,Atmel的AT89LP系列是8051兼容系列,該公司聲稱可以提供高達12倍于‘vanilla’8051設備的性能。 Atmel專有的8位架構AVR為包括ATmega128在內的器件供電,可提供真正的單時鐘周期執行,并提供1 MIPS/MHz。根據EEMBC的結果,運行頻率為2 MHz的ATmega1281的CoreMark/MHz數值為0.18,當編譯器配置為優化代碼大小時,其數值上升至0.44。這與某些32位設備相當,并說明了性能如何依賴于應用程序向上移動總線寬度

由于性能在很大程度上依賴于總線體系結構,因此在沿性能曲線遷移時保持代碼兼容性可能會在較低級別上具有挑戰性。正如Silicon Labs和Atmel所證明的那樣,重新實現指令集以提供更高的性能可以克服這一挑戰,但隨著對性能的需求不斷加快,傳統指令集將不太可能滿足這種需求。 br》投資專有架構可提供更大的性能擴展空間,同時保持軟件兼容性;例如,德州儀器(TI)的MSP430系列基于16位RISC內核。該系列涵蓋九個不同的系列,從低電壓和超值系列到FRAM和RF SoC系列。這種廣度提供了各種性能點,通過每個器件提供的集成度,外設集和時鐘頻率提供。

雖然低級代碼兼容性主要取決于架構,但高級兼容性更簡單,主要是由于普遍性C和C編譯器的可用性。軟件復雜性的本質意味著今天大多數MCU使用C編程為高級,而不是使用低級(匯編)語言。

圖3:MSP430價值線目標是低成本,同時提供更高性能的遷移路徑。

雖然仍然存在特定于體系結構的依賴關系,但這樣可以更大的自由來定位同一個系列的不同成員甚至是完全不同的系列。當然,這也是ARM的Cortex-M系列被大量設備制造商成功采用的另一個原因。這得益于ARM和設備制造商提供的軟件開發環境和庫。其不斷發展的生態系統也使供應商和開發商受益。

圖4:Atmel的SAM4L系列將Cortex-M4的更高性能與Atmel的微電源技術相結合。需求

對更高性能的持續需求意味著設備制造商現在在單個設備上集成了更多功能。雖然仍在不斷涌現,但它采用的是異構和同構的多核MCU,其中多個相同的內核或多個但不相似的內核集成在一個設備中。

雖然這在針對移動電話領域的特定應用SoC中并不少見,但在通用設備中卻不常見。然而,許多設備制造商認為,在物聯網(IoT)的推動下,它將變得更加普遍。物聯網還將促進“智能傳感器的更大部署,每個傳感器都可能具有高性能,32位嵌入式MCU。反過來,這些將與傳感器集線器進行通信(最有可能是無線傳輸),傳感器集線器將具有更高性能的處理器,能夠連接和控制傳感器網絡。

隨著這一趨勢的持續,預計需求也將推動性能進一步提高,最終達到了64位內核的MCU成為常態。

結論

性能是主觀的;許多應用程序仍然只需要簡單的控制,有限的連接,沒有“硬實時”要求。然而,隨著世界變得更加緊密,更復雜的通信協議所強加的要求將繼續提高性能標準。今天,一些8位和許多16位器件能夠滿足這種需求,而32位器件提供了巨大的空間。

今天,這個空間可能是許多應用無法承受的奢侈品;成本優化仍將指向更簡單的設備。雖然通信協議不太可能“突然”變得更加計算密集,但最終應用程序在復雜性方面處于不可阻擋的上升曲線,這將迅速消耗當前可用的任何處理空間。

所有這些都指向更廣泛地采用32位架構,除此之外,還有更復雜的微控制器。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7651

    瀏覽量

    152114
  • 傳感器
    +關注

    關注

    2553

    文章

    51395

    瀏覽量

    756602
  • 集線器
    +關注

    關注

    0

    文章

    389

    瀏覽量

    39603
收藏 人收藏

    評論

    相關推薦

    HDMI和以太網應用程序,使用什么微控制器微處理?

    大家好,我正在處理一個應用程序,我必須從以太網接收文本/字符串數據,然后通過HDMI顯示接收到的文本/字符串輸出。你們對這個應用程序推薦哪種微控制器/微處理?請不要說Raspberr
    發表于 04-03 09:07

    在MAXQ8913微控制器中從RAM執行應用程序

    在MAXQ8913微控制器中從RAM執行應用程序 MAXQ8913及其它MAXQ®微控制器采用的Harvard存儲映射架構為用戶提供了
    發表于 01-11 17:56 ?1213次閱讀
    在MAXQ8913<b class='flag-5'>微控制器</b>中從RAM執行<b class='flag-5'>應用程序</b>

    快速識別應用程序性能瓶頸

    RATIONAL QUANTIFY FOR WINDOWS能查明應用程序性能瓶頸,從而確保使用JAVA、VISUAL C/C++和VISUAL BASIC開發的應用程序的質量和性能。
    發表于 04-18 22:15 ?20次下載

    微控制器針對每個應用程序性能路線圖

    性能的需求是直觀的,特別是在開發嵌入式應用程序時。大多數設計團隊面臨的挑戰是知道有多少性能是足夠的,本質上依賴于兩件事情:所需的功能,以及如何實現。雖然實現主要是在軟件中,微控制器
    發表于 06-08 10:52 ?5次下載

    QTouch Studio6入門:如何添加基于微控制器應用程序?

    愛特梅爾的QTouch?,融入愛特梅爾Studio 6中,幫您了解如何輕松添加基于微控制器應用程序觸摸功能
    的頭像 發表于 07-10 00:06 ?3353次閱讀

    利用矢量硬件如何提高應用程序性能

    本次會議演示了識別和修改代碼以利用矢量硬件的過程如何提高應用程序性能。
    的頭像 發表于 05-31 11:46 ?1327次閱讀

    了解CPI對分析程序性能的意義

    本小節講述為什么使用 CPI 分析程序性能的意義。如果已經非常了解 CPI 對分析程序性能的意義,可以跳過本小節的閱讀。
    的頭像 發表于 12-15 10:30 ?1w次閱讀

    什么是微控制器?如何編程微控制器?

    微控制器進行編程或刻錄意味著“將程序從編譯傳輸到微控制器的存儲”。微控制器
    的頭像 發表于 08-21 15:40 ?1.1w次閱讀

    LabVIEW應用程序性能瓶頸的解決

    了解如何識別和解決LabVIEW應用程序中的性能瓶頸。使用內置工具和VI分析器,您可以監視VIs的內存使用情況和執行時間,以確定導致應用程序性能下降的代碼部分。
    發表于 03-29 14:03 ?8次下載
    LabVIEW<b class='flag-5'>應用程序</b>中<b class='flag-5'>性能</b>瓶頸的解決

    如何使用NYASM微控制器應用程序

    這份文件主要介紹如何使用NYASM來開發九齊科技的微控制器應用程序
    發表于 06-15 16:13 ?4次下載
    如何使用NYASM<b class='flag-5'>微控制器</b><b class='flag-5'>應用程序</b>

    用于高精度運動控制微控制器

    如今,微控制器 (MCU) 代表了最重要的計算技術之一,因為它們現在是所有嵌入式應用程序的基礎。微控制器提供無數計算解決方案,有時甚至具有特定于應用程序的性質,例如電機
    的頭像 發表于 08-09 08:02 ?1136次閱讀
    用于高精度運動<b class='flag-5'>控制</b>的<b class='flag-5'>微控制器</b>

    如何將微控制器和adafruit.io儀表板連接到外部應用程序

    電子發燒友網站提供《如何將微控制器和adafruit.io儀表板連接到外部應用程序.zip》資料免費下載
    發表于 10-28 14:22 ?0次下載
    如何將<b class='flag-5'>微控制器</b>和adafruit.io儀表板連接到外部<b class='flag-5'>應用程序</b>

    通過32Gb/S光纖通道提高應用程序性能

    電子發燒友網站提供《通過32Gb/S光纖通道提高應用程序性能.pdf》資料免費下載
    發表于 07-29 09:56 ?0次下載
    通過32Gb/S光纖通道提高<b class='flag-5'>應用程序性能</b>

    使用Brocade Gen 7 SAN確保應用程序性能和可靠性

    電子發燒友網站提供《使用Brocade Gen 7 SAN確保應用程序性能和可靠性.pdf》資料免費下載
    發表于 09-01 10:51 ?0次下載
    使用Brocade Gen 7 SAN確保<b class='flag-5'>應用程序性能</b>和可靠性

    PGO到底是什么?PGO如何提高應用程序性能呢?

    PGO到底是什么?PGO如何提高應用程序性能呢? PGO,全稱為Profile Guided Optimization,譯為“基于特征優化”的技術,是一種通過利用應用程序的運行特征數據來優化性能
    的頭像 發表于 10-26 17:37 ?2160次閱讀
    大发888娱乐场下载iyou qrd | 赤城县| 百家乐官网出庄几率| 澳门百家乐加盟| 全讯网社区| 澳门在线赌场| 中国百家乐官网软件| A8百家乐娱乐| 金宝博滚球| 红桃K百家乐官网的玩法技巧和规则 | 赌场百家乐图片| 现金网| 莫斯科百家乐官网的玩法技巧和规则| 百家乐技巧真人荷官网| 黄金城娱乐城| 百家乐官网技真人荷官| 澳门百家乐要注意啥| 大发888娱乐城好吗| 百家乐官网棋牌游戏源码| 揭秘百家乐百分之50| 凯斯娱乐城| 戒掉百家乐官网的玩法技巧和规则 | 百家乐怎么下注能赢| 亿酷棋牌官方下载| 百家乐官网直揽经验| 送58百家乐的玩法技巧和规则| 延庆县| 百家乐长龙太阳城| 澳门赌场招聘| 百家乐官网园百乐彩| 大发888官网 888| 闲和庄百家乐官网娱乐| 新花园百家乐的玩法技巧和规则| 网上百家乐官网骗人不| 老k百家乐游戏| 奉贤区| 云鼎百家乐程序开发有限公司| 永亨娱乐城| 网上百家乐哪家最好| 金球国际娱乐城| 立即博百家乐现金网|