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

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

3天內不再提示

關于ARM Cortex內核的種類以及性能解讀

貿澤電子 ? 來源:djl ? 2019-08-27 14:31 ? 次閱讀

ARM Cortex內核系列提供非常廣泛的具有可擴展性的性能選項,設計人員有機會在多種選項中選擇最適合自身應用的內核,而非千篇一律的采用同一方案。Cortex系列組合大體上分為三種類別:

●Cortex-A—面向性能密集型系統的應用處理器內核

●Cortex-R—面向實時應用的高性能內核

●Cortex-M—面向各類嵌入式應用的微控制器內核

Cortex-A處理器為利用操作系統(例如Linux或者Android)的設備提供了一系列解決方案,這些設備被用于各類應用,從低成本手持設備到智能手機、平板電腦、機頂盒以及企業(yè)網絡設備等。早期的Cortex-A系列處理器(A5、A7、A8、A9、A12、A15和A17)基于ARMv7-A架構。每種內核都共享相同的功能集,例如NEON媒體處理引擎、Trustzone安全擴展、單精度和雙精度浮點支持、以及對多種指令集(ARM、Thumb-2、Thumb、Jazelle和DSP)的支持。與此同時,這些處理器也具有極高的設計靈活性,能夠提供所需的最佳性能和預期的功效。

盡管Cortex-A5內核是Cortex A系列中體積和功耗都最低的成員,但它擁有支持多核性能的潛能,并且與該系列中的高級成員(A9和A15)兼容。對于那些之前采用ARM926EJ-S或ARM1176JZ-S處理器的設計人員來說,選擇A5是自然的,因為它具有更高的性能和更低的芯片成本。

Cortex-A7在功耗和體積上與Cortex-A5相似,但其性能提升20%左右,且與Cortex-A15和Cortex-A17有完全的架構兼容性。Cortex-A7是成本敏感型智能手機和平板電腦的理想選擇,而且它還可以與Cortex-A15或Cortex-A17組合使用,形成ARM稱為“big.LITTLE”的處理結構。big.LITTLE結構實質上是一種功耗優(yōu)化技術;高性能CPU(例如Cortex-A17)和高效率CPU(例如Cortex-A7)的組合配置能夠提供更高的持久性能,同時因為更高效的內核很好的滿足了應用對中低性能的需求,這種組合還顯著節(jié)省整體功耗,節(jié)省75%的CPU耗能,并且延長電池的使用壽命。智能手機和平板電腦的性能需求發(fā)展遠比電池容量的增長快得多,因此這種配置帶給開發(fā)人員明顯的優(yōu)勢。諸如big.LITTLE等設計方法,作為整體系統設計策略的一部分,能夠顯著降低這種電池技術造成的差距。

接下來讓我們看看Cortex-A系列處理器中的高級別產品——Cortex-A15和Cortex-A17內核。這兩款內核都是高性能處理器,也可用于多種配置中。Cortex-A17是最高效的“中級”處理器,直接針對高端智能手機和平板電腦。Cortex-A9曾廣泛應用于這個市場,但與Cortex-A9相比,Cortex-A17性能提升了60%以上(循環(huán)周期),同時也改善了整體功效。Cortex-A17能夠配置多達四個內核,每個內核都包含一個完整的亂序流水線。如前面提到的,Cortex-A17 可與Cortex-A7組合成高效的big.LITTLE配置,還可以搭配高端移動圖形處理器(例如來自ARM的MALI),構成非常高效的設計整體。

哪種ARM Cortex內核更適合我的應用:A系列、R系列、還是M系列?

Cortex-A15是該系列處理器中性能最高的成員,是Cortex-A9性能(移動配置模式)的兩倍。不僅完全勝任高端智能手機或平板電腦這樣的應用,而且運行速率可高達2.5GHz的多核Cortex-A15處理器也能夠支撐低功耗服務器或無線基礎設施等應用。Cortex-A15是ARM公司第一款對虛擬軟件環(huán)境中的數據管理和仲裁提供硬件支持的處理器。這些軟件環(huán)境中的應用能夠同時訪問系統資源,實現虛擬環(huán)境中設備的可靠運行和相互隔離。

最新成員Cortex-A50系列將Cortex-A系列的應用范圍擴大至低功耗服務器領域。這些處理器基于ARMv8架構,支持AArch64——高效能64位運行態(tài)且可以與現行32位運行態(tài)共存。升級到64位的原因之一顯而易見是為了支持大于4GB的物理內存,盡管Cortex-A15和Cortex-A7已經具備此能力。在這種情況下,升級到64位其實是為服務器應用提供更好的支持,服務器中越來越多的操作系統和應用程序都采用64位,當然,Cortex-A50系列為上述情況提供了功耗優(yōu)化的解決方案。對于臺式機市場而言,情況也大體相同,支持64位意味著Cortex-A50系列能夠更廣泛地應用到這一細分市場,而且某種程度證明了未來64位操作系統最終將遷移到移動應用。

介紹過Cortex-A,下面介紹Cortex-R系列——衍生產品中體積最小的ARM處理器,這一點也最不為人所知。Cortex-R處理器針對高性能實時應用,例如硬盤控制器(或固態(tài)驅動控制器)、企業(yè)中的網絡設備和打印機、消費電子設備(例如藍光播放器和媒體播放器)、以及汽車應用(例如安全氣囊、制動系統和發(fā)動機管理)。Cortex-R系列在某些方面與高端微控制器(MCU)類似,但是,針對的是比通常使用標準MCU的系統還要大型的系統。例如,Cortex-R4就非常適合汽車應用。Cortex-R4主頻可以高達600MHz(具有2.45DMIPS/MHz),配有8級流水線,具有雙發(fā)送、預取和分支預測功能、以及低延遲中斷系統,可以中斷多周期操作而快速進入中斷服務程序。Cortex-R4還可以與另外一個Cortex-R4構成雙內核配置,一同組成一個帶有失效檢測邏輯的冗余鎖步(lock-step)配置,從而非常適合安全攸關的系統。

Cortex-R5能夠很好的服務于網絡和數據存儲應用,它擴展了Cortex-R4的功能集,從而提高了效率和可靠性,增強了可靠實時系統中的錯誤管理。其中的一個系統功能是低延遲外設端口(LLPP),可實現快速外設讀取和寫入(而不必對整個端口進行“讀取-修改-寫入”操作)。Cortex-R5還可以實現處理器獨立運行的“鎖步(lock-step)”雙核系統,每個處理器都能通過自己的“總線接口和中斷”執(zhí)行自己的程序。這種雙核實現能夠構建出非常強大和靈活的實時響應系統。

Cortex-R7極大擴展了R系列內核的性能范圍,時鐘速度可超過1GHz,性能達到3.77DMIPS/MHz。Cortex-R7上的11級流水線現在增強了錯誤管理功能,以及改進的分支預測功能。多核配置也有多種不同選項:鎖步、對稱多重處理和不對稱多重處理。Cortex-R7還配有一個完全集成的通用中斷控制器(GIC)來支持復雜的優(yōu)先級中斷處理。不過,值得注意的是,雖然Cortex-R7具有高性能,但是它并不適合運行那些特性豐富的操作系統(例如Linux和Android)的應用,Cortex-A系列才更適合這類應用。

最后,我們來討論Cortex-M系列,特別設計針對競爭已經非常激烈的MCU市場。Cortex-M系列基于ARMv7-M架構(用于Cortex-M3和Cortex-M4)構建,而較低的Cortex-M0+基于ARMv6-M架構構建。首款Cortex-M處理器于2004年發(fā)布,當一些主流MCU供應商選擇這款內核,并開始生產MCU器件后,Cortex-M處理器迅速受到市場青睞??梢钥隙ǖ恼f,Cortex-M之于32位MCU就如同8051之于8位MCU——受到眾多供應商支持的工業(yè)標準內核,各家供應商采用該內核加之自己特別的開發(fā),在市場中提供差異化產品。例如,Cortex-M系列能夠實現在FPGA中作為軟核來用,但更常見的用法是作為集成了存儲器、時鐘和外設的MCU。在該系列產品中,有些產品專注最佳能效、有些專注最高性能、而有些產品則專門應用于諸如智能電表這樣的細分市場。

Cortex-M3和Cortex-M4是非常相似的內核。二者都具有1.25DMIPS/MHz的性能,配有3級流水線、多重32位總線接口、時鐘速率可高達200MHz,并配有非常高效的調試選項。最大的不同是,Cortex-M4的內核性能針對的是DSP。Cortex-M3和Cortex-M4具有相同的架構和指令集(Thumb-2)。然而,Cortex-M4增加了一系列特別針對處理DSP算法而優(yōu)化的飽和運算和SIMD指令。以每0.5秒運行一次的512點FFT為例,如果分別在同類量產的Cortex-M3 MCU和Cortex-M4 MCU上運行,完成同樣的工作,Cortex-M3所需功耗約是Cortex-M4所需功耗的三倍。此外,也有在Cortex-M4上實現單精度浮點單元(FPU)的選項。如果應用涉及到浮點計算,那在Cortex-M4上完成比在Cortex-M3上完成要快得多。也就是說,對于不使用Cortex-M4上DSP或FPU功能的應用而言,其性能和功耗與Cortex-M3相同。換句話說,如果使用DSP功能,那就選擇Cortex-M4。否則,就選擇Cortex-M3完成工作。

對于成本特別敏感的應用或者正在從8位遷移到32位的應用而言,Cortex-M系列的最低端產品可能是最佳選擇。雖然Cortex-M0+的性能為0.95DMIPS/MHz,比Cortex-M3和Cortex-M4的性能稍稍低一些,但仍可與同系列其他高端產品兼容。Cortex-M0+采用Thumb-2指令集的子集,而且這些指令大都是16位操作數(雖然所有數據運行都是32位的),這使得它們能夠很好的適應Cortex-M0+所提供的2級流水線服務。通過減少分支映射,系統就能節(jié)約一些整體功耗,而且在大多數情況下,流水線將保留接下來的四個指令。Cortex-M0+還具有專用的總線用于單周期GPIO,這意味著你能夠利用位控制的GPIO實現確定接口,就像8位MCU那樣,但卻以32位內核的性能來處理該數據。

Cortex-M0+的另外一個重要的不同特點是增加了微型跟蹤緩沖器(MTB)。該外設可使設計人員在調試過程中使用一些片上RAM來存儲程序分支。這些分支隨后能夠回傳到集成開發(fā)環(huán)境中,而且可以重建程序流程。這一功能提供了一種初步的指令跟蹤能力,這對于不具備擴展跟蹤宏單元(ETM)功能的Cortex-M3和Cortex-M4來說比較有意義。從Cortex-M0+中提取的調試信息等級顯著高于8位MCU,這就意味著那些難以解決的調試問題變得更加容易解決。

綜上所述,Cortex處理器系列產品為滿足你的應用性能需求而提供了多種選項。無需勞神費力,也無論針對高端平板電腦還是物聯網中超低成本的無線傳感器節(jié)點,你都能夠發(fā)現一款適合應用所需的處理器。

來源: 嵌入式資訊精選微信號

原文標題:哪種ARM Cortex內核更適合你的應用?看看專家的解讀

文章出處:【微信公眾號:貿澤電子】歡迎添加關注!文章轉載請注明出處。

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

    關注

    68

    文章

    19038

    瀏覽量

    228478
  • 數據
    +關注

    關注

    8

    文章

    6760

    瀏覽量

    88619
  • 虛擬環(huán)境

    關注

    0

    文章

    27

    瀏覽量

    8919
收藏 人收藏

    評論

    相關推薦

    ARM Cortex-M的音頻性能解

    ARM Cortex-M3和Cortex-M4處理器內核的功能和能力可以實現高效的音頻處理。由于低功耗、高性能
    發(fā)表于 08-09 18:07 ?5388次閱讀
    <b class='flag-5'>ARM</b> <b class='flag-5'>Cortex</b>-M的音頻<b class='flag-5'>性能解</b>析

    如何選擇更適合你的ARM Cortex內核

    ARM Cortex內核系列提供非常廣泛的具有可擴展性的性能選項,設計人員有機會在多種選項中選擇最適合自身應用的內核,而非千篇一律的采用同一
    發(fā)表于 05-11 14:10 ?1.2w次閱讀

    arm架構和cortex架構

    arm架構和cortex架構,ARM Cortex內核系列提供非常廣泛的具有可擴展性的性能選項,
    發(fā)表于 07-27 07:02

    ARM Cortex-M3內核介紹

    STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核(ST's product portfolio contains a compreh
    發(fā)表于 08-05 06:15

    請問哪種ARM Cortex內核更適合應用?

    Cortex系列組合大體上有哪幾種類型?請問哪種ARM Cortex內核更適合應用?
    發(fā)表于 10-12 10:53

    基于Arm Cortex 內核的32位MCU主要分類

    YDOOK:STM32: 基于Arm Cortex 內核的32位MCU和MPU? YDOOK JY Lin文章目錄YDOOK:STM32: 基于Arm
    發(fā)表于 11-24 08:28

    介紹ARMcortex-M4以及A7內核的bootloader啟動流程

    本文簡要介紹了ARMcortex-M4以及A7內核的bootloader啟動流程,大同小異。
    發(fā)表于 01-25 07:05

    淺談ARM內核MCU不同性能的決定因素

    電子發(fā)燒友網: 本文主要簡述了決定ARM內核MCU的性能和功耗的主要因素。 繼ARM推出Cortex-M0+
    發(fā)表于 06-11 13:07 ?1972次閱讀

    關于ARM? Cortex?-M0+內核單片機系列的特點及應用介紹

    Microchip ARM? Cortex?-M0+內核單片機系列
    的頭像 發(fā)表于 07-08 00:38 ?8660次閱讀

    Cortex-M3是一款ARM處理器內核

    Cortex-M3:是一款ARM處理器內核,也可以理解為ARM處理器家族之中的一個成員。ARM處理器內核
    的頭像 發(fā)表于 06-24 14:44 ?1.1w次閱讀

    Cortex-M3內核ARM處理器的應用資料說明

    ARM處理器是一款高性能、低成本,以及其低功耗的32位精簡指令處理器。這種內核的處理器僅僅支持 Thumb-2指令,不支持ARM指令系統。
    發(fā)表于 09-24 08:00 ?4次下載
    <b class='flag-5'>Cortex</b>-M3<b class='flag-5'>內核</b>的<b class='flag-5'>ARM</b>處理器的應用資料說明

    YDOOK:STM32: 基于Arm Cortex 內核的32位MCU和MPU

    YDOOK:STM32: 基于Arm Cortex 內核的32位MCU和MPU? YDOOK JY Lin文章目錄YDOOK:STM32: 基于Arm
    發(fā)表于 11-16 10:51 ?1次下載
    YDOOK:STM32: 基于<b class='flag-5'>Arm</b> <b class='flag-5'>Cortex</b> <b class='flag-5'>內核</b>的32位MCU和MPU

    使用FreeRTOS TM實時內核ARM Cortex M3版

    小型嵌入式系統多任務處理簡介包含ARM Cortex-M3內核的微控制器(MCU)可從許多制造商處獲得,非常適合于嵌入式實時應用程序。通常,這種類型的應用程序包括硬實時和軟實時需求的混
    發(fā)表于 09-28 16:09 ?0次下載

    基于32位Arm Cortex-M內核N32系列MCU應用

    國民技術N32系列MCU產品基于32位Arm Cortex-M內核,內置嵌入式高速閃存、低功耗電源管理,集成數?;旌想娐?,并內置硬件密碼算法加速引擎以及安全單元。
    發(fā)表于 03-28 11:35 ?789次閱讀

    實際項目開發(fā)中為何選擇ARM? Cortex?-M4 內核的HK32MCU?

    ?Cortex?-M4內核的HK32F407芯片的深度知識,并圍繞各類實際案例詳細解讀了如何選型,為何選擇ARM?Cortex?-M4
    的頭像 發(fā)表于 10-22 17:19 ?129次閱讀
    實際項目開發(fā)中為何選擇<b class='flag-5'>ARM</b>? <b class='flag-5'>Cortex</b>?-M4 <b class='flag-5'>內核</b>的HK32MCU?