關於ARM的內核架構

不少時候咱們都會對M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者說AVR,51,PIC等,一頭霧水,只知道是架構,不知道具體是什麼,有哪些不一樣?今天查了些資料,來解解惑,不是很詳細,但對此有個大致瞭解。咱先來當下最火的ARM吧php

1.ARM

ARM即以英國ARM(Advanced RISC Machines)公司的內核芯片做爲CPU,同時附加其餘外圍功能的嵌入式開發板,用以評估內核芯片的功能和研發各科技類企業的產品.
ARM 微處理器目前包括下面幾個系列,以及其它廠商基於 ARM 體系結構的處理器,除了具備ARM 體系結構的共同特色之外,每個系列的 ARM 微處理器都有各自的特色和應用領域。

- ARM7 系列 
- ARM9 系列 
- ARM9E 系列 
- ARM10E 系列 
- ARM11系列 
- Cortex 系列 
- SecurCore 系列 
- OptimoDE Data Engines 
- Intel的Xscale 
- Intel的StrongARM ARM11系列linux

2. Cortex 系列

32位RISCCPU開發領域中不斷取得突破,其設計的微處理器結構已經從v3發展到如今的v7。Cortex系列處理器是基於ARMv7架構的,
分爲Cortex-M、Cortex-R和Cortex-A三類。因爲應用領域的不一樣,基於v7架構的Cortex處理器系列所採用的技術也不相同。基於v7A的稱爲「Cortex-A系列。
高性能的Cortex-A1五、可伸縮的Cortex-A九、通過市場驗證的Cortex-A8處理器以及高效的Cortex-A7和Cortex-A5處理器均共享同一體系結構,所以具備完整的應用兼容性,支持傳統的ARM、Thumb指令集
和新增的高性能緊湊型Thumb-2指令集。

1Cortex-M系列

Cortex-M系列又可分爲Cortex-M0、Cortex-M0+、Cortex-M三、Cortex-M4;

2Cortex-R系列

Cortex-R系列分爲Cortex-R四、Cortex-R五、Cortex-R7;

3Cortex-A 系列

Cortex-A系列分爲Cortex-A五、Cortex-A七、Cortex-A八、Cortex-A九、Cortex-A1五、Cortex-A50等  ,一樣也就有了對應內核的Cortex-M0開發板、Cortex-A5開發板、Cortex-A8開發板、Cortex-A9開發板、
Cortex-R4開發板等等。

4半導體

因爲ARM公司只對外提供ARM內核,各大廠商在受權付費使用ARM內核的基礎上研發生產各自的芯片,造成了嵌入式ARM CPU的你們庭,提供這些內核芯片的廠商有Atmel、TI、飛思卡爾、NXP、ST、和三星等。

Cortex-M兼容特性

  爲了能作到Cortex-M軟件重用,ARM公司在設計Cortex-M處理器時爲其賦予了處理器向下兼容軟件二進制向上兼容特性。程序員

  首先看什麼是二進制兼容,這個特性主要是針對軟件而言,這裏指的是當某軟件(程序)依賴的頭文件或庫文件分別升級時,軟件功能不受影響。要作到二進制兼容,被軟件所依賴的頭文件或庫文件升級時必須是二進制兼容的。算法

  那麼什麼又是向上兼容,向上兼容又叫向前兼容,指的是在較低版本處理器上編譯的軟件能夠在較高版本處理器上執行。編程

  跟向上兼容相對的另外一個概念叫向下兼容,向下兼容又叫向後兼容,指的是較高版本處理器能夠正確運行在較低版本處理器上編譯的軟件。緩存

  因此其實既能夠用向上兼容,也能夠用向下兼容來形容Cortex-M特性,只不過描述的主語不同,咱們能夠說Cortex-M程序是向上兼容的,也能夠說Cortex-M處理器是向下兼容的。安全

  具體到Cortex-M處理器時,這個兼容特性表現爲:服務器

  • 從處理器角度看:CM0指令集和功能模塊是最精簡的,CM7指令集和功能模塊是最豐富的。不存在低版本處理器上存在的特性是高版本處理器所沒有的。
  • 從軟件角度來看:CMSIS提供的頭文件和功能函數是二進制向上兼容的,好比某CM0軟件App使用的是core_cm0.h頭文件,而這個App要在CM7上運行時,不須要使用core_cm7.h再從新編譯一次(固然使用新頭文件編譯後的App也是正常的。)

從MCU內核到MCU實際應用是一個完整的產業鏈,這個產業鏈分爲五個部分:網絡

其實都是這樣,前三個部分有芯片廠家和架構內核公司負責開芯片,後兩個部分由研發公司根據芯片設計,開發。數據結構

就拿ST爲例,ARM公司爲最開始的部分,ST(意法半導體)爲芯片設計與製造公司,以ARM內核爲載體,經過進一步的設計開發,爲ARM配備外圍的支持,爲將計算控制能力應用到電子產品中提供芯片服務

 

Cortex-M0 處理器簡介

ARM公司的Cortex-M0應用於各類微控制器(MCU)中,並可以讓研發工程師以8位的價位創造32位的的效能,並將傳統的8位和16位的處理器升級到更高效、更低功耗的32位處理器。
Cortex-M0是Cortex-M家族中的M0系列。最大特色是低功耗的設計。Cortex-M0爲32位、3級流水線RISC處理器,其核心仍爲馮.諾依曼結構,是指令和數據共享同一總線的架構。做爲新一代的處理器,Cortex-M0的設計進行了許多的改革與創新,如系統存儲器地址映像(system address map)、改善效率並加強肯定性的嵌套向量中斷系統(NVIC)與不可屏蔽中斷(NMI)、全新的硬件除錯單元等等,都帶給了使用者全新的體驗和更便利、 更有效率的操做。

技術架構

CortexM0其核心架構爲ARMv6M,其運算能力能夠達到0.9 DMIPS/MHz,而與其餘的16位與8位處理器相比,因爲CortexM0的運算性能大幅提升,因此在一樣任務的執行上CortexM0只需較低的運行速度,而大幅下降了總體的動態功耗。
Cortex—M0屬於ARMv6-M架構,包括1顆專爲嵌入式應用而設計的ARM核、緊耦合的可嵌套中斷微控制器NVIC、可選的喚醒中斷控制器WIC,對外提供了基於AMBA結構(高級微控制器總線架構)的AHB-lite總線和基於CoreSight技術的SWD或JTAG調試接口,如圖所示。Cortex-M0微控制器的硬件實現包含多個可配置選項:中斷數量、WIC、睡眠模式和節能措施、存儲系統大小端模式、系統滴答時鐘等,半導體廠商能夠根據應用須要選擇合理的配置。

 

系統總線基於AHB_Lite高級高性能總線協議。外設總線基於APB高級外設總線協議,經過一個轉換橋鏈接到AHB上,這只是Cortex-M0內核的大概模式.

特色

1)能耗效率
CortexM0的運行效率很高(0.9DMIPS/MHz),能在較少的週期裏完成一項任務。這意味着CortexM0能夠在大部分的時間裏處於休眠狀態,消耗不多的能量,具備良好的能耗效率。一樣較小的邏輯門數也下降了待機電流。而高效的中斷控制器(NVIC)須要很小的中斷開銷。
2)代碼密度
Cortex-M0基於Thumb-2的指令集,比用8位或者16位架構實現的代碼還要少,所以用戶能夠選擇具備較小Flash空間的芯片。能夠下降系統功耗。[1]  
3) 易於使用
Cortex-M0適用於C語言編程,而且被許多編譯器支持。能夠用C語言直接編程中斷例程,而無需使用匯編語言。同時Cortex-M0還被多種開發工具支持。包括不少開源的嵌入式操做系統一樣支持Cortex-M0。

 

Cortex-M0 處理器簡介

1. Cortex-M0 處理器基於馮諾依曼架構(單總線接口),使用32位精簡指令集(RISC),該指令集被稱爲Thumb指令集。與以前相比,新的指令集增長了幾條ARMv6架構的指令,而且加入了eThumb-2指令集的部分指令。Thumb-2技術擴展了Thumb的應用,容許全部的操做均可以在同一種CPU狀態下執行。Thumb指令集既包括16位指令,也包括32位指令。C編譯器生成的指令大部分是16位的,當16位的指令沒法實現所須要的操做時,32位指令就會發揮做用。這樣以來,在代碼密度獲得提高的同時,還避免了兩套指令集之間進行切換帶來的開銷

  2. Cortex-M0總共支持56個基本指令,其中某些指令可能會有多種形式。相對於Cortex-M0較小的指令集,其處理器的能力可不通常,由於Thumb是通過高度優化的指令集。從理論來講,因爲讀寫存儲是的指令是相互獨立的,並且算數或邏輯操做的指令使用寄存器,Cortex-M0處理器能夠被歸到加載-存儲(load-store)結構中。

  

   3. 處理器核心包括:

  • 寄存器組 包含16個32位寄存器,其中有一些特殊寄存器
  • 算術邏輯單元
  • 數據總線
  • 控制邏輯

  流水線根據設計可分爲三種狀態: 取指、譯碼、執行。

 

  4. 嵌套向量中斷控制器(NVIC)能夠處理最多32箇中斷請求和一個不可屏蔽中斷(NMI)輸入。

  5. NVIC須要比較這個在執行中斷和請求中斷的優先級,,而後自動執行高優先級的中斷。

  6. 若是要處理一箇中斷,NVIC會和處理器進行通訊,通知處理器執行中斷處理程序。

  7. 喚醒中斷控制器(WIC)爲可選的單元,在低功耗應用中,在關閉了處理器大部分模塊後,微控制器會進入待機裝填,此時,WIC能夠在NVIC和處理器處於休眠的狀況下,執行中斷屏蔽功能。當WIC檢測到一箇中斷時,會通知電源管理部分給系統商店,讓NVIC和處理器內核執行剩餘的中斷處理。

  8. 關於調試子系統,當調試事件發生時,處理器內核會被置於暫停狀態,這是開發人員能夠檢查當前處理器的狀態。硬件調試工具備JTAG和SWD(串行線調試)。 image

 


ARM Cortex-M0 處理器的特性

系統特性

  • thumb指令集,具備高效和高代碼密度
  • 高性能,最高達到0.9DMIPS/MHz
  • 內置的嵌套向量中斷控制器(NVIC),中斷配置和異常處理容易
  • 肯定的中斷響應事件,中斷等待事件能夠被設定爲固定值或最短事件(最小16個時鐘週期)
  • 不可屏蔽中斷(NMI),對高可靠性系統很是重要
  • 內置的系統節拍定時器(systick)。24位定時器,可被操做系統使用,或者用做通用定時器,架構中已經包含專用的異常類型
  • 請求管理調用,具備SVC異常和PendSV異常(可掛起的管理服務),支持嵌入式os的多種操做
  • 架構定義的休眠模式和進入休眠的指令,休眠特性能大大下降能量的消耗。因爲進入休眠狀態須要使用特定的指令,而不是使用寄存器,架構定義的休眠模式也提升了軟件的可移植性。
  • 異常處理能夠捕獲到系統中的多種錯誤。

應用特性

  • 中斷數量可配置
  • 支持大端或小端存儲器
  • 可選擇的喚醒中斷控制器(WIC),處理器能夠在休眠狀態下掉電以下降功耗,而WIC能夠在中斷髮生時喚醒系統
Cortex-M3
Cortex-M3是一個32位的核,在傳統的單片機領域中,有一些不一樣於通用32位CPU應用的要求。在工控領域,用戶要求具備更快的中斷速度,Cortex-M3採用了Tail-Chaining 中斷技術,徹底基於硬件進行 中斷處理,最多可減小12個 時鐘週期數,在實際應用中可減小70%中斷。

概述

Cortex-M3是一個32位處理器內核。內部的數據路徑是32位的,寄存器是32位的,存儲器接口也是32位的。CM3採用了哈佛結構,擁有獨立的指令總線和數據總線,可讓取指與數據訪問並行不悖。這樣一來數據訪問再也不佔用指令總線,從而提高了性能。爲實現這個特性,CM3內部含有好幾條總線接口,每條都爲本身的應用場合優化過,而且它們能夠並行工做。可是另外一方面,指令總線和數據總線共享同一個存儲器空間(一個統一的存儲器系統)。換句話說,不是由於有兩條總線,可尋址空間就變成8GB了。
比較複雜的應用可能須要更多的存儲系統功能,爲此CM3提供一個可選的MPU,並且在須要的狀況下也能夠使用外部的cache。另外在CM3中,Both小端模式和大端模式都是支持的。
CM3內部還附贈了好多調試組件,用於在硬件水平上支持調試操做,如指令斷點,數據觀察點等。另外,爲支持更高級的調試,還有其它可選組件,包括指令跟蹤和多種類型的調試接口。

內核架構

ARMCortex-M3採用哈佛結構,並選擇了適合於微控制器應用的三級流水線,但增長了分支預測功能。
現代處理器大多采用指令預取和流水線技術,以提升處理器的指令執行速度。流水線處理器在正常執行指令時,若是碰到分支(跳轉)指令,因爲指令執行的順序可能會發生變化,指令預取隊列和流水線中的部分指令就可能做廢,而須要重新的地址從新取指、執行,這樣就會使流水線「斷流」,處理器性能所以而受到影響。特別是現代C語言程序,經編譯器優化生成的目標代碼中,分支指令所佔的比例可達10-20%,對流水線處理器的影響會的更大。爲此,現代高性能流水線處理器中通常都加入了分支預測部件,就是在處理器從存儲器預取指令時,當遇到分支(跳轉)指令時,能自動預測跳轉是否會發生,再從預測的方向進行取指,從而提供給流水線連續的指令流,流水線就能夠不斷地執行有效指令,保證了其性能的發揮。
ARMCortex-M3內核的預取部件具備分支預測功能,能夠預取分支目標地址的指令,使分支延遲減小到一個時鐘週期。
針對業界對ARM處理器中斷響應的問題,Cortex-M3首次在內核上集成了嵌套向量中斷控制器(NVIC)。Cortex-M3的中斷延遲只有12個時鐘週期(ARM7須要24-42個週期);Cortex-M3還使用尾鏈技術,使得背靠背(back-to-back)中斷的響應只須要6個時鐘週期(ARM7須要大於30個週期)。Cortex-M3採用了基於棧的異常模式,使得芯片初始化的封裝更爲簡單。
Cortex-M3加入了相似於8位處理器的內核低功耗模式,支持3種功耗管理模式:經過一條指令當即睡眠;異常/中斷退出時睡眠;深度睡眠。使整個芯片的功耗控制更爲有效。

 

特色

高性能
 許多指令都是單週期的——包括乘法相關指令。而且從總體性能上,Cortex-M3比得過絕大多數其它的架構。
 指令總線和數據總線被分開,取值和訪內能夠並行不悖
 Thumb-2的到來告別了狀態切換的舊世代,不再須要花時間來切換於32位ARM狀態和16位Thumb狀態之間了。這簡化了軟件開發和代碼維護,使產品面市更快。
 Thumb-2指令集爲編程帶來了更多的靈活性。許多數據操做如今能用更短的代碼搞定,這意味着Cortex-M3的代碼密度更高,也就對存儲器的需求更少。
 取指都按32位處理。同一週期最多能夠取出兩條指令,留下了更多的帶寬給數據傳輸。
 Cortex-M3的設計容許單片機高頻運行(現代半導體制造技術能保證100MHz以上的速度)。即便在相同的速度下運行,CM3的每指令週期數(CPI)也更低,因而一樣的MHz下能夠作更多的工做;另外一方面,也使同一個應用在CM3上須要更低的主頻。
先進的中斷處理功能
 內建的嵌套向量中斷控制器支持多達240條外部中斷輸入。向量化的中斷功能劇烈地縮短了中斷延遲,由於再也不須要軟件去判斷中斷源。中斷的嵌套也是在硬件水平上實現的,不須要軟件代碼來實現。
 Cortex-M3在進入異常服務例程時,自動壓棧了R0-R3, R12, LR, PSR和PC,而且在返回時自動彈出它們,這多清爽!既加速了中斷的響應,也再不須要彙編語言代碼了。
 NVIC支持對每一路中斷設置不一樣的優先級,使得中斷管理極富彈性。最粗線條的實現也至少要支持8級優先級,並且還能動態地被修改。
 優化中斷響應還有兩招,它們分別是「咬尾中斷機制」和「晚到中斷機制」。
 有些須要較多週期才能執行完的指令,是能夠被中斷-繼續的——就比如它們是一串指令同樣。這些指令包括加載多個寄存器(LDM),存儲多個寄存器(STM),多個寄存器參與的PUSH,以及多個寄存器參與的POP。
 除非系統被完全地鎖定,NMI(不可屏蔽中斷)會在收到請求的第一時間予以響應。對於不少安全-關鍵(safety-critical)的應用,NMI都是必不不可少的(如化學反應即將失控時的緊急停機)。
低功耗
 Cortex-M3須要的邏輯門數少,因此先天就適合低功耗要求的應用(功率低於0.19mW/MHz)在內核水平上支持節能模式(SLEEPING和SLEEPDEEP位)。經過使用「等待中斷指令(WFI)」和「等待事件指令(WFE)」,內核能夠進入睡眠模式,而且以不一樣的方式喚醒。另外,模塊的時鐘是儘量地分開供應的,因此在睡眠時能夠把CM3的大多數「官能團」給停掉。
 CM3的設計是全靜態的、同步的、可綜合的。任何低功耗的或是標準的半導體工藝都可放心飲用。
系統特性
 系統支持「位尋址帶」操做(8051位尋址機制的「威力大幅增強版」),字節不變的大端模式,而且支持非對齊的數據訪問。
 擁有先進的fault處理機制,支持多種類型的異常和faults,使故障診斷更容易。
 經過引入banked堆棧指針機制,把系統程序使用的堆棧和用戶程序使用的堆棧劃清界線。若是再配上可選的MPU,處理器就能完全知足對軟件健壯性和可靠性有嚴格要求的應用。
調試支持
 在支持傳統的JTAG基礎上,還支持更新更好的串行線調試接口。
 基於CoreSight調試解決方案,使得處理器哪怕是在運行時,也能訪問處理器狀態和存儲器內容。
 內建了對多達6個斷點和4個數據觀察點的支持。
 能夠選配一個ETM,用於指令跟蹤。數據的跟蹤能夠使用DWT
 在調試方面還加入瞭如下的新特性,包括fault狀態寄存器,新的fault異常,以及閃存修補 (patch)操做,使得調試大幅簡化。
 可選ITM模塊,測試代碼能夠經過它輸出調試信息,並且「拎包便可入住」般地方便使用。
 

編程模式

Cortex-M3處理器採用ARMv7-M架構,它包括全部的16位Thumb 指令集和基本的32位Thumb-2 指令集架構,Cortex-M3處理器不能執行ARM指令集。
Thumb-2在Thumb 指令集架構(ISA)上進行了大量的改進,它與Thumb相比,具備更高的代碼密度並提供16/32位指令的更高性能。
關於工做模式
Cortex-M3處理器支持2種工做模式:線程模式和處理模式。在復位時處理器進入「線程模式」,異常返回時也會進入該模式,特權和用戶(非特權)模式代碼可以在「線程模式」下運行。
出現異常模式時處理器進入「處理模式」,在處理模式下,全部代碼都是特權訪問的。
關於工做狀態
Cortex-M3處理器有2種工做狀態。
Thumb狀態:這是16位和32位「 半字對齊」的Thumb和Thumb-2指令的執行狀態。
調試狀態:處理器中止並進行調試,進入該狀態。

 Cortex-M4

 基本簡介
 ARMCortex™-M4處理器是由ARM專門開發的最新嵌入式處理器,在M3的基礎上強化了運算能力,新加了浮點、DSP、並行計算等,用以知足須要有效且易於使用的控制和信號處理功能混合的數字信號控制市場。其高效的信號處理功能與Cortex-M處理器系列的低功耗、低成本和易於使用的優勢的組合,旨在知足專門面向電動機控制、汽車、電源管理、嵌入式音頻和工業自動化市場的新興類別的靈活解決方案。

 

特性

ARMCortex™-M4處理器內核是在Cortex-M3內核基礎上發展起來的,其性能比Cortex-M3提升了20%。新增長了浮點、DSP、並行計算等。用以知足須要有效且易於使用的控制和信號處理功能混合的數字信號控制市場。其高效的信號處理功能與Cortex-M處理器系列的低功耗、低成本和易於使用的優勢相結合。
Cortex-M4提供了無可比擬的功能,將32位控制與領先的數字信號處理技術集成來知足須要很高能效級別的市場。
Cortex-M4處理器採用一個擴展的單時鐘週期乘法累加(MAC)單元、優化的單指令多數據(SIMD)指令、飽和運算指令和一個可選的單精度浮點單元(FPU)。這些功能以表現
ARMCortex-M系列處理器特徵的創新技術爲基礎。包括
·RISC處理器內核,高性能32位CPU、具備肯定性的運算、低延遲3階段管道,可達1.25DMIPS/MHz;
·Thumb-2指令集,16/32位指令的最佳混合、小於8位設備3倍的代碼大小、對性能沒有負面影響,提供最佳的代碼密度;
·低功耗模式,集成的睡眠狀態支持、多電源域、基於架構的軟件控制;
·嵌套矢量中斷控制器(NVIC),低延遲、低抖動中斷響應、不須要彙編編程、以純C語言編寫的中斷服務例程,能完成出色的中斷處理;
·工具和RTOS支持,普遍的第三方工具支持、Cortex微控制器軟件接口標準(CMSIS)、最大限度地增長軟件成果重用;
·CoreSight調試和跟蹤,JTAG或2針串行線調試(SWD)鏈接、支持多處理器、支持實時跟蹤。
此外,該處理器還提供了一個可選的內存保護單元(MPU),提供低成本的調試/追蹤功能和集成的休眠狀態,以增長靈活性。嵌入式開發者將得以快速設計並推出使人矚目的終端產品,具有最多的功能以及最低的功耗和尺寸。
 

處理技術

Cortex-M4 處理器已設計爲具備適用於數字信號控制市場的多種高效 信號處理功能。Cortex-M4 處理器採用擴展的單週期乘法累加 (MAC) 指令、優化的 SIMD 運算、飽和運算指令和一個可選的單精度浮點單元 (FPU)。這些功能以表現 ARM Cortex-M 系列處理器特徵的創新技術爲基礎。
 

 

主要功能

從圖上能夠看出三者功能上的異同點。它們的不一樣點也決定了三者的不一樣應用場合。M4相比較前二者主要的變化在於數字運算能力上的加強,增長了DSP運算指令、SIMD(Single Instruction Multiple Data,單指令多數據流)指令集、FPU(浮點運算單元,可選)。

 

從圖中足以看出M4內核的強大,同時Cortex-M 系列處理器都是二進制向上兼容的,這使得軟件重用以及從一個 Cortex-M 處理器無縫發展到另外一個成爲可能(圖3):

下面就加強的三個功能進行說明:

一、DSP指令集

所謂集成DSP功能並非說M4內核是一個M3+DSP的雙核處理器(目前我的知道的這類處理器是TI的達芬奇系列,主要應用於語音、視頻圖像有關的數字多媒體領域)。而是隻是增長了DSP功能的指令集(單週期的運算指令),能在一個週期內完成指令操做。在官方的CMSIS標準工程庫中已經集成,能夠直接使用(有關內容在之後文章中介紹)。

圖表展現了處理器運行在相同的速度下Cortex - M3和Cortex - M4在數字信號處理能力方面的相對性能比較。

在下面的數字,Y軸表明執行給出的計算用的相對的週期數。 所以,循環數越小,性能越好。以Cortex - M3做爲參考,Cortex - M4的性能計算,性能比大概爲其週期計數的倒數。舉例說明,PID功能,Cortex - M4的週期數是與Cortex - M3的約0.7倍,所以相對性能是1/0.7,即1.4倍。

Cortex - M系列16位循環計數功能

 

Cortex - M系列32位循環計數功能

 

這很清楚的代表,Cortex - M4在數字信號處理方面對比Cortex - M3的16位或32位操做有着很大的優點。

Cortex-M4執行的全部的DSP指令集均可以在一個週期完成,Cortex - M3須要多個指令和多個週期才能完成的等效功能。即便是PID算法——通用DSP運算中最耗費資源的工做,Cortex - M4也能提供了一個1.4倍的性能得改善 。另外一個例子,MP3解碼在Cortex-M3須要20-25Mhz,而在Cortex-M4只須要10-12MHz。

2.  32位乘法累加(MAC) 

32位乘法累加(MAC)包括新的指令集和針對Cortex - M4硬件執行單元的優化它是可以在單週期內完成一個 32 × 32 + 64 - > 64 的操做 或 兩個16 × 16 的操做。以下表列出了這個單元的計算能力。

 

 

3 .SIMD 

(Single Instruction Multiple Data,單指令多數據流)可以複製多個操做數,並把它們打包在大型寄存器的一組指令集,例:3DNow!、SSE。以同步方式,在同一時間內執行同一條指令。

SIMD在性能上的優點:

以加法指令爲例,單指令單數據(SISD)的CPU對加法指令譯碼後,執行部件先訪問內存,取得第一個操做數;以後再一次訪問內存,取得第二個操做數;隨後才能進行求和運算。而在SIMD型的CPU中,指令譯碼後幾個執行部件同時訪問內存,一次性得到全部操做數進行運算。這個特色使SIMD特別適合於多媒體應用等數據密集型運算。

如:AMD公司引覺得豪的3D NOW! 技術實質就是SIMD,這使K6-二、雷鳥、毒龍處理器在音頻解碼、視頻回放、3D遊戲等應用中顯示出優異的性能。



4.FPU

FPU是Cortex - M4浮點運算的可選單元。所以它是一個專用於浮點任務的單元。這個單元經過硬件提高性能,能處理單精度浮點運算,並與IEEE 754標準 兼容。這完成了ARMv7 - M架構單精度變量的浮點擴展。FPU擴展了寄存器的程序模型與包含32個單精度寄存器的寄存器文件。這些能夠被看做是:

·16個64位雙字寄存器,D0 - D15

 ·32個32位單字寄存器,S0 - S31 該FPU提供了三種模式運做,以適應各類應用

 ·全兼容模式(在全兼容模式,FPU處理全部的操做都遵循IEEE754的硬件標準)

 ·Flush-to-zero 沖洗到零模式(設置FZ位浮點狀態和控制寄存器FPSCR [24]到flush-to-zero 模式。在此模式下,FPU 在運算中將全部不正常的輸入操做數的算術CDP操做當作0.除了當從零操做數的結果是合適的狀況。VABS,VNEG,VMOV 不會被當作算術CDP的運算,並且不受flush-to-zero 模式影響。結果是微小的,就像在IEEE 754 標準的描述的那樣,在目標精度增長的幅度小於四捨五入後最低正常值,被零取代。IDC的標誌位,FPSCR [7],表示當輸入Flush時變化。UFC標誌位,FPSCR [3],表示當Flush結束時變化)

 ·默認的NaN模式(DN位的設置,FPSCR [25],會進入NaN的默認模式。在這種模式下,如對任何算術數據處理操做的結果,涉及一個輸入NaN,或產生一個NaN結果,會返回默認的NaN。僅當VABS,VNEG,VMOV運算時,分數位增長保持。全部其餘的CDP運算會忽略全部輸入NaN的小數位的信息)。具體指令請自行查看手冊。

Cortex-M功能模塊差別

  因爲CM1主要是用在FPGA產品中,故下面對比忽略CM1。咱們知道CM處理器是向下兼容的,故CM功能模塊是隨着版本的升級而逐步增長的,咱們逐步從最低版本開始對比。

2.1 CM0 vs CM0+


 

  先來聊聊CM0與CM0+,從最基準的CM0模塊看起:

 

  • ARMv6-M CPU內核:ARM公司於2007年推出的內核。馮·諾依曼體系結構,3級流水線,支持大部分Thumb和小部分Thumb-2指令集,全部指令一共57條。此外還內嵌32-bit返回結果的硬件乘法器。
  • NVIC嵌套向量中斷控制器:用於CPU在正常Run模式下中斷管理。最大支持32個外部中斷,外部中斷可設4級搶佔優先級(2bit)。
  • WIC喚醒中斷控制器:用於CPU在低功耗Sleep模式下中斷管理。
  • AHB-Lite總線:一條32bit AMBA-3標準的高性能system總線負責全部Flash、SRAM中指令和數據存取。
  • 調試模塊:0-4個硬件斷點Breakpoint,0-2個數據監測點Watchpoint。
  • DAP調試接口:經過DAP模塊支持JTAG和SWD接口。

 


 

  那麼CM0+到底改進了什麼?

  • ARMv6-M CPU內核:流水線改成2級(不少8bit MCU都是2級流水線,主要用於下降功耗)
  • NVIC嵌套向量中斷控制器:增長了VTOR即中斷重定向功能。

  那麼CM0+到底增長了什麼?

  • MPU存儲器保護單元:提供硬件方式管理和保護內存,控制訪問權限,最大可將內存分爲8*8個region。內存越權訪問,將返回MemManage Fault。
  • MTB片上跟蹤單元:用戶體驗更好的的跟蹤調試,優化的異常捕獲機制,能夠更快地定位bug。
  • Fast I/O:可單週期訪問的快速I/O口,更易於Bit-banging(好比GPIO模擬SPI、IIC協議)。

2.2 CM0+ vs CM3

 

  前面比較完了CM0與CM0+,再來看看CM3比CM0+加強在了哪裏:

  那麼CM3到底改進了什麼?

  • ARMv7-M CPU內核:ARM公司於2004年推出的內核。哈佛體系結構,3級流水線+分支預測,支持所有的Thumb和Thumb-2指令集。內嵌32-bit硬件乘法器可返回64-bit運算結果,且新增32-bit硬件除法器。
  • NVIC嵌套向量中斷控制器:最大支持240個外部中斷,中斷優先級可分組(搶佔優先級、響應優先級),8bit優先級設置(最大128級搶佔優先級(對應最小2級響應優先級),最大256級響應優先級(對應無搶佔優先級))。
  • 3x AHB-Lite總線:除了原system總線負責SRAM存取外,還新增兩條ICode、DCode總線分別完成Flash上指令和數據存取。
  • 調試模塊:0-8個硬件斷點Breakpoint,0-4個數據監測點Watchpoint。
  • ITM/ETM跟蹤單元:ITM更好地支持printf風格debug,ETM提供實時指令和數據跟蹤。

  那麼CM3到底增長了什麼?

  額,CM3相比CM0+並無增長什麼獨有模塊,反卻是少了Fast I/O Port,實際上Fast I/O Port是CM家族裏CM0+所獨有的模塊。

2.3 CM3 vs CM4

 


 

  前面比較完了CM0+與CM3,再來看看CM4比CM3加強在了哪裏:

  那麼CM4到底改進了什麼?

  • ARMv7E-M CPU內核:增長了DSP相關指令支持。

  那麼CM4到底增長了什麼?

  • DSP數字信號處理單元:新增支持單週期16/32-bit MAC、dual 16-bit MAC, 8/16-bit SIMD算法的數字信號處理單元。
  • FPU浮點運算單元:新增單精度(float型)兼容IEEE-754標準的浮點運算單元(VFPv4-SP)。

2.4 CM4 vs CM7


 

  前面比較完了CM3與CM4,再來看看CM7比CM4加強在了哪裏:

  那麼CM7到底改進了什麼?

  • ARMv7E-M CPU內核:6級流水線+分支預測。
  • 2x AHB-Lite總線:精簡爲2條AHB總線,其中AHB-P外設接口完成原來system總線功能, AHB-S從屬接口負責外部總線控制器(如DMA)功能以及與TCM接口功能。
  • MPU存儲器保護單元:最大可將內存分爲16*8個region。
  • FPU浮點運算單元:新增雙精度(double型)兼容IEEE-754標準的浮點運算單元(VFPv5)。
  •  

  那麼CM7到底增長了什麼?

  • I/D-Cache緩存區:便是咱們一般理解的L1 Cache,每一個Cache大小爲4-64KB。
  • I/D-TCM緊密耦合存儲器:緊密的與處理器內核相耦合的RAM,提供與Cache至關的性能,但比Cache更具肯定性,memory最大均爲16MB。
  • ECC特性:對L1 Cache提供錯誤校訂和恢復功能,提升系統的可靠性。
  • AXI-M總線:基於AMBA 4的64bit AXI總線,用於支持掛在系統上的L2 memory。
    • 最近在關注Cortex-M處理器,針對目前進入大衆視野的M0、M三、M4作了以下簡單對比,內容來自ARM等官網,這裏僅僅是整理了下,看起來更直觀點,呵呵。
    •  
    • Cortex-M 系列針對成本和功耗敏感的 MCU 和終端應用(如智能測量人機接口設備、汽車和工業控制系統、大型家用電器、消費性產品和醫療器械)的混合信號設備進行過優化。.
    • 1、比較Cortex-M 處理器
    • Cortex-M 系列處理器都是二進制向上兼容的,這使得軟件重用以及從一個 Cortex-M 處理器無縫發展到另外一個成爲可能。
    • M Cortex-M 技術
    • CMSIS
    • ARM Cortex 微控制器軟件接口標準 (CMSIS)是 Cortex-M 處理器系列的與供應商無關的硬件抽象層。 使用 CMSIS,能夠爲接口外設、實時操做系統和中間件實現一致且簡單的軟件接口,從而簡化軟件的重用、縮短新微控制器開發人員的學習過程,並縮短新產品的上市時間。
    • 深刻:嵌套矢量中斷控制器 (NVIC)
    • NVIC 是 Cortex-M 處理器不可或缺的部分,它爲處理器提供了卓越的中斷處理能力。
    • Cortex-M 處理器使用一個矢量表,其中包含要爲特定中斷處理程序執行的函數的地址。接受中斷時,處理器會從該矢量表中提取地址。
    • 爲了減小門數並加強系統靈活性,Cortex-M 處理器使用一個基於堆棧的異常模型。出現異常時,系統會將關鍵通用寄存器推送到堆棧上。完成入棧和指令提取後,將執行中斷服務例程或故障處理程序,而後自動還原寄存器以使中斷的程序恢復正常執行。使用此方法,便無需編寫彙編器包裝器了(而這是對基於 C 語言的傳統中斷服務例程執行堆棧操做所必需的),從而使得應用程序的開發變得很是容易。NVIC支持中斷嵌套(入棧),從而容許經過運用較高的優先級來較早地爲某個中斷提供服務。
    • 在硬件中完成對中斷的響應
    • Cortex-M 系列處理器的中斷響應是從發出中斷信號到執行中斷服務例程的週期數。它包括: 
    •       檢測中斷
    •       背對背或遲到中斷的最佳處理(參見下文)
    •       提取矢量地址
    •       將易損壞的寄存器入棧
    •       跳轉到中斷處理程序
    • 這些任務在硬件中執行,而且包含在爲 Cortex-M 處理器報出的中斷響應週期時間中。在其餘許多體系結構中,這些任務必須在軟件的中斷處理程序中執行,從而引發延遲並使得過程十分複雜。
    •  
    • NVIC 中的尾鏈
    • 在背對背中斷的狀況下,傳統系統會重複完整的狀態保存和還原週期兩次,從而致使更高的延遲。Cortex-M處理器經過在 NVIC 硬件中實現尾鏈技術簡化了活動中斷和掛起的中斷之間的轉換。處理器狀態會在比軟件實現時間更少的週期內自動保存在中斷條目上並在中斷退出時還原,從而顯著提高低 MHz 系統的性能。
    •  
    • NVIC 對遲到的較高優先級中斷的響應
    • 若是在爲上一個中斷執行堆棧推送期間較高優先級的中斷遲到,NVIC 會當即提取新的矢量地址來爲掛起的中斷提供服務,如上所示。Cortex-M NVIC 對這些可能性提供具備肯定性的響應並支持遲到和搶佔。
    •  
    • NVIC 進行的堆棧彈出搶佔
    • 一樣,若是異常到達,NVIC 將放棄堆棧彈出並當即爲新的中斷提供服務,如上所示。經過搶佔並切換到第二個中斷而不完成狀態還原和保存,NVIC 以具備肯定性的方式實現了縮短延遲。

 再來講說ARM7,ARM9系列,

ARM9

ARM9系列處理器是英國ARM公司設計的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。

基本概述

ARM9採用哈佛體系結構,指令和數據分屬不一樣的總線,能夠並行處理。在流水線上,ARM7是三級流水線,ARM9是五級流水線。因爲結構不一樣,ARM7的執行效率低於ARM9。平時所說的ARM七、ARM9實際上指的是ARM7TDMI、ARM9TDMI軟核,這種處理器軟核並不帶有MMU和cache,不可以運行諸如linux這樣的嵌入式操做系統。而ARM公司對這種架構進行了擴展,因此有了ARM710T、ARM720T、ARM920T、ARM922T等帶有MMU和cache的處理器內核。

 

主要特性編輯

融合了ARM920T™ ARM® Thumb® 處理器
– 工做於180 MHz時性能高達200 MIPS,存儲器管理單元
– 16-K 字節的數據緩存,16-K字節的指令緩存,寫緩衝器
– 含有調試信道的內部仿真器
– 中等規模的嵌入式宏單元結構( 僅針對256 BGA 封裝)
· 低功耗:VDDCORE電流爲30.4 mA 待機模式電流爲3.1 mA
· 附加的嵌入式存儲器
– SRAM爲16K ;ROM爲128K
· 外部總線接口(EBI)
– 支持SDRAM,靜態存儲器, Burst Flash,無縫鏈接的CompactFlash®,
SmartMedia™及NAND Flash
· 提升性能而使用的系統外設:
– 加強的時鐘發生器與電源管理控制器
– 兩個有雙PLL的片上振盪器
– 低速的時鐘操做模式與軟件功耗優化能力
– 四個可編程的外部時鐘信號
– 包括週期性中斷、看門狗及第二計數器的系統定時器
– 有報警中斷的實時時鐘
– 調試單元、兩線UART並支持調試信道
– 有8 個優先級的高級中斷控制器,獨立的可屏蔽中斷源,僞中斷保護
– 7個外部中斷源及1 個快速中斷源
– 有122個可編程I/O口線的四個32 位PIO控制器,各線均有輸入變化中斷及開漏能力
– 20通道的外設數據控制器(DMA)
· 10/100 Base-T 型以太網卡接口
– 獨立的媒體接口(MII)或簡化的獨立媒體接口(RMII)
– 對於接收與發送有集成的28 字節FIFO及專用的DMA 通道
· USB 2.0 全速(12 M比特/秒) 主機雙端口
– 雙片上收發器(208引腳PQFP封裝中僅爲一個)
– 集成的FIFO及專用的DMA 通道
· USB 2.0 全速(12 M比特/秒) 器件端口
– 片上收發器, 2-K字節可配置的集成FIFO
· 多媒體卡接口(MCI)
– 自動協議控制及快速自動數據傳輸
– 與MMC及SD存儲器卡兼容,支持兩個SD存儲器
· 3個同步串行控制器(SSC)
– 每一個接收器與發送器有獨立的時鐘及幀同步信號
– 支持I2S模擬接口,時分複用
– 32比特的高速數據流傳輸能力
· 4個通用同步/異步接收/發送器(USART)
– 支持ISO7816 T0/T1 智能卡
– 硬軟件握手
– 支持RS485 及高達115 Kbps的IrDA 總線
– USART1爲全調製解調控制線
· 主機/從機串行外設接口(SPI)
– 8~ 16 位可編程數據長度,可鏈接4個外設
· 兩個 3 通道16 位定時/計數器(TC)
– 3個外部時鐘輸入,每條通道有2 個多功能I/O引腳
– 雙PWM 產生器,捕獲/波形模式,上加/下減計數能力
· 兩線接口(TWI)
– 主機模式支持,全部兩線Atmel EEPROM 支持
· 全部數字引腳的IEEE 1149.1 JTAG邊界掃描
· 電源供應
– VDDCORE,VDDOSC及VDDPLL電壓爲:1.65V ~1.95V
– VDDIOP (外設I/O) 及VDDIOM (存儲器I/O)電壓爲:1.65V~ 3.6V

體系特色

結構特色
以ARM9E-S爲例介紹ARM9處理器的主要結構及其特色。ARM9E-S的結構如圖4所示。其主要特色以下:
⑴32bit定點RISC處理器,改進型ARM/Thumb代碼交織,加強性乘法器設計。支持實時(real-time)調試;
⑵片內指令和數據SRAM,並且指令和數據的 存儲器容量可調;
⑶片內指令和數據高速緩衝器(cache)容量從4K字節到1M字節;
⑷設置保護單元(protection unit),很是適合 嵌入式應用中對 存儲器進行分段和保護;
⑸採用AMBA AHB總線接口,爲 外設提供統一的地址和 數據總線
⑹支持外部 協處理器,指令和 數據總線有簡單的握手 信令支持
⑺支持標準基本 邏輯單元掃描測試方法學,並且支持BIST(built-in-self-test);
⑻支持 嵌入式跟蹤 宏單元,支持實時跟蹤指令和數據。
ARM920T運行模式
ARM920T支持7種運行模式,分別爲:
(1)用戶模式(usr),
ARM處理器正常的程序執行狀態;
(2)快速中斷模式 (fiq),
用於高速數據傳輸或通道處理;
(3)外部中斷模式(irq),
用於通用的中斷處理;
(4)管理模式(svc),
操做系統使用的保護模式;
(5)數據訪問終止模式(abt),
當數據或指令預取終止時進入該模式,可用於虛擬存儲及存儲保護;
(6)系統模式(sys),
運行具備特權的操做系統任務;
(7)未定義指令停止模式(und)
當未定義的指令執行時進入該模式,可用於支持硬件協處理器的軟件仿真。
ARM微處理器的運行模式能夠經過軟件改變,也能夠經過外部中斷或異常處理改變。大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的。除用戶模式之外,其他的6種模式稱爲特權模式;其中除去用戶模式和系統模式之外的5種又稱爲異常模式,經常使用於處理中斷或異常,以及訪問受保護的系統資源等狀況。
ARM920T的工做狀態
從編程的角度看,ARM920T微處理器的工做狀態通常有兩種:
(1)ARM狀態,此時處理器執行32位的、字對齊的ARM指令;
(2)Thumb狀態,此時處理器執行16位的、半字對齊的Thumb指令。
ARM指令集和Thumb指令集均有切換處理器狀態的指令,在程序的執行過程當中,微處理器能夠隨時在兩種工做狀態之間切換,而且,處理器的工做狀態的轉變並不影響處理器的工做模式和相應寄存器中的內容。但ARM微處理器在開始執行代碼時,應該處於ARM
狀態。
當操做數寄存器的狀態位(位0)爲1時,能夠採用執行BX指令的方法,使微處理器從
ARM狀態切換到Thumb狀態。此外,當處理器處於Thumb狀態時發生異常(如IRQ、FIQ、Undef、Abort、SWI等),當異常處理返回時,自動切換回Thumb狀態。當操做數寄存器的狀態位爲0時,執行BX指令能夠使微處理器從Thumb狀態切換到ARM狀態。此外,在處理器進行異常處理時,將PC指針放入異常模式連接寄存器中,並從異常向量地址開始執行程序,也能夠使處理器切換到ARM狀態。
ARM920T體系結構的存儲器格式
ARM920T體系結構將存儲器看作是從零地址開始的字節的線性組合。從0字節到3字節放置第1個存儲的字數據,從第4個字節到第7個字節放置第2個存儲的字數據,依次排列。做爲32位的微處理器,ARM92OT體系結構所支持的最大尋址空間爲4GB。
ARM92OT體系結構能夠用兩種方法存儲字數據,分別稱爲大端格式和小端格式。大端格式中字數據的高字節存儲在低地址中,而字數據的低字節則存放在高地址中
以大端格式存儲數據
以小端格式存儲數據

指令

⒈loads 指令與n stores指令
指令週期數的改進最明顯的是loads指令和stores指令。從ARM7到ARM9這兩條指令的執行時間減小了30%。 指令週期的減小是因爲ARM7和ARM9兩種處理器內的兩個基本的微處理結構不一樣所形成的。
⑴ARM9有獨立的指令和數據 存儲器接口,容許處理器同時進行取指和讀寫數據。這叫做改進型 哈佛結構。而ARM7只有數據 存儲器接口,它同時用來取指令和數據訪問。
⑵5級流水線引入了獨立的 存儲器和寫回流水線,分別用來訪問存儲器和將結果寫回 寄存器
以上兩點實現了一個週期完成loads指令和stores指令。
⒉互鎖(interlocks)技術
當指令須要的數據由於之前的指令沒有執行完而沒有準備好就會產生管道互鎖。當管道互鎖發生時,硬件會中止這個指令的執行,直到數據準備好爲止。雖然這種技術會增長代碼執行時間,可是爲初期的設計者提供了巨大的方便。編譯器以及彙編程序員能夠經過從新設計代碼的順序或者其餘方法來減小管道互鎖的數量。
⒊分枝指令
ARM9和ARM7的分枝 指令週期是相同的。並且ARM9TDMI和ARM9E-S並無對分枝指令進行預測處理。

處理能力

新一代的ARM9處理器,經過全新的設計,採用了更多的晶體管,可以達到兩倍以上於ARM7處理器的處理能力。這種處理能力的提升是經過增長 時鐘頻率和減小指令執行週期實現的。
(一)  時鐘頻率的提升:
ARM7處理器採用3級流水線,而ARM9採用5級流水線。增長的流水線設計提升了 時鐘頻率並行處理能力。5級流水線可以將每個指令處理分配到5個 時鐘週期內,在每個時鐘週期內同時有5個指令在執行。在一樣的加工工藝下,ARM9TDMI處理器的時鐘頻率是ARM7TDMI的1.8~2.2倍。
(二)  指令週期的改進:
指令週期的改進對於處理器性能的提升有很大的幫助。性能提升的幅度依賴於代碼執行時指令的重疊,這其實是程序自己的問題。對於採用最高級的語言,通常來講,性能的提升在30%左右。

Cortex-A 系列處理器

Cortex-A 系列處理器是一系列處理器,支持ARM32或64位指令集,向後徹底 兼容早期的ARM處理器,包括從1995年發佈的ARM7TDMI處理器到2002年發佈的ARMll處理器系列。
 
 
 
 

簡介

32位RISCCPU開發領域中不斷取得 突破,其設計的微處理器結構已經從v3發展到如今的v7。Cortex系列處理器是基於ARMv7架構的,分爲Cortex-M、Cortex-R和Cortex-A三類。因爲應用領域的不一樣,基於v7架構的Cortex處理器系列所採用的技術也不相同。基於v7A的稱爲「Cortex-A系列。高性能的 Cortex-A15、可伸縮的 Cortex-A9、通過市場驗證的 Cortex-A8處理器以及高效的 Cortex-A7Cortex-A5處理器均共享同一體系結構,所以具備完整的應用兼容性,支持傳統的ARM、 Thumb指令集和新增的高性能緊湊型Thumb-2指令集。
Cortex-A15和Cortex-A7都支持ARMv7A體系結構的擴展,從而爲大型物理地址訪問和硬件虛擬化以及啓用big.LITTLE處理的AMBA4ACE一致性提供支持。
 

技術特色


ARMv7包括3個關鍵要素:NEON單指令多數據(SIMD)單元、ARMtrustZone安全擴展、以及thumb2指令集,經過16位和32位混合長度指令以減少代碼長度。
 

高性能

Cortex-A 設備可爲其目標應用領域提供各類可伸縮的能效性能點。一些說明示例以下:
Cortex-A15 ,可爲新一代移動基礎結構應用和要求苛刻的無線基礎結構應用提供性能最高的解決方案  Cortex-A7,可採用獨立、多核配置實現,提供 800 MHz - 1.2 GHz 的典型頻率,也能夠與 Cortex-A15 結合用於 big.LITTLE 處理  Cortex-A9 實現,可提供 800 MHz - 2 GHz 的標準頻率,每一個內核可提供 5000 DMIPS 的性能  Cortex-A8 單核解決方案,可提供經濟有效的高性能,在 600 MHz - 1 GHz 的頻率下,提供的性能超過 2000 DMIPS  Cortex-A5 低成本實現,在 400- 800 MHz 的頻率下,提供的性能超過 1200 DMIPS。
 

多核技術

Cortex-A五、[1] Cortex-A七、Cortex-A9 和 Cortex-A15 處理器都支持 ARM 的第二代多核技術
單核到四核實現,支持面向性能的應用領域 支持對稱和非對稱的操做系統實現 經過加速器一致性端口 (ACP) 在導出到系統的整個處理器中保持一致性 Cortex-A7 和 Cortex-A15 將多核一致性擴展至 AMBA4 ACE 的 1~4 核羣集以上(AMBA 一致性擴展)
 

高級擴展

除了具備與上一代經典 ARM 和 Thumb® 體系結構的二進制兼容性外,Cortex-A 類處理器還經過如下技術擴展提供了更多優點
Thumb-2,提供最佳代碼大小和性能  TrustZone 安全擴展,提供可信計算  Jazelle 技術,提升執行環境(如 Java、.Net、MSIL、Python 和 Perl)速度。
 

產品應用

ARM公司的Cortex-A系列處理器適用於具備高計算要求、運行豐富操做系統以及提供交互媒體和圖形體驗的應用領域。從最新技術的移動Internet必備設備(如手機和超便攜的上網本或智能本)到汽車信息娛樂系統和下一代數字電視系統。也能夠用於其餘移動便攜式設備,還能夠用於數字電視、機頂盒、企業網絡、打印機和服務器解決方案。這一系列的處理器具備高效低耗等特色,比較適合配置於各類移動平臺。
雖然Cortex-A處理器正朝着提供徹底的Internet體驗的方向發展,但其應用也很普遍,包括:
產品類型
應用
上網本、智能本、輸入板、電子書閱讀器、瘦客戶端
手機
智能手機、特點手機
數字家電
機頂盒、數字電視、 藍光播放器、遊戲控制檯
汽車
信息娛樂、導航
企業
激光打印機、 路由器、無線基站、VOIP 電話和設備
無線基礎結構
Web 2.0、無線基站、交換機、服務器
 

Cortex-A5 處理器


ARM Cortex™-A5 處理器是能效最高、成本最低的處理器,可以向最普遍的設備提供 Internet 訪問:從入門級智能手機、低成本手機和智能移動終端到廣泛採用的嵌入式、消費類和工業設備。
Cortex-A5 處理器可爲現有 ARM926EJ-S™ 和 ARM1176JZ-S™ 處理器設計提供頗有價值的遷移途徑。它能夠得到比 ARM1176JZ-S 更好的性能,比 ARM926EJ-S 更好的功效和能效以及 100% 的 Cortex-A 兼容性。
這些處理器向特別注重功耗和成本的應用程序提供高端功能,其中包括:
多重處理功能,能夠得到可伸縮、高能效性能
用於媒體和信號處理的可選 浮點或 NEON™單元
與  Cortex-A8Cortex-A9 和經典 ARM 處理器的徹底應用兼容性
高性能內存系統,包括高速緩存和內存管理單元
 

Cortex-A7 處理器

ARM Cortex™-A7 MPCore™ 處理器是 ARM 迄今爲止開發的最有效的應用處理器,它顯著擴展了 ARM 在將來入門級智能手機、平板電腦以及其餘高級移動設備方面的低功耗領先地位。
Cortex-A7 處理器的體系結構和功能集與 Cortex-A15 處理器徹底相同,不一樣這處在於,Cortex-A7 處理器的微體系結構側重於提供最佳能效,所以這兩種處理器可在  big.LITTLE配置中協同工做,軟件能夠在高能效 Cortex-A7 處理器上運行 也能夠在須要時在高性能 Cortex-A15 處理器上運行 無需從新編譯,[2]   從而提供高性能與超低功耗的終極組合。
做爲獨立處理器,單個 Cortex-A7 處理器的能源效率是 ARM Cortex-A8 處理器(支持現在的許多最流行智能手機)的 5 倍,性能提高 50%,而尺寸僅爲後者的五分之一。
Cortex-A7 能夠使 2013-2014 年期間低於 100 美圓價格點的入門級智能手機與 2010 年 500 美圓的高端智能手機相媲美。這些入門級智能手機在發展中世界將從新定義鏈接和 Internet 使用。
該處理器與其餘 Cortex-A 系列處理器徹底兼容並整合了高性能 Cortex-A15 處理器的全部功能,包括虛擬化、大物理地址擴展 (LPAE) NEON 高級 SIMD 和 AMBA 4 ACE 一致性。
最佳的功效和佔用空間,可做爲獨立的應用處理器 性能高於 2011 年主流智能手機 CPU 性能提高高達 20% 而功耗下降 60%AMBA 4 ACE 一致性接口支持大小 CPU 羣集之間 20us 如下的上下文遷移
 

Cortex-A8 處理器


ARMCortex-A8處理器是一款適用於複雜操做系統及用戶應用的應用處理器,其結構如圖所示。支持智能能源管理(IEM,IntelligentEnergyManger)技術的ARMArtisan庫以及先進的泄漏控制技術,使得Cortex-A8處理器實現了非凡的速度和功耗效率在65nm上藝下,ARMcortex-A8處理器的功耗不到300mW,可以提供高性能和低功耗它第一次爲低費用、高容量的產品帶來了臺式機級別的性能

 

A8處理器結構
Cortex-A8處理器是第一款基於下一代ARMv7架構的應用處理器,使用了可以帶來更高性能、更低功耗和更高代碼密度的Thumb-2技術它首次採用了強大的NEON信號處理擴展集,爲H.264和MP3等媒體編解碼提供加速
Cortex-A8的解決方案還包括Jazelle-RCTJava加速技術,對實時(JIT)和動態調整編譯(DAC)提供最優化,同時減小內存佔用空間高達3倍該處理器配置了先進的超標量體系結構流水線,可以同時執行多條指令,而且提供超過2.0DMIPS/MHz的性能處理器集成了一個可調尺寸的二級高速緩衝存儲器,可以同高速的16KB或者32KB一級高速緩衝存儲器一塊兒工做,從而達到最快的讀取速度和最大的吞吐量新處理器還配置了用於安全交易和數字版權管理的TrustZone技術,以及實現低功耗管理的IEM功能
Cortex-A8處理器使用了先進的分支預測技術,而且具備專用的NEON整型和浮點型流水線進行媒體和信號處理在使用小於4mm2的硅片及低功耗的65nm工藝的狀況下,Cortex-A8處理器的運行頻率將高於600MHz(不包括NEON追蹤技術和二級高速緩衝存儲器)在高性能的90nm和65nm工藝下,Cortex-A8處理器運行頻率最高可達1GHz,可以知足高性能消費產品設計的須要。
 

Cortex-A9處理器

ARM Cortex™-A9 處理器提供了前所未有的高性能和高能效,從而使其成爲須要在低功耗或散熱受限的成本敏感型設備中提供高性能的設計的理想解決方案。 它既可用做單核處理器,也可用做可配置的多核處理器,同時可提供可合成或硬宏實現。該處理器適用於各類應用領域,從而可以對多個市場進行穩定的軟件投資。
與高性能計算平臺消耗的功率相比,ARM Cortex-A9 處理器可提供功率更低的卓越功能,其中包括:
無與倫比的性能,2GHz 標準操做可提供 TSMC 40G 硬宏實現
以低功耗爲目標的單核實現,面向成本敏感型設備
利用高級 MPCore 技術,最多可擴展爲 4 個一致的內核
可選 NEON™ 媒體和/或 浮點處理引擎

Cortex-A15 處理器

ARM Cortex™-A15 MPCore™ 處理器是性能高且可授予許可的處理器。它提供史無前例的處理功能,與低功耗特性相結合,在各類市場上成就了卓越的產品,包括智能手機、平板電腦、移動計算、高端數字家電、服務器和無線基礎結構。Cortex-A15 MPCore 處理器提供了性能、功能和能效的獨特組合,進一步增強了 ARM 在這些高價值和高容量應用細分市場中的領導地位。
Cortex-A15 MPCore 處理器是 Cortex-A 系列處理器的最新成員,確保在應用方面與全部其餘得到高度讚譽的 Cortex-A 處理器徹底兼容。這樣,就能夠當即訪問已獲得承認的開發平臺和軟件體系,包括 Android™、Adobe® Flash® Player、Java Platform Standard Edition (Java SE)、JavaFX、Linux、Microsoft Windows Embedded、Symbian 和 Ubuntu 以及 700 多個 ARM Connected Community™ 成員,這些成員提供應用軟件、硬件和軟件開發工具、中間件以及 SoC 設計服務。
Cortex-A15 MPCore 處理器具備無序超標量管道,帶有緊密耦合的低延遲 2 級高速緩存,該高速緩存的大小最高可達 4MB。 浮點和 NEON™ 媒體性能方面的其餘改進使設備可以爲消費者提供下一代用戶體驗,併爲 Web 基礎結構應用提供高性能計算。
預計 Cortex-A15 MPCore 處理器的移動配置所能提供的性能是當前的高級智能手機性能的五倍還多。在高級基礎結構應用中,Cortex-A15 的運行速度最高可達 2.5GHz,這將支持在不斷下降功耗、散熱和成本預算方面實現高度可伸縮的解決方案。
 

Cortex-A57

cortex-a57是ARM針對2013年、2014年和2015年設計起點的CPU產品系列的旗艦級CPU,它採用armv8-a架構,提供64位功能,並且經過Aarch32執行狀態,保持與ARMv7架構的徹底後向兼容性。在高於4GB的內存普遍使用以前,64位並非移動系統真正必需的,即使到那時也能夠使用擴展物理尋址技術來解決,但儘早推出64位,能夠實現更長、更順暢的軟件遷移,讓高性能應用程序可以充分利用更大虛擬地址範圍來運行內容建立應用程序,例如視頻編輯、照片編輯和加強現實。新架構能夠運行64位操做系統,並在操做系統上無縫混合運行32位和64位應用程序。ARMv8架構能夠實現狀態之間的輕鬆轉換。
除了ARMv8的架構優點以外,Cortex-A57還提升了單個時鐘週期性能,比高性能的Cortex-A15CPU高出了20%至40%。它還改進了二級高速緩存的的設計以及內存系統的其餘組件,極大的提升了能效。Cortex-A57將爲移動系統提供史無前例的高能效性能水平,而藉助big.LITTLE,SoC能以很低的平均功耗作到這一點。
 

Cortex-A72處理器


Cortex-A72是ARM性能最出色、最早進的處理器。於2015年年初正式發佈的Cortex-A72是基於ARMv8-A架構、並構建於Cortex-A57處理器在移動和企業設備領域成功的基礎之上。在相同的移動設備電池壽命限制下,Cortex-A72能相較基於Cortex-A15的設備提供3.5倍的性能表現,展示優異的總體功耗效率。
Cortex-A72的強化性能和功耗水平從新定義了2016年高端設備爲消費者帶來的豐富鏈接和情境感知(context-aware)的體驗,這些高端設備涵蓋高階的智能手機、中型平板電腦、大型平板電腦、翻蓋式筆記本、一直到外形規格可變化的移動設備。將來的企業基站和服務器芯片也能受惠於Cortex-A72的性能,並在其優異的能效基礎上,在有限的功耗範圍內增長內核數量,提高工做負載量。
Cortex-A72可在芯片上單獨實現,也能夠搭配Cortex-A53處理器與ARMCoreLinkTMCCI高速緩存一致性互連(CacheCoherentInterconnect)構成ARMbig.LITTLETM配置,進一步提高能效。
Cortex-A72是目前基於ARMv8-A架構處理器中性能最高的處理器。它再次展示了ARM在處理器技術的領先地位,在提高新的性能標準之餘,同時大幅下降功耗,可普遍地擴展應用於移動與企業設備。
智能手機是目前大衆主要的計算平臺,提供使用者隨時隨地創造、強化以及使用內容的功能。擬真且複雜的圖像與視頻捕捉、主機級遊戲般的性能、用來進行文檔與辦公應用流暢處理的生產力套件等,這些需求促使Cortex-A72如此高端性能的處理器面市,執行這些服務的設備被要求在更輕薄、更時尚的外形設計之下,必須全天候處理日益增加的CPU和GPU工做負載,這使得製造商不得不將精力用在尋找高能效的處理器內核。在智能手機、平板電腦、甚至是大尺寸的移動設備,Cortex-A72能經過出色的能效與內存系統,提功絕佳的用戶體驗。將Cortex-A72與Cortex-A53處理器以ARMbig.LITTLE™(大小核)處理器進行配置,能夠擴展總體的性能與效率表現。
相關文章
相關標籤/搜索