131 1300 0010
元件技術
當前位置: 首頁>> 元件技術>>
  • 導航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • Arm架構之Arm內(nèi)核解析
    Arm架構之Arm內(nèi)核解析
  • Arm架構之Arm內(nèi)核解析
  •   發(fā)布日期: 2020-04-08  瀏覽次數(shù): 968

      Arm 架構已經(jīng)主導了當今嵌入式處理和計算市場,但在過去的幾十年里,Arm 架構卻走過了漫長的道路。從20世紀80年代開始,它起初是作為家用電腦處理器,然后在20世紀90年代成為手機芯片的基礎。如今,在幾乎所有技術細分市場,Arm都是一個強有力的競爭者。許多人認為,Arm 架構已成為 32 位或 64 位處理器的首選。由于這種廣泛應用,現(xiàn)在已經(jīng)有成千上萬種基于Arm架構的變體。了解這些內(nèi)核彼此之間的不同是做出選擇決策的重要一環(huán)。

     

      早在 2004 年,最初的 Cortex 家族就使 Arm架構分化為三個內(nèi)核產(chǎn)品組,每個產(chǎn)品組都針對不同類型的應用。最早集成到芯片的是Cortex-M,它已成為基于Arm微控制器(MCU)生態(tài)系統(tǒng)的支柱。盡管Cortex-M系列首次推出的是基于版本7架構的內(nèi)核,但后來針對超低成本設備(即M0、M0+和M1)的新產(chǎn)品則是基于早期版本6架構。所有Cortex-M處理器僅執(zhí)行Thumb指令集。另外兩個系列被設計為支持Thumb和完整的A32指令集。

    Arm架構之Arm內(nèi)核解析

      圖1:Silicon Labs的EFM Tiny Gecko(小壁虎)。

      自推出以來,Cortex-M3已經(jīng)得到許多MCU供應商的采用,Cortex-M3內(nèi)核幫助這些MCU廠商定義其32位產(chǎn)品?,F(xiàn)在市場可用的MCU包括相對簡單但又具備高性價比的產(chǎn)品,例如針對低功耗系統(tǒng)的Silicon Labs 的 EFM TIny Gecko,以及賽普拉斯Cypress)半導體的 PSoC5片上系統(tǒng),它使傳統(tǒng)的MCU外設與高度靈活的可編程模擬功能結合在一起。

      隨著MCU應用開始要求提供更高的數(shù)字信號處理(DSP)性能,Arm推出Cortex-M4以滿足市場的需求。該內(nèi)核可為浮點運算提供支持,得到許多廠商的采用。一種常見的配置是將強大的Cortex-M4F內(nèi)核與較為簡單的Cortex-M0或Cortex-M0+整合在一起,為用戶提供高效的電源管理和資源分配。

      在賽普拉斯 PSoC6 或恩智浦(NXPLPC5411x等器件中,M0+內(nèi)核可以處理中斷(interrupts),使M4或M4F可自由處理 DSP 任務,而不會產(chǎn)生中斷,從而能夠最大限度地提高數(shù)據(jù)吞吐量。這種責任劃分也使更強大的M4內(nèi)核能夠在活動突發(fā)之間進行較長時間睡眠。低功耗M0+ 可在相對有限的運行期間處理比較簡單的系統(tǒng)管理任務。

    Arm架構之Arm內(nèi)核解析

      圖 2:來自賽普勒斯半導體的 PSoC6。

      2014 年,Arm推出了M7內(nèi)核,將 Cortex-M 的性能提高到新的層級。此內(nèi)核采用六級超標量(superscalar)流水線架構,支持亂序操作,并通過完整的浮點運算單元來進一步增強。意法半導體STM32F730x8集成了M7內(nèi)核、各種外設和公司專有的ART加速器技術(能夠實現(xiàn)閃存的零等待狀態(tài)執(zhí)行)。

      Cortex-A

      2005 年,出于滿足手機業(yè)務向智能手機和平板電腦方向發(fā)展的需求變化,Arm推出了Cortex-A家族的首個成員。Cortex-A 旨在提供一系列針對應用處理器定制的功能,也為在服務器和其他高端計算系統(tǒng)中部署 Arm內(nèi)核鋪平了道路。

      Cortex-A 處理器與其他系列處理器之間的一個主要區(qū)別是支持分頁內(nèi)存管理單元(MMU)。Linux和類似的操作系統(tǒng)都需要MMU,因為它能夠將程序及其數(shù)據(jù)在現(xiàn)實內(nèi)存中映射到不同虛擬地址空間,這提供了一定程度的安全保護功能,可防止不同任務使用的數(shù)據(jù)被破壞,此外還能夠將物理內(nèi)存視為大型緩存。盡管程序是動態(tài)加載和卸載,它還能夠避免內(nèi)存碎片化引起的問題。

      使用分頁虛擬地址的一個潛在缺點是它們可能干擾實時操作,因此在Cortex-A處理器中增加了MMU,但在具有更強嵌入式系統(tǒng)功能的產(chǎn)品系列中卻沒有。Cortex-A架構從誕生之初的一個關鍵創(chuàng)新是TrustZone,由此可實現(xiàn)一個基于硬件的安全層,如果沒有所需的安全證書,虛擬設備管理器(hypervisor)能夠拒絕任何任務對處理器和內(nèi)存某些部分的訪問。TrustZone可將加密操作和其他敏感操作納入受硬件防火墻保護的虛擬處理器。

      在內(nèi)核方面,范圍從相對簡單的Cortex-A5到高性能超標量處理器,如Cortex-A72整合了同時發(fā)出三個指令的能力和執(zhí)行無序操作,簡化了調(diào)度以實現(xiàn)最高效率。

      Cortex-A家族的第二個重大創(chuàng)新是LITTLE框架,它是在2011年推出,這主要反映了針對應用處理器市場的M4引入后不同Cortex-M內(nèi)核的耦合,增強了支持應用處理器需求的其他功能。

      對于較大LITTLE,Arm采用了將低端內(nèi)核(如A5或A7)與高性能,且通常是超標量實施相結合的方法。在可能的情況下,操作系統(tǒng)會保持低功耗處理器的活動時間盡可能長,然后在工作負載超過特定閾值時才激活高功率內(nèi)核。與傳統(tǒng)的雙核架構不同,任務可以根據(jù)系統(tǒng)條件從一個處理器遷移到另一個處理器。隨著對性能需求的增加,越來越多的Cortex-A實施都是圍繞處理器復合體采用四個高端內(nèi)核。通過在性能要求比較平靜的期間關閉一個或多個內(nèi)核,這種安排可以節(jié)省功率。

      Cortex-R

      Cortex-R是Arm公司第三大系列內(nèi)核,通過采用實時且高度可靠的功能,能夠支持新一代復雜的汽車和網(wǎng)絡系統(tǒng)。在一些目標應用中需要一些確定性性能,意味著通常用于加快其他 Arm 處理器的緩存并不總是最佳方案。由于緩存會動態(tài)地將指令和數(shù)據(jù)值替換為最近使用的條目,因此,當中斷服務例程或實時任務需要時,關鍵信息可能不在緩存中。Cortex-R家族通過支持緊密耦合存儲器(TCM)庫克服了這一問題。因此,關鍵信息可以在操作過程中存儲在其中,并且通過軟件管理,避免了指令和數(shù)據(jù)被緩存管理子系統(tǒng)替換的風險。

      自從最初的Cortex-R4誕生以來,這個家族已經(jīng)發(fā)生了很多進化,其中Cortex-R5和R7內(nèi)核具有低延遲外圍端口。大多數(shù)內(nèi)核都設計為與Arm 硬件總線 (AHB)等片上總線配合使用,或者在最近的內(nèi)核中,結合使用高級可擴展接口(AXI)基礎架構。低延遲端口將內(nèi)核直接連接到重要的外圍設備,無需對總線進行仲裁,或等待其他總線訪問活動完成,即可進行訪問。

      為了支持高度可靠的操作,Cortex-R內(nèi)核上的緩存、TCM 和系統(tǒng)總線可以使用錯誤修改編碼來透明地更正單位(single-bit)錯誤并檢測雙位錯誤。由于模塊化冗余是安全關鍵型系統(tǒng)的核心部分,Cortex-R 系列內(nèi)核設計為可使用副本在定步驟中工作。如果片上監(jiān)視器檢測到輸出差異,它可以警告存在的問題,以便軟件能夠采取糾正措施。采用Cortex-R 系列而生產(chǎn)的一個芯片例證是賽普拉斯半導體的Traveo S6J33xx系列 MCU,它集成有Cortex-R5F內(nèi)核,運行在高達240MHz的頻率,并集成有針對汽車儀表板中驅動儀表群集而優(yōu)化的外圍設備。

      Arm v8

      在2011 年,隨著版本8體系架構的創(chuàng)建,迎來了Arm內(nèi)核產(chǎn)品的第二波更改,包括增強了具體應用在64位模式下運行的能力,極大地擴展了應用處理器的最大可尋址內(nèi)存空間。具有64位能力的Arm v8 處理器可以在 32位或 64位模式下運行。32位運行與為版本7處理器編寫的應用提供向后兼容性。由于Cortex-M 系列中的版本8處理器專注于MCU應用,因而不支持64位尋址。但是,它們確實增加了許多額外的指令和功能,以提高性能并增強安全操作。

      其中一個重要的進步是重新設計的內(nèi)存保護單元(MPU),它允許更靈活地管理分區(qū)。另一個是完全支持僅執(zhí)行內(nèi)存(execute-only-memory),以幫助防止反向工程和黑客攻擊。但是,安全性方面最大的變化是支持專門針對深度嵌入式處理器而優(yōu)化的TrustZone機制。

      對于Cortex-M 版本中TrustZone,無需軟件虛擬設備管理器來管理安全狀態(tài)和非安全狀態(tài)之間的轉換。相反,可使用專用指令從不安全的任務傳遞數(shù)據(jù)到安全的功能,以保護允許在特權模式下運行。如果沒有正確的權限,即使高優(yōu)先級中斷也無法讀取到寄存器中的安全數(shù)據(jù)。安全功能允許創(chuàng)建保護良好的 IoT 設備,這些都可以通過基于Cortex-M23和Cortex-M33等內(nèi)核的MCU實現(xiàn)。

      Microchip的 SAML11 MCU采用了Cortex-M23增強型片上加密控制器,可為傳感器節(jié)點和類似設計提供硬件安全保證。Nordic Semiconductor的nRF9160采用Cortex-M33來提供需要安全射頻通信的器件處理功能。

    Arm架構之Arm內(nèi)核解析

      圖 3:Microchip公司的 SAML11 MCU 示例。

      結論

      毫無疑問,Arm是全球電子行業(yè)中最偉大的成功案例之一。為了滿足許多不同市場的需求,Arm提供的廣泛產(chǎn)品組合繼續(xù)向多個方向擴展。Cortex-A、Cortex-M和Cortex-R等細分產(chǎn)品系列的進一步區(qū)分,已證明是這種快速增長的基礎,并且將繼續(xù)推動Arm內(nèi)核在不斷出現(xiàn)的新領域得到廣泛應用。


  • ·上一篇:
    ·
  • 其他關聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機:131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權所有:Copyright?2010-2023 www.kqne.cn 電話:13113000010 粵ICP備2021111333號