ARM7、ARM9、ARM11、ARM-Cortex系列的關系


參考資料:

  1. https://zhuanlan.zhihu.com/p/92315825
  2. https://zhuanlan.zhihu.com/p/82337495

ARM是Advanced RISC Machines的縮寫,它是一家微處理器行業的知名企業,該企業設計了大量高性能、廉價、耗能低的RISC (精簡指令集)處理器

1985年第一個ARM原型在英國劍橋誕生。公司的特點是只設計芯片,而不生產。它提供ARM技術知識產權(IP)核,將技術授權給世界上許多著名的半導體、軟件和OEM廠商,並提供服務。有ARM7/ARM9等多個版本。除了一些Unix圖形工作站外,大多數ARM核心的處理器都使用在嵌入領域。ARM,既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。


1.前言

ARM公司自2004年推出ARMv7內核架構時,摒棄了以往"ARM+數字"這種處理器命名方法(ARM11之前的處理器統稱經典處理器系列),重新啟用Cortex來命名,並將Cortex系列細分為三大類:

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

  • Cortex-R系列:面向 實時應用 的高性能內核

  • Cortex-M系列:面向 各類嵌入式應用 的微控制器內核

Cortex-M系列主要是用來取代經典處理器ARM7系列(比如基於ARMv4架構的ARM7TDMI),Cortex-M比ARM7的架構高了3代,性能也有較大提升,所以新的設計推薦使用Cortex-M,關於從ARM7到Cortex-M的移植詳見ARM官網指導 ARM7處理器系列。

2.ARM7、ARM9、ARM11、ARM-Cortex的相同點

  • ARM7:ARMv4架構

  • ARM9:ARMv5架構

  • ARM11:ARMv6架構

  • ARM-Cortex 系列:ARMv7架構

ARM7沒有MMU(內存管理單元),只能叫做MCU(微控制器),不能運行諸如Linux、WinCE等這些現代的多用戶多進程操作系統, 因為運行這些系統需要MMU,才能給每個用戶進程分配進程自己獨立的地址空間 。ucOS、ucLinux這些精簡實時的RTOS不需要MMU,當然可以在ARM7上運行。

ARM9、ARM11,是嵌入式CPU(處理器),帶有MMU,可以運行諸如Linux等多用戶多進程的操作系統,應用場合也不同於ARM7。

到了ARMv7架構的時候開始以Cortex來命名,並分成Cortex-A、Cortex-R、Cortex-M三個系列。 三大系列分工明確:“A”系列面向尖端的基於虛擬內存的操作系統和用戶應用; “R”系列針對實時系統; “M”系列對微控制器。 簡單的說Cortex-A系列是用於移動領域的CPU,Cortex-R和Cortex-M系列是用於實時控制領域的MCU。 所以看上去ARM7跟Cortex-M很像,因為他們都是MCU,但確是不同代不同架構的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列還細分為M0、M3、M4和超低功耗的M0+,用戶依據成本、性能、功耗等因素來選擇芯片。

3.ARM7,ARM9,cortex-m3,cortex-m4,cortex-a8的區別

arm系列從arm11開始,以后的就命名為cortex,並且性能上大幅度提升。

從cortex開始,分為三個系列,a系列,r系列,m系列。

m系列與arm7相似,不能跑操作系統(只能跑ucos2),偏向於控制方面,說白了就是一個高級的單片機

a系列主要應用在人機互動要求較高的場合,比如pda,手機,平板電腦等。a系列類似於cpu,與arm9和arm11相對應,都是可以跑草錯系統的。linux等。 r系列,是實時控制。主要應用在對實時性要求高的場合。

arm7和m3,m4是同一類型。這三個里面,arm7是最早的arm產品。m3是cortex m系列的過渡品,其低端市場被cortex m0的高端替代, 其高端市場又被cortex m4的低端取代。

現在m系列,是m4內核的。典型的芯片是st公司和飛思卡爾公司的。arm9 和cortex a8 是一個類型的,都是跑操作系統的,現在的高端手機,三星,htc等智能手機,就是用的cortex a8,cortex a9 內核的芯片作為cpu。

(1)ARM7,ARM9屬於v4T或v5E架構
(2)ARM11屬於v6架構
(3)Cortex屬於v7架構ARM7

ARM9的區別在於是否有MMU(存儲器管理單元)或MPU(存儲器保護單元)架構上v5E相比v4T則是在於v5E新加入的增強型DSP(數字信號處理)指令,v4T則是Thumb指令集的加入,v6架構則是開始支持SIMD以及Thumb2的問世。

4.Cortex處理器系列

Application Processors (應用處理器)–面向移動計算,智能手機,服務器等市場的的高端處理器。這類處理器運行在很高的時鍾頻率(超過 1GHz),支持像 Linux,Android,MS Windows 和移動操作系統等完整操作系統需要的內存管理單元(MMU)。如果規划開發的產品需要運行上述其中的一個操作系統,你需要選擇 ARM應用處理器.

Real-time Processors (實時處理器)–面向實時應用的高性能處理器系列,例如硬盤控制器,汽車傳動系統和無線通訊的基帶控制。多數實時處理器不支持 MMU,不過通常具有 MPU、Cache 和其他針對工業應用設計的存儲器功能。實時處理器運行在比較高的時鍾頻率(例如 200MHz 到 >1GHz ),響應延遲非常低。雖然實時處理器不能運行完整版本的 Linux 和 Windows 操作系統,但是支持大量的實時操作系統(RTOS)。

MicrocontrollerProcessors (微控制器處理器)–微控制器處理器通常設計成面積很小和能效比很高。通常這些處理器的流水線很短,最高時鍾頻率很低(雖然市場上有此類的處理器可以運行在 200Mhz 之上)。並且,新的 Cortex-M處理器家族設計的非常容易使用。因此,ARM 微控制器處理器在單片機和深度嵌入式系統市場非常成功和受歡迎。

Cortex-M 處理器家族更多的集中在低性能端,但是這些處理器相比於許多微控制器使用的傳統處理器性能仍然很強大。例如,Cortex-M4 和 Cortex-M7 處理器應用在許多高性能的微控制器產品中,最大的時鍾頻率可以達到400Mhz。當然,性能不是選擇處理器的唯一指標。在許多應用中,低功耗和成本是關鍵的選擇指標。因此,Cortex-M 處理器家族包含各種產品來滿足不同的需求:

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM