很多時(shí)候我們都會(huì)對M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者說AVR,51,PIC等,一頭霧水,只知道是架構(gòu),不知道具體是什么,有哪些不同?今天查了些資料,來解解惑,不是很詳細(xì),但對此有個(gè)大體了解。咱先來當(dāng)下最火的ARM吧
1.ARM
ARM即以英國ARM(Advanced RISC Machines)公司的內(nèi)核芯片作為CPU,同時(shí)附加其他外圍功能的嵌入式開發(fā)板,用以評估內(nèi)核芯片的功能和研發(fā)各科技類企業(yè)的產(chǎn)品.
ARM 微處理器目前包括下面幾個(gè)系列,以及其它廠商基于 ARM 體系結(jié)構(gòu)的處理器,除了具有ARM 體系結(jié)構(gòu)的共同特點(diǎn)以外,每一個(gè)系列的 ARM 微處理器都有各自的特點(diǎn)和應(yīng)用領(lǐng)域。
- ARM7 系列
- ARM9 系列
- ARM9E 系列
- ARM10E 系列
- ARM11系列
- Cortex 系列
- SecurCore 系列
- OptimoDE Data Engines
- Intel的Xscale
- Intel的StrongARM ARM11系列
2. Cortex 系列
32位RISCCPU開發(fā)領(lǐng)域中不斷取得突破,其設(shè)計(jì)的微處理器結(jié)構(gòu)已經(jīng)從v3發(fā)展到現(xiàn)在的v7。Cortex系列處理器是基于ARMv7架構(gòu)的,
分為Cortex-M、Cortex-R和Cortex-A三類。由于應(yīng)用領(lǐng)域的不同,基于v7架構(gòu)的Cortex處理器系列所采用的技術(shù)也不相同;趘7A的稱為“Cortex-A系列。
高性能的Cortex-A15、可伸縮的Cortex-A9、經(jīng)過市場驗(yàn)證的Cortex-A8處理器以及高效的Cortex-A7和Cortex-A5處理器均共享同一體系結(jié)構(gòu),因此具有完整的應(yīng)用兼容性,支持傳統(tǒng)的ARM、Thumb指令集
和新增的高性能緊湊型Thumb-2指令集。
1Cortex-M系列
Cortex-M系列又可分為Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;
2Cortex-R系列
Cortex-R系列分為Cortex-R4、Cortex-R5、Cortex-R7;
3Cortex-A 系列
Cortex-A系列分為Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等 ,同樣也就有了對應(yīng)內(nèi)核的Cortex-M0開發(fā)板、Cortex-A5開發(fā)板、Cortex-A8開發(fā)板、Cortex-A9開發(fā)板、
Cortex-R4開發(fā)板等等。
4半導(dǎo)體
由于ARM公司只對外提供ARM內(nèi)核,各大廠商在授權(quán)付費(fèi)使用ARM內(nèi)核的基礎(chǔ)上研發(fā)生產(chǎn)各自的芯片,形成了嵌入式ARM CPU的大家庭,提供這些內(nèi)核芯片的廠商有Atmel、TI、飛思卡爾、NXP、ST、和三星等。
Cortex-M兼容特性
為了能做到Cortex-M軟件重用,ARM公司在設(shè)計(jì)Cortex-M處理器時(shí)為其賦予了處理器向下兼容、軟件二進(jìn)制向上兼容特性。
首先看什么是二進(jìn)制兼容,這個(gè)特性主要是針對軟件而言,這里指的是當(dāng)某軟件(程序)依賴的頭文件或庫文件分別升級時(shí),軟件功能不受影響。要做到二進(jìn)制兼容,被軟件所依賴的頭文件或庫文件升級時(shí)必須是二進(jìn)制兼容的。
那么什么又是向上兼容,向上兼容又叫向前兼容,指的是在較低版本處理器上編譯的軟件可以在較高版本處理器上執(zhí)行。
跟向上兼容相對的另一個(gè)概念叫向下兼容,向下兼容又叫向后兼容,指的是較高版本處理器可以正確運(yùn)行在較低版本處理器上編譯的軟件。
所以其實(shí)既可以用向上兼容,也可以用向下兼容來形容Cortex-M特性,只不過描述的主語不一樣,我們可以說Cortex-M程序是向上兼容的,也可以說Cortex-M處理器是向下兼容的。
具體到Cortex-M處理器時(shí),這個(gè)兼容特性表現(xiàn)為:
- 從處理器角度看:CM0指令集和功能模塊是最精簡的,CM7指令集和功能模塊是最豐富的。不存在低版本處理器上存在的特性是高版本處理器所沒有的。
- 從軟件角度來看:CMSIS提供的頭文件和功能函數(shù)是二進(jìn)制向上兼容的,比如某CM0軟件App使用的是core_cm0.h頭文件,而這個(gè)App要在CM7上運(yùn)行時(shí),不需要使用core_cm7.h再重新編譯一次(當(dāng)然使用新頭文件編譯后的App也是正常的。)
從MCU內(nèi)核到MCU實(shí)際應(yīng)用是一個(gè)完整的產(chǎn)業(yè)鏈,這個(gè)產(chǎn)業(yè)鏈分為五個(gè)部分:
其實(shí)都是這樣,前三個(gè)部分有芯片廠家和架構(gòu)內(nèi)核公司負(fù)責(zé)開芯片,后兩個(gè)部分由研發(fā)公司根據(jù)芯片設(shè)計(jì),開發(fā)。
就拿ST為例,ARM公司為最開始的部分,ST(意法半導(dǎo)體)為芯片設(shè)計(jì)與制造公司,以ARM內(nèi)核為載體,通過進(jìn)一步的設(shè)計(jì)開發(fā),為ARM配備外圍的支持,為將計(jì)算控制能力應(yīng)用到電子產(chǎn)品中提供芯片服務(wù)
Cortex-M0 處理器簡介
ARM公司的Cortex-M0應(yīng)用于各種微控制器(MCU)中,并可讓研發(fā)工程師以8位的價(jià)位創(chuàng)造32位的的效能,并將傳統(tǒng)的8位和16位的處理器升級到更高效、更低功耗的32位處理器。
Cortex-M0是Cortex-M家族中的M0系列。最大特點(diǎn)是低功耗的設(shè)計(jì)。Cortex-M0為32位、3級流水線RISC處理器,其核心仍為馮.諾依曼結(jié)構(gòu),是指令和數(shù)據(jù)共享同一總線的架構(gòu)。作為新一代的處理器,Cortex-M0的設(shè)計(jì)進(jìn)行了許多的改革與創(chuàng)新,如系統(tǒng)存儲(chǔ)器地址映像(system address map)、改善效率并增強(qiáng)確定性的嵌套向量中斷系統(tǒng)(NVIC)與不可屏蔽中斷(NMI)、全新的硬件除錯(cuò)單元等等,都帶給了使用者全新的體驗(yàn)和更便利、 更有效率的操作。
技術(shù)架構(gòu)
CortexM0其核心架構(gòu)為ARMv6M,其運(yùn)算能力可以達(dá)到0.9 DMIPS/MHz,而與其他的16位與8位處理器相比,由于CortexM0的運(yùn)算性能大幅提高,所以在同樣任務(wù)的執(zhí)行上CortexM0只需較低的運(yùn)行速度,而大幅降低了整體的動(dòng)態(tài)功耗。
Cortex—M0屬于ARMv6-M架構(gòu),包括1顆專為嵌入式應(yīng)用而設(shè)計(jì)的ARM核、緊耦合的可嵌套中斷微控制器NVIC、可選的喚醒中斷控制器WIC,對外提供了基于AMBA結(jié)構(gòu)(高級微控制器總線架構(gòu))的AHB-lite總線和基于CoreSight技術(shù)的SWD或JTAG調(diào)試接口,如圖所示。Cortex-M0微控制器的硬件實(shí)現(xiàn)包含多個(gè)可配置選項(xiàng):中斷數(shù)量、WIC、睡眠模式和節(jié)能措施、存儲(chǔ)系統(tǒng)大小端模式、系統(tǒng)滴答時(shí)鐘等,半導(dǎo)體廠商可以根據(jù)應(yīng)用需要選擇合理的配置。
系統(tǒng)總線基于AHB_Lite高級高性能總線協(xié)議。外設(shè)總線基于APB高級外設(shè)總線協(xié)議,通過一個(gè)轉(zhuǎn)換橋連接到AHB上,這只是Cortex-M0內(nèi)核的大概模式.
特點(diǎn)
1)能耗效率
CortexM0的運(yùn)行效率很高(0.9DMIPS/MHz),能在較少的周期里完成一項(xiàng)任務(wù)。這意味著CortexM0可以在大部分的時(shí)間里處于休眠狀態(tài),消耗很少的能量,具有良好的能耗效率。同樣較小的邏輯門數(shù)也降低了待機(jī)電流。而高效的中斷控制器(NVIC)需要很小的中斷開銷。
2)代碼密度
Cortex-M0基于Thumb-2的指令集,比用8位或者16位架構(gòu)實(shí)現(xiàn)的代碼還要少,因此用戶可以選擇具有較小Flash空間的芯片?梢越档拖到y(tǒng)功耗。[1]
3) 易于使用
Cortex-M0適用于C語言編程,并且被許多編譯器支持。可以用C語言直接編程中斷例程,而無需使用匯編語言。同時(shí)Cortex-M0還被多種開發(fā)工具支持。包括很多開源的嵌入式操作系統(tǒng)同樣支持Cortex-M0。
Cortex-M0 處理器簡介
1. Cortex-M0 處理器基于馮諾依曼架構(gòu)(單總線接口),使用32位精簡指令集(RISC),該指令集被稱為Thumb指令集。與之前相比,新的指令集增加了幾條ARMv6架構(gòu)的指令,并且加入了eThumb-2指令集的部分指令。Thumb-2技術(shù)擴(kuò)展了Thumb的應(yīng)用,允許所有的操作都可以在同一種CPU狀態(tài)下執(zhí)行。Thumb指令集既包括16位指令,也包括32位指令。C編譯器生成的指令大部分是16位的,當(dāng)16位的指令無法實(shí)現(xiàn)所需要的操作時(shí),32位指令就會(huì)發(fā)揮作用。這樣以來,在代碼密度得到提升的同時(shí),還避免了兩套指令集之間進(jìn)行切換帶來的開銷
2. Cortex-M0總共支持56個(gè)基本指令,其中某些指令可能會(huì)有多種形式。相對于Cortex-M0較小的指令集,其處理器的能力可不一般,因?yàn)門humb是經(jīng)過高度優(yōu)化的指令集。從理論來說,由于讀寫存儲(chǔ)是的指令是相互獨(dú)立的,而且算數(shù)或邏輯操作的指令使用寄存器,Cortex-M0處理器可以被歸到加載-存儲(chǔ)(load-store)結(jié)構(gòu)中。
3. 處理器核心包括:
- 寄存器組 包含16個(gè)32位寄存器,其中有一些特殊寄存器
- 算術(shù)邏輯單元
- 數(shù)據(jù)總線
- 控制邏輯
流水線根據(jù)設(shè)計(jì)可分為三種狀態(tài): 取指、譯碼、執(zhí)行。
4. 嵌套向量中斷控制器(NVIC)可以處理最多32個(gè)中斷請求和一個(gè)不可屏蔽中斷(NMI)輸入。
5. NVIC需要比較這個(gè)在執(zhí)行中斷和請求中斷的優(yōu)先級,,然后自動(dòng)執(zhí)行高優(yōu)先級的中斷。
6. 如果要處理一個(gè)中斷,NVIC會(huì)和處理器進(jìn)行通信,通知處理器執(zhí)行中斷處理程序。
7. 喚醒中斷控制器(WIC)為可選的單元,在低功耗應(yīng)用中,在關(guān)閉了處理器大部分模塊后,微控制器會(huì)進(jìn)入待機(jī)裝填,此時(shí),WIC可以在NVIC和處理器處于休眠的情況下,執(zhí)行中斷屏蔽功能。當(dāng)WIC檢測到一個(gè)中斷時(shí),會(huì)通知電源管理部分給系統(tǒng)商店,讓NVIC和處理器內(nèi)核執(zhí)行剩余的中斷處理。
8. 關(guān)于調(diào)試子系統(tǒng),當(dāng)調(diào)試事件發(fā)生時(shí),處理器內(nèi)核會(huì)被置于暫停狀態(tài),這是開發(fā)人員可以檢查當(dāng)前處理器的狀態(tài)。硬件調(diào)試工具有JTAG和SWD(串行線調(diào)試)。
ARM Cortex-M0 處理器的特性
系統(tǒng)特性
- thumb指令集,具有高效和高代碼密度
- 高性能,最高達(dá)到0.9DMIPS/MHz
- 內(nèi)置的嵌套向量中斷控制器(NVIC),中斷配置和異常處理容易
- 確定的中斷響應(yīng)事件,中斷等待事件可以被設(shè)定為固定值或最短事件(最小16個(gè)時(shí)鐘周期)
- 不可屏蔽中斷(NMI),對高可靠性系統(tǒng)非常重要
- 內(nèi)置的系統(tǒng)節(jié)拍定時(shí)器(systick)。24位定時(shí)器,可被操作系統(tǒng)使用,或者用作通用定時(shí)器,架構(gòu)中已經(jīng)包含專用的異常類型
- 請求管理調(diào)用,具有SVC異常和PendSV異常(可掛起的管理服務(wù)),支持嵌入式os的多種操作
- 架構(gòu)定義的休眠模式和進(jìn)入休眠的指令,休眠特性能大大降低能量的消耗。由于進(jìn)入休眠狀態(tài)需要使用特定的指令,而不是使用寄存器,架構(gòu)定義的休眠模式也提高了軟件的可移植性。
- 異常處理可以捕獲到系統(tǒng)中的多種錯(cuò)誤。
應(yīng)用特性
- 中斷數(shù)量可配置
- 支持大端或小端存儲(chǔ)器
- 可選擇的喚醒中斷控制器(WIC),處理器可以在休眠狀態(tài)下掉電以降低功耗,而WIC可以在中斷發(fā)生時(shí)喚醒系統(tǒng)
Cortex-M3
Cortex-M3是一個(gè)32位的核,在傳統(tǒng)的單片機(jī)領(lǐng)域中,有一些不同于通用32位CPU應(yīng)用的要求。在工控領(lǐng)域,用戶要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining
中斷技術(shù),完全基于硬件進(jìn)行
中斷處理,最多可減少12個(gè)
時(shí)鐘周期數(shù),在實(shí)際應(yīng)用中可減少70%中斷。
概述
Cortex-M3是一個(gè)32位處理器內(nèi)核。內(nèi)部的數(shù)據(jù)路徑是32位的,寄存器是32位的,存儲(chǔ)器接口也是32位的。CM3采用了哈佛結(jié)構(gòu),擁有獨(dú)立的指令總線和數(shù)據(jù)總線,可以讓取指與數(shù)據(jù)訪問并行不悖。這樣一來數(shù)據(jù)訪問不再占用指令總線,從而提升了性能。為實(shí)現(xiàn)這個(gè)特性,CM3內(nèi)部含有好幾條總線接口,每條都為自己的應(yīng)用場合優(yōu)化過,并且它們可以并行工作。但是另一方面,指令總線和數(shù)據(jù)總線共享同一個(gè)存儲(chǔ)器空間(一個(gè)統(tǒng)一的存儲(chǔ)器系統(tǒng))。換句話說,不是因?yàn)橛袃蓷l總線,可尋址空間就變成8GB了。
比較復(fù)雜的應(yīng)用可能需要更多的存儲(chǔ)系統(tǒng)功能,為此CM3提供一個(gè)可選的MPU,而且在需要的情況下也可以使用外部的cache。另外在CM3中,Both小端模式和大端模式都是支持的。
CM3內(nèi)部還附贈(zèng)了好多調(diào)試組件,用于在硬件水平上支持調(diào)試操作,如指令斷點(diǎn),數(shù)據(jù)觀察點(diǎn)等。另外,為支持更高級的調(diào)試,還有其它可選組件,包括指令跟蹤和多種類型的調(diào)試接口。
內(nèi)核架構(gòu)
ARMCortex-M3采用哈佛結(jié)構(gòu),并選擇了適合于微控制器應(yīng)用的三級流水線,但增加了分支預(yù)測功能。
現(xiàn)代處理器大多采用指令預(yù)取和流水線技術(shù),以提高處理器的指令執(zhí)行速度。流水線處理器在正常執(zhí)行指令時(shí),如果碰到分支(跳轉(zhuǎn))指令,由于指令執(zhí)行的順序可能會(huì)發(fā)生變化,指令預(yù)取隊(duì)列和流水線中的部分指令就可能作廢,而需要從新的地址重新取指、執(zhí)行,這樣就會(huì)使流水線“斷流”,處理器性能因此而受到影響。特別是現(xiàn)代C語言程序,經(jīng)編譯器優(yōu)化生成的目標(biāo)代碼中,分支指令所占的比例可達(dá)10-20%,對流水線處理器的影響會(huì)的更大。為此,現(xiàn)代高性能流水線處理器中一般都加入了分支預(yù)測部件,就是在處理器從存儲(chǔ)器預(yù)取指令時(shí),當(dāng)遇到分支(跳轉(zhuǎn))指令時(shí),能自動(dòng)預(yù)測跳轉(zhuǎn)是否會(huì)發(fā)生,再從預(yù)測的方向進(jìn)行取指,從而提供給流水線連續(xù)的指令流,流水線就可以不斷地執(zhí)行有效指令,保證了其性能的發(fā)揮。
ARMCortex-M3內(nèi)核的預(yù)取部件具有分支預(yù)測功能,可以預(yù)取分支目標(biāo)地址的指令,使分支延遲減少到一個(gè)時(shí)鐘周期。
針對業(yè)界對ARM處理器中斷響應(yīng)的問題,Cortex-M3首次在內(nèi)核上集成了嵌套向量中斷控制器(NVIC)。Cortex-M3的中斷延遲只有12個(gè)時(shí)鐘周期(ARM7需要24-42個(gè)周期);Cortex-M3還使用尾鏈技術(shù),使得背靠背(back-to-back)中斷的響應(yīng)只需要6個(gè)時(shí)鐘周期(ARM7需要大于30個(gè)周期)。Cortex-M3采用了基于棧的異常模式,使得芯片初始化的封裝更為簡單。
Cortex-M3加入了類似于8位處理器的內(nèi)核低功耗模式,支持3種功耗管理模式:通過一條指令立即睡眠;異常/中斷退出時(shí)睡眠;深度睡眠。使整個(gè)芯片的功耗控制更為有效。
特點(diǎn)
高性能
? 許多指令都是單周期的——包括乘法相關(guān)指令。并且從整體性能上,Cortex-M3比得過絕大多數(shù)其它的架構(gòu)。
? 指令總線和數(shù)據(jù)總線被分開,取值和訪內(nèi)可以并行不悖
? Thumb-2的到來告別了狀態(tài)切換的舊世代,再也不需要花時(shí)間來切換于32位ARM狀態(tài)和16位Thumb狀態(tài)之間了。這簡化了軟件開發(fā)和代碼維護(hù),使產(chǎn)品面市更快。
? Thumb-2指令集為編程帶來了更多的靈活性。許多數(shù)據(jù)操作現(xiàn)在能用更短的代碼搞定,這意味著Cortex-M3的代碼密度更高,也就對存儲(chǔ)器的需求更少。
? 取指都按32位處理。同一周期最多可以取出兩條指令,留下了更多的帶寬給數(shù)據(jù)傳輸。
? Cortex-M3的設(shè)計(jì)允許單片機(jī)高頻運(yùn)行(現(xiàn)代半導(dǎo)體制造技術(shù)能保證100MHz以上的速度)。即使在相同的速度下運(yùn)行,CM3的每指令周期數(shù)(CPI)也更低,于是同樣的MHz下可以做更多的工作;另一方面,也使同一個(gè)應(yīng)用在CM3上需要更低的主頻。
先進(jìn)的中斷處理功能
? 內(nèi)建的嵌套向量中斷控制器支持多達(dá)240條外部中斷輸入。向量化的中斷功能劇烈地縮短了中斷延遲,因?yàn)椴辉傩枰浖ヅ袛嘀袛嘣。中斷的嵌套也是在硬件水平上?shí)現(xiàn)的,不需要軟件代碼來實(shí)現(xiàn)。
? Cortex-M3在進(jìn)入異常服務(wù)例程時(shí),自動(dòng)壓棧了R0-R3, R12, LR, PSR和PC,并且在返回時(shí)自動(dòng)彈出它們,這多清爽!既加速了中斷的響應(yīng),也再不需要匯編語言代碼了。
? NVIC支持對每一路中斷設(shè)置不同的優(yōu)先級,使得中斷管理極富彈性。最粗線條的實(shí)現(xiàn)也至少要支持8級優(yōu)先級,而且還能動(dòng)態(tài)地被修改。
? 優(yōu)化中斷響應(yīng)還有兩招,它們分別是“咬尾中斷機(jī)制”和“晚到中斷機(jī)制”。
? 有些需要較多周期才能執(zhí)行完的指令,是可以被中斷-繼續(xù)的——就好比它們是一串指令一樣。這些指令包括加載多個(gè)寄存器(LDM),存儲(chǔ)多個(gè)寄存器(STM),多個(gè)寄存器參與的PUSH,以及多個(gè)寄存器參與的POP。
? 除非系統(tǒng)被徹底地鎖定,NMI(不可屏蔽中斷)會(huì)在收到請求的第一時(shí)間予以響應(yīng)。對于很多安全-關(guān)鍵(safety-critical)的應(yīng)用,NMI都是必不不可少的(如化學(xué)反應(yīng)即將失控時(shí)的緊急停機(jī))。
低功耗
? Cortex-M3需要的邏輯門數(shù)少,所以先天就適合低功耗要求的應(yīng)用(功率低于0.19mW/MHz)在內(nèi)核水平上支持節(jié)能模式(SLEEPING和SLEEPDEEP位)。通過使用“等待中斷指令(WFI)”和“等待事件指令(WFE)”,內(nèi)核可以進(jìn)入睡眠模式,并且以不同的方式喚醒。另外,模塊的時(shí)鐘是盡可能地分開供應(yīng)的,所以在睡眠時(shí)可以把CM3的大多數(shù)“官能團(tuán)”給停掉。
? CM3的設(shè)計(jì)是全靜態(tài)的、同步的、可綜合的。任何低功耗的或是標(biāo)準(zhǔn)的半導(dǎo)體工藝均可放心飲用。
系統(tǒng)特性
? 系統(tǒng)支持“位尋址帶”操作(8051位尋址機(jī)制的“威力大幅加強(qiáng)版”),字節(jié)不變的大端模式,并且支持非對齊的數(shù)據(jù)訪問。
? 擁有先進(jìn)的fault處理機(jī)制,支持多種類型的異常和faults,使故障診斷更容易。
? 通過引入banked堆棧指針機(jī)制,把系統(tǒng)程序使用的堆棧和用戶程序使用的堆棧劃清界線。如果再配上可選的MPU,處理器就能徹底滿足對軟件健壯性和可靠性有嚴(yán)格要求的應(yīng)用。
調(diào)試支持
? 在支持傳統(tǒng)的JTAG基礎(chǔ)上,還支持更新更好的串行線調(diào)試接口。
? 基于CoreSight調(diào)試解決方案,使得處理器哪怕是在運(yùn)行時(shí),也能訪問處理器狀態(tài)和存儲(chǔ)器內(nèi)容。
? 內(nèi)建了對多達(dá)6個(gè)斷點(diǎn)和4個(gè)數(shù)據(jù)觀察點(diǎn)的支持。
? 可以選配一個(gè)ETM,用于指令跟蹤。數(shù)據(jù)的跟蹤可以使用DWT
? 在調(diào)試方面還加入了以下的新特性,包括fault狀態(tài)寄存器,新的fault異常,以及閃存修補(bǔ) (patch)操作,使得調(diào)試大幅簡化。
? 可選ITM模塊,測試代碼可以通過它輸出調(diào)試信息,而且“拎包即可入住”般地方便使用。
編程模式
Cortex-M3處理器采用ARMv7-M架構(gòu),它包括所有的16位Thumb
指令集和基本的32位Thumb-2
指令集架構(gòu),Cortex-M3處理器不能執(zhí)行ARM指令集。
Thumb-2在Thumb
指令集架構(gòu)(ISA)上進(jìn)行了大量的改進(jìn),它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。
關(guān)于工作模式
Cortex-M3處理器支持2種工作模式:線程模式和處理模式。在復(fù)位時(shí)處理器進(jìn)入“線程模式”,異常返回時(shí)也會(huì)進(jìn)入該模式,特權(quán)和用戶(非特權(quán))模式代碼能夠在“線程模式”下運(yùn)行。
出現(xiàn)異常模式時(shí)處理器進(jìn)入“處理模式”,在處理模式下,所有代碼都是特權(quán)訪問的。
關(guān)于工作狀態(tài)
Cortex-M3處理器有2種工作狀態(tài)。
Thumb狀態(tài):這是16位和32位“
半字對齊”的Thumb和Thumb-2指令的執(zhí)行狀態(tài)。
調(diào)試狀態(tài):處理器停止并進(jìn)行調(diào)試,進(jìn)入該狀態(tài)。
Cortex-M4
基本簡介
ARMCortex™-M4處理器是由ARM專門開發(fā)的最新嵌入式處理器,在M3的基礎(chǔ)上強(qiáng)化了運(yùn)算能力,新加了浮點(diǎn)、DSP、并行計(jì)算等,用以滿足需要有效且易于使用的控制和信號處理功能混合的數(shù)字信號控制市場。其高效的信號處理功能與Cortex-M處理器系列的低功耗、低成本和易于使用的優(yōu)點(diǎn)的組合,旨在滿足專門面向電動(dòng)機(jī)控制、汽車、電源管理、嵌入式音頻和工業(yè)自動(dòng)化市場的新興類別的靈活解決方案。
特性
ARMCortex™-M4處理器內(nèi)核是在Cortex-M3內(nèi)核基礎(chǔ)上發(fā)展起來的,其性能比Cortex-M3提高了20%。新增加了浮點(diǎn)、DSP、并行計(jì)算等。用以滿足需要有效且易于使用的控制和信號處理功能混合的數(shù)字信號控制市場。其高效的信號處理功能與Cortex-M處理器系列的低功耗、低成本和易于使用的優(yōu)點(diǎn)相結(jié)合。
Cortex-M4提供了無可比擬的功能,將32位控制與領(lǐng)先的數(shù)字信號處理技術(shù)集成來滿足需要很高能效級別的市場。
Cortex-M4處理器采用一個(gè)擴(kuò)展的單時(shí)鐘周期乘法累加(MAC)單元、優(yōu)化的單指令多數(shù)據(jù)(SIMD)指令、飽和運(yùn)算指令和一個(gè)可選的單精度浮點(diǎn)單元(FPU)。這些功能以表現(xiàn)
ARMCortex-M系列處理器特征的創(chuàng)新技術(shù)為基礎(chǔ)。包括
·RISC處理器內(nèi)核,高性能32位CPU、具有確定性的運(yùn)算、低延遲3階段管道,可達(dá)1.25DMIPS/MHz;
·Thumb-2指令集,16/32位指令的最佳混合、小于8位設(shè)備3倍的代碼大小、對性能沒有負(fù)面影響,提供最佳的代碼密度;
·低功耗模式,集成的睡眠狀態(tài)支持、多電源域、基于架構(gòu)的軟件控制;
·嵌套矢量中斷控制器(NVIC),低延遲、低抖動(dòng)中斷響應(yīng)、不需要匯編編程、以純C語言編寫的中斷服務(wù)例程,能完成出色的中斷處理;
·工具和RTOS支持,廣泛的第三方工具支持、Cortex微控制器軟件接口標(biāo)準(zhǔn)(CMSIS)、最大限度地增加軟件成果重用;
·CoreSight調(diào)試和跟蹤,JTAG或2針串行線調(diào)試(SWD)連接、支持多處理器、支持實(shí)時(shí)跟蹤。
此外,該處理器還提供了一個(gè)可選的內(nèi)存保護(hù)單元(MPU),提供低成本的調(diào)試/追蹤功能和集成的休眠狀態(tài),以增加靈活性。嵌入式開發(fā)者將得以快速設(shè)計(jì)并推出令人矚目的終端產(chǎn)品,具備最多的功能以及最低的功耗和尺寸。
處理技術(shù)
Cortex-M4 處理器已設(shè)計(jì)為具有適用于數(shù)字信號控制市場的多種高效
信號處理功能。Cortex-M4 處理器采用擴(kuò)展的單周期乘法累加 (MAC) 指令、優(yōu)化的 SIMD 運(yùn)算、飽和運(yùn)算指令和一個(gè)可選的單精度浮點(diǎn)單元 (FPU)。這些功能以表現(xiàn) ARM Cortex-M 系列處理器特征的創(chuàng)新技術(shù)為基礎(chǔ)。
主要功能
從圖上可以看出三者功能上的異同點(diǎn)。它們的不同點(diǎn)也決定了三者的不同應(yīng)用場合。M4相比較前兩者主要的變化在于數(shù)字運(yùn)算能力上的增強(qiáng),增加了DSP運(yùn)算指令、SIMD(Single Instruction Multiple Data,單指令多數(shù)據(jù)流)指令集、FPU(浮點(diǎn)運(yùn)算單元,可選)。
從圖中足以看出M4內(nèi)核的強(qiáng)大,同時(shí)Cortex-M 系列處理器都是二進(jìn)制向上兼容的,這使得軟件重用以及從一個(gè) Cortex-M 處理器無縫發(fā)展到另一個(gè)成為可能(圖3):
下面就增強(qiáng)的三個(gè)功能進(jìn)行說明:
1、DSP指令集
所謂集成DSP功能并不是說M4內(nèi)核是一個(gè)M3+DSP的雙核處理器(目前個(gè)人知道的這類處理器是TI的達(dá)芬奇系列,主要應(yīng)用于語音、視頻圖像有關(guān)的數(shù)字多媒體領(lǐng)域)。而是只是增加了DSP功能的指令集(單周期的運(yùn)算指令),能在一個(gè)周期內(nèi)完成指令操作。在官方的CMSIS標(biāo)準(zhǔn)工程庫中已經(jīng)集成,可以直接使用(有關(guān)內(nèi)容在以后文章中介紹)。
圖表展示了處理器運(yùn)行在相同的速度下Cortex - M3和Cortex - M4在數(shù)字信號處理能力方面的相對性能比較。
在下面的數(shù)字,Y軸代表執(zhí)行給出的計(jì)算用的相對的周期數(shù)。 因此,循環(huán)數(shù)越小,性能越好。以Cortex - M3作為參考,Cortex - M4的性能計(jì)算,性能比大概為其周期計(jì)數(shù)的倒數(shù)。舉例說明,PID功能,Cortex - M4的周期數(shù)是與Cortex - M3的約0.7倍,因此相對性能是1/0.7,即1.4倍。
Cortex - M系列16位循環(huán)計(jì)數(shù)功能
Cortex - M系列32位循環(huán)計(jì)數(shù)功能
這很清楚的表明,Cortex - M4在數(shù)字信號處理方面對比Cortex - M3的16位或32位操作有著很大的優(yōu)勢。
Cortex-M4執(zhí)行的所有的DSP指令集都可以在一個(gè)周期完成,Cortex - M3需要多個(gè)指令和多個(gè)周期才能完成的等效功能。即使是PID算法——通用DSP運(yùn)算中最耗費(fèi)資源的工作,Cortex - M4也能提供了一個(gè)1.4倍的性能得改善 。另一個(gè)例子,MP3解碼在Cortex-M3需要20-25Mhz,而在Cortex-M4只需要10-12MHz。
2. 32位乘法累加(MAC)
32位乘法累加(MAC)包括新的指令集和針對Cortex - M4硬件執(zhí)行單元的優(yōu)化它是能夠在單周期內(nèi)完成一個(gè) 32 × 32 + 64 - > 64 的操作 或 兩個(gè)16 × 16 的操作。如下表列出了這個(gè)單元的計(jì)算能力。
3 .SIMD
(Single Instruction Multiple Data,單指令多數(shù)據(jù)流)能夠復(fù)制多個(gè)操作數(shù),并把它們打包在大型寄存器的一組指令集,例:3DNow!、SSE。以同步方式,在同一時(shí)間內(nèi)執(zhí)行同一條指令。
SIMD在性能上的優(yōu)勢:
以加法指令為例,單指令單數(shù)據(jù)(SISD)的CPU對加法指令譯碼后,執(zhí)行部件先訪問內(nèi)存,取得第一個(gè)操作數(shù);之后再一次訪問內(nèi)存,取得第二個(gè)操作數(shù);隨后才能進(jìn)行求和運(yùn)算。而在SIMD型的CPU中,指令譯碼后幾個(gè)執(zhí)行部件同時(shí)訪問內(nèi)存,一次性獲得所有操作數(shù)進(jìn)行運(yùn)算。這個(gè)特點(diǎn)使SIMD特別適合于多媒體應(yīng)用等數(shù)據(jù)密集型運(yùn)算。
如:AMD公司引以為豪的3D NOW! 技術(shù)實(shí)質(zhì)就是SIMD,這使K6-2、雷鳥、毒龍?zhí)幚砥髟谝纛l解碼、視頻回放、3D游戲等應(yīng)用中顯示出優(yōu)異的性能。
4.FPU
FPU是Cortex - M4浮點(diǎn)運(yùn)算的可選單元。因此它是一個(gè)專用于浮點(diǎn)任務(wù)的單元。這個(gè)單元通過硬件提升性能,能處理單精度浮點(diǎn)運(yùn)算,并與IEEE 754標(biāo)準(zhǔn) 兼容。這完成了ARMv7 - M架構(gòu)單精度變量的浮點(diǎn)擴(kuò)展。FPU擴(kuò)展了寄存器的程序模型與包含32個(gè)單精度寄存器的寄存器文件。這些可以被看作是:
·16個(gè)64位雙字寄存器,D0 - D15
·32個(gè)32位單字寄存器,S0 - S31 該FPU提供了三種模式運(yùn)作,以適應(yīng)各種應(yīng)用
·全兼容模式(在全兼容模式,F(xiàn)PU處理所有的操作都遵循IEEE754的硬件標(biāo)準(zhǔn))
·Flush-to-zero
沖洗到零模式(設(shè)置FZ位浮點(diǎn)狀態(tài)和控制寄存器FPSCR [24]到flush-to-zero 模式。在此模式下,F(xiàn)PU 在運(yùn)算中將所有不正常的輸入操作數(shù)的算術(shù)CDP操作當(dāng)做0.除了當(dāng)從零操作數(shù)的結(jié)果是合適的情況。VABS,VNEG,VMOV 不會(huì)被當(dāng)做算術(shù)CDP的運(yùn)算,而且不受flush-to-zero 模式影響。結(jié)果是微小的,就像在IEEE 754 標(biāo)準(zhǔn)的描述的那樣,在目標(biāo)精度增加的幅度小于四舍五入后最低正常值,被零取代。IDC的標(biāo)志位,F(xiàn)PSCR [7],表示當(dāng)輸入Flush時(shí)變化。UFC標(biāo)志位,F(xiàn)PSCR [3],表示當(dāng)Flush結(jié)束時(shí)變化)
·默認(rèn)的NaN模式(DN位的設(shè)置,F(xiàn)PSCR [25],會(huì)進(jìn)入NaN的默認(rèn)模式。在這種模式下,如對任何算術(shù)數(shù)據(jù)處理操作的結(jié)果,涉及一個(gè)輸入NaN,或產(chǎn)生一個(gè)NaN結(jié)果,會(huì)返回默認(rèn)的NaN。僅當(dāng)VABS,VNEG,VMOV運(yùn)算時(shí),分?jǐn)?shù)位增加保持。所有其他的CDP運(yùn)算會(huì)忽略所有輸入NaN的小數(shù)位的信息)。具體指令請自行查看手冊。
Cortex-M功能模塊差異
由于CM1主要是用在FPGA產(chǎn)品中,故下面對比忽略CM1。我們知道CM處理器是向下兼容的,故CM功能模塊是隨著版本的升級而逐步增加的,我們逐步從最低版本開始對比。
2.1 CM0 vs CM0+
先來聊聊CM0與CM0+,從最基準(zhǔn)的CM0模塊看起:
- ARMv6-M CPU內(nèi)核:ARM公司于2007年推出的內(nèi)核。馮·諾依曼體系結(jié)構(gòu),3級流水線,支持大部分Thumb和小部分Thumb-2指令集,所有指令一共57條。此外還內(nèi)嵌32-bit返回結(jié)果的硬件乘法器。
- NVIC嵌套向量中斷控制器:用于CPU在正常Run模式下中斷管理。最大支持32個(gè)外部中斷,外部中斷可設(shè)4級搶占優(yōu)先級(2bit)。
- WIC喚醒中斷控制器:用于CPU在低功耗Sleep模式下中斷管理。
- AHB-Lite總線:一條32bit
AMBA-3標(biāo)準(zhǔn)的高性能system總線負(fù)責(zé)所有Flash、SRAM中指令和數(shù)據(jù)存取。
- 調(diào)試模塊:0-4個(gè)硬件斷點(diǎn)Breakpoint,0-2個(gè)數(shù)據(jù)監(jiān)測點(diǎn)Watchpoint。
- DAP調(diào)試接口:通過DAP模塊支持JTAG和SWD接口。
那么CM0+到底改進(jìn)了什么?
- ARMv6-M CPU內(nèi)核:流水線改為2級(很多8bit MCU都是2級流水線,主要用于降低功耗)
- NVIC嵌套向量中斷控制器:增加了VTOR即中斷重定向功能。
那么CM0+到底增加了什么?
- MPU存儲(chǔ)器保護(hù)單元:提供硬件方式管理和保護(hù)內(nèi)存,控制訪問權(quán)限,最大可將內(nèi)存分為8*8個(gè)region。內(nèi)存越權(quán)訪問,將返回MemManage
Fault。
- MTB片上跟蹤單元:用戶體驗(yàn)更好的的跟蹤調(diào)試,優(yōu)化的異常捕獲機(jī)制,可以更快地定位bug。
- Fast I/O:可單周期訪問的快速I/O口,更易于Bit-banging(比如GPIO模擬SPI、IIC協(xié)議)。
2.2 CM0+ vs CM3
前面比較完了CM0與CM0+,再來看看CM3比CM0+增強(qiáng)在了哪里:
那么CM3到底改進(jìn)了什么?
- ARMv7-M CPU內(nèi)核:ARM公司于2004年推出的內(nèi)核。哈佛體系結(jié)構(gòu),3級流水線+分支預(yù)測,支持全部的Thumb和Thumb-2指令集。內(nèi)嵌32-bit硬件乘法器可返回64-bit運(yùn)算結(jié)果,且新增32-bit硬件除法器。
- NVIC嵌套向量中斷控制器:最大支持240個(gè)外部中斷,中斷優(yōu)先級可分組(搶占優(yōu)先級、響應(yīng)優(yōu)先級),8bit優(yōu)先級設(shè)置(最大128級搶占優(yōu)先級(對應(yīng)最小2級響應(yīng)優(yōu)先級),最大256級響應(yīng)優(yōu)先級(對應(yīng)無搶占優(yōu)先級))。
- 3x AHB-Lite總線:除了原system總線負(fù)責(zé)SRAM存取外,還新增兩條ICode、DCode總線分別完成Flash上指令和數(shù)據(jù)存取。
- 調(diào)試模塊:0-8個(gè)硬件斷點(diǎn)Breakpoint,0-4個(gè)數(shù)據(jù)監(jiān)測點(diǎn)Watchpoint。
- ITM/ETM跟蹤單元:ITM更好地支持printf風(fēng)格debug,ETM提供實(shí)時(shí)指令和數(shù)據(jù)跟蹤。
那么CM3到底增加了什么?
額,CM3相比CM0+并沒有增加什么獨(dú)有模塊,反倒是少了Fast I/O Port,實(shí)際上Fast I/O Port是CM家族里CM0+所獨(dú)有的模塊。
2.3 CM3 vs CM4
前面比較完了CM0+與CM3,再來看看CM4比CM3增強(qiáng)在了哪里:
那么CM4到底改進(jìn)了什么?
- ARMv7E-M CPU內(nèi)核:增加了DSP相關(guān)指令支持。
那么CM4到底增加了什么?
- DSP數(shù)字信號處理單元:新增支持單周期16/32-bit MAC、dual 16-bit
MAC, 8/16-bit SIMD算法的數(shù)字信號處理單元。
- FPU浮點(diǎn)運(yùn)算單元:新增單精度(float型)兼容IEEE-754標(biāo)準(zhǔn)的浮點(diǎn)運(yùn)算單元(VFPv4-SP)。
2.4 CM4 vs CM7
前面比較完了CM3與CM4,再來看看CM7比CM4增強(qiáng)在了哪里:
那么CM7到底改進(jìn)了什么?
- ARMv7E-M CPU內(nèi)核:6級流水線+分支預(yù)測。
- 2x AHB-Lite總線:精簡為2條AHB總線,其中AHB-P外設(shè)接口完成原來system總線功能, AHB-S從屬接口負(fù)責(zé)外部總線控制器(如DMA)功能以及與TCM接口功能。
- MPU存儲(chǔ)器保護(hù)單元:最大可將內(nèi)存分為16*8個(gè)region。
- FPU浮點(diǎn)運(yùn)算單元:新增雙精度(double型)兼容IEEE-754標(biāo)準(zhǔn)的浮點(diǎn)運(yùn)算單元(VFPv5)。
-
那么CM7到底增加了什么?
- I/D-Cache緩存區(qū):即是我們通常理解的L1
Cache,每個(gè)Cache大小為4-64KB。
- I/D-TCM緊密耦合存儲(chǔ)器:緊密的與處理器內(nèi)核相耦合的RAM,提供與Cache相當(dāng)?shù)男阅,但比Cache更具確定性,memory最大均為16MB。
- ECC特性:對L1
Cache提供錯(cuò)誤校正和恢復(fù)功能,提高系統(tǒng)的可靠性。
- AXI-M總線:基于AMBA
4的64bit AXI總線,用于支持掛在系統(tǒng)上的L2
memory。
- 最近在關(guān)注Cortex-M處理器,針對目前進(jìn)入大眾視野的M0、M3、M4做了如下簡單對比,內(nèi)容來自ARM等官網(wǎng),這里僅僅是整理了下,看起來更直觀點(diǎn),呵呵。
-
- Cortex-M 系列針對成本和功耗敏感的 MCU 和終端應(yīng)用(如智能測量、人機(jī)接口設(shè)備、汽車和工業(yè)控制系統(tǒng)、大型家用電器、消費(fèi)性產(chǎn)品和醫(yī)療器械)的混合信號設(shè)備進(jìn)行過優(yōu)化。.
- 一、比較Cortex-M 處理器
- Cortex-M 系列處理器都是二進(jìn)制向上兼容的,這使得軟件重用以及從一個(gè) Cortex-M 處理器無縫發(fā)展到另一個(gè)成為可能。
- M Cortex-M 技術(shù)
- CMSIS
- ARM Cortex 微控制器軟件接口標(biāo)準(zhǔn) (CMSIS)是 Cortex-M 處理器系列的與供應(yīng)商無關(guān)的硬件抽象層。 使用 CMSIS,可以為接口外設(shè)、實(shí)時(shí)操作系統(tǒng)和中間件實(shí)現(xiàn)一致且簡單的軟件接口,從而簡化軟件的重用、縮短新微控制器開發(fā)人員的學(xué)習(xí)過程,并縮短新產(chǎn)品的上市時(shí)間。
- 深入:嵌套矢量中斷控制器 (NVIC)
- NVIC 是 Cortex-M 處理器不可或缺的部分,它為處理器提供了卓越的中斷處理能力。
- Cortex-M 處理器使用一個(gè)矢量表,其中包含要為特定中斷處理程序執(zhí)行的函數(shù)的地址。接受中斷時(shí),處理器會(huì)從該矢量表中提取地址。
- 為了減少門數(shù)并增強(qiáng)系統(tǒng)靈活性,Cortex-M 處理器使用一個(gè)基于堆棧的異常模型。出現(xiàn)異常時(shí),系統(tǒng)會(huì)將關(guān)鍵通用寄存器推送到堆棧上。完成入棧和指令提取后,將執(zhí)行中斷服務(wù)例程或故障處理程序,然后自動(dòng)還原寄存器以使中斷的程序恢復(fù)正常執(zhí)行。使用此方法,便無需編寫匯編器包裝器了(而這是對基于 C 語言的傳統(tǒng)中斷服務(wù)例程執(zhí)行堆棧操作所必需的),從而使得應(yīng)用程序的開發(fā)變得非常容易。NVIC支持中斷嵌套(入棧),從而允許通過運(yùn)用較高的優(yōu)先級來較早地為某個(gè)中斷提供服務(wù)。
- 在硬件中完成對中斷的響應(yīng)
- Cortex-M 系列處理器的中斷響應(yīng)是從發(fā)出中斷信號到執(zhí)行中斷服務(wù)例程的周期數(shù)。它包括:
- 檢測中斷
- 背對背或遲到中斷的最佳處理(參見下文)
- 提取矢量地址
- 將易損壞的寄存器入棧
- 跳轉(zhuǎn)到中斷處理程序
- 這些任務(wù)在硬件中執(zhí)行,并且包含在為 Cortex-M 處理器報(bào)出的中斷響應(yīng)周期時(shí)間中。在其他許多體系結(jié)構(gòu)中,這些任務(wù)必須在軟件的中斷處理程序中執(zhí)行,從而引起延遲并使得過程十分復(fù)雜。
-
- NVIC 中的尾鏈
- 在背對背中斷的情況下,傳統(tǒng)系統(tǒng)會(huì)重復(fù)完整的狀態(tài)保存和還原周期兩次,從而導(dǎo)致更高的延遲。Cortex-M處理器通過在 NVIC
硬件中實(shí)現(xiàn)尾鏈技術(shù)簡化了活動(dòng)中斷和掛起的中斷之間的轉(zhuǎn)換。處理器狀態(tài)會(huì)在比軟件實(shí)現(xiàn)時(shí)間更少的周期內(nèi)自動(dòng)保存在中斷條目上并在中斷退出時(shí)還原,從而顯著提升低 MHz 系統(tǒng)的性能。
-
- NVIC 對遲到的較高優(yōu)先級中斷的響應(yīng)
- 如果在為上一個(gè)中斷執(zhí)行堆棧推送期間較高優(yōu)先級的中斷遲到,NVIC 會(huì)立即提取新的矢量地址來為掛起的中斷提供服務(wù),如上所示。Cortex-M
NVIC 對這些可能性提供具有確定性的響應(yīng)并支持遲到和搶占。
-
- NVIC 進(jìn)行的堆棧彈出搶占
- 同樣,如果異常到達(dá),NVIC 將放棄堆棧彈出并立即為新的中斷提供服務(wù),如上所示。通過搶占并切換到第二個(gè)中斷而不完成狀態(tài)還原和保存,NVIC 以具有確定性的方式實(shí)現(xiàn)了縮短延遲。
再來說說ARM7,ARM9系列,
ARM9
ARM9系列處理器是英國ARM公司設(shè)計(jì)的主流嵌入式處理器,主要包括ARM9TDMI和ARM9E-S等系列。
基本概述
ARM9采用哈佛體系結(jié)構(gòu),指令和數(shù)據(jù)分屬不同的總線,可以并行處理。在流水線上,ARM7是三級流水線,ARM9是五級流水線。由于結(jié)構(gòu)不同,ARM7的執(zhí)行效率低于ARM9。平時(shí)所說的ARM7、ARM9實(shí)際上指的是ARM7TDMI、ARM9TDMI軟核,這種處理器軟核并不帶有MMU和cache,不能夠運(yùn)行諸如linux這樣的嵌入式操作系統(tǒng)。而ARM公司對這種架構(gòu)進(jìn)行了擴(kuò)展,所以有了ARM710T、ARM720T、ARM920T、ARM922T等帶有MMU和cache的處理器內(nèi)核。
主要特性編輯
融合了ARM920T™ ARM® Thumb® 處理器
– 工作于180 MHz時(shí)性能高達(dá)200 MIPS,存儲(chǔ)器管理單元
– 16-K 字節(jié)的數(shù)據(jù)緩存,16-K字節(jié)的指令緩存,寫緩沖器
– 含有調(diào)試信道的內(nèi)部仿真器
– 中等規(guī)模的嵌入式宏單元結(jié)構(gòu)( 僅針對256 BGA 封裝)
· 低功耗:VDDCORE電流為30.4 mA 待機(jī)模式電流為3.1 mA
· 附加的嵌入式存儲(chǔ)器
– SRAM為16K ;ROM為128K
· 外部總線接口(EBI)
– 支持SDRAM,靜態(tài)存儲(chǔ)器, Burst Flash,無縫連接的CompactFlash®,
SmartMedia™及NAND Flash
· 提高性能而使用的系統(tǒng)外設(shè):
– 增強(qiáng)的時(shí)鐘發(fā)生器與電源管理控制器
– 兩個(gè)有雙PLL的片上振蕩器
– 低速的時(shí)鐘操作模式與軟件功耗優(yōu)化能力
– 四個(gè)可編程的外部時(shí)鐘信號
– 包括周期性中斷、看門狗及第二計(jì)數(shù)器的系統(tǒng)定時(shí)器
– 有報(bào)警中斷的實(shí)時(shí)時(shí)鐘
– 調(diào)試單元、兩線UART并支持調(diào)試信道
– 有8 個(gè)優(yōu)先級的高級中斷控制器,獨(dú)立的可屏蔽中斷源,偽中斷保護(hù)
– 7個(gè)外部中斷源及1 個(gè)快速中斷源
– 有122個(gè)可編程I/O口線的四個(gè)32 位PIO控制器,各線均有輸入變化中斷及開漏能力
– 20通道的外設(shè)數(shù)據(jù)控制器(DMA)
· 10/100 Base-T 型以太網(wǎng)卡接口
– 獨(dú)立的媒體接口(MII)或簡化的獨(dú)立媒體接口(RMII)
– 對于接收與發(fā)送有集成的28 字節(jié)FIFO及專用的DMA 通道
· USB 2.0 全速(12 M比特/秒) 主機(jī)雙端口
– 雙片上收發(fā)器(208引腳PQFP封裝中僅為一個(gè))
– 集成的FIFO及專用的DMA 通道
· USB 2.0 全速(12 M比特/秒) 器件端口
– 片上收發(fā)器, 2-K字節(jié)可配置的集成FIFO
· 多媒體卡接口(MCI)
– 自動(dòng)協(xié)議控制及快速自動(dòng)數(shù)據(jù)傳輸
– 與MMC及SD存儲(chǔ)器卡兼容,支持兩個(gè)SD存儲(chǔ)器
· 3個(gè)同步串行控制器(SSC)
– 每個(gè)接收器與發(fā)送器有獨(dú)立的時(shí)鐘及幀同步信號
– 支持I2S模擬接口,時(shí)分復(fù)用
– 32比特的高速數(shù)據(jù)流傳輸能力
· 4個(gè)通用同步/異步接收/發(fā)送器(USART)
– 支持ISO7816 T0/T1 智能卡
– 硬軟件握手
– 支持RS485 及高達(dá)115 Kbps的IrDA 總線
– USART1為全調(diào)制解調(diào)控制線
· 主機(jī)/從機(jī)串行外設(shè)接口(SPI)
– 8~ 16 位可編程數(shù)據(jù)長度,可連接4個(gè)外設(shè)
· 兩個(gè) 3 通道16 位定時(shí)/計(jì)數(shù)器(TC)
– 3個(gè)外部時(shí)鐘輸入,每條通道有2 個(gè)多功能I/O引腳
– 雙PWM 產(chǎn)生器,捕獲/波形模式,上加/下減計(jì)數(shù)能力
· 兩線接口(TWI)
– 主機(jī)模式支持,所有兩線Atmel EEPROM 支持
· 所有數(shù)字引腳的IEEE 1149.1 JTAG邊界掃描
· 電源供應(yīng)
– VDDCORE,VDDOSC及VDDPLL電壓為:1.65V ~1.95V
– VDDIOP (外設(shè)I/O) 及VDDIOM (存儲(chǔ)器I/O)電壓為:1.65V~ 3.6V
體系特點(diǎn)
結(jié)構(gòu)特點(diǎn)
以ARM9E-S為例介紹ARM9處理器的主要結(jié)構(gòu)及其特點(diǎn)。ARM9E-S的結(jié)構(gòu)如圖4所示。其主要特點(diǎn)如下:
⑴32bit定點(diǎn)RISC處理器,改進(jìn)型ARM/Thumb代碼交織,增強(qiáng)性乘法器設(shè)計(jì)。支持實(shí)時(shí)(real-time)調(diào)試;
⑵片內(nèi)指令和數(shù)據(jù)SRAM,而且指令和數(shù)據(jù)的
存儲(chǔ)器容量可調(diào);
⑶片內(nèi)指令和數(shù)據(jù)高速緩沖器(cache)容量從4K字節(jié)到1M字節(jié);
⑷設(shè)置保護(hù)單元(protection unit),非常適合
嵌入式應(yīng)用中對
存儲(chǔ)器進(jìn)行分段和保護(hù);
⑺支持標(biāo)準(zhǔn)基本
邏輯單元掃描測試方法學(xué),而且支持BIST(built-in-self-test);
⑻支持
嵌入式跟蹤
宏單元,支持實(shí)時(shí)跟蹤指令和數(shù)據(jù)。
ARM920T運(yùn)行模式
ARM920T支持7種運(yùn)行模式,分別為:
(1)用戶模式(usr),
ARM處理器正常的程序執(zhí)行狀態(tài);
(2)快速中斷模式 (fiq),
用于高速數(shù)據(jù)傳輸或通道處理;
(3)外部中斷模式(irq),
用于通用的中斷處理;
(4)管理模式(svc),
操作系統(tǒng)使用的保護(hù)模式;
(5)數(shù)據(jù)訪問終止模式(abt),
當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù);
(6)系統(tǒng)模式(sys),
運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù);
(7)未定義指令中止模式(und)
當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。
ARM微處理器的運(yùn)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問的。除用戶模式以外,其余的6種模式稱為特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及訪問受保護(hù)的系統(tǒng)資源等情況。
ARM920T的工作狀態(tài)
從編程的角度看,ARM920T微處理器的工作狀態(tài)一般有兩種:
(1)ARM狀態(tài),此時(shí)處理器執(zhí)行32位的、字對齊的ARM指令;
(2)Thumb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對齊的Thumb指令。
ARM指令集和Thumb指令集均有切換處理器狀態(tài)的指令,在程序的執(zhí)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器的工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。但ARM微處理器在開始執(zhí)行代碼時(shí),應(yīng)該處于ARM
狀態(tài)。
當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時(shí),可以采用執(zhí)行BX指令的方法,使微處理器從
ARM狀態(tài)切換到Thumb狀態(tài)。此外,當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef、Abort、SWI等),當(dāng)異常處理返回時(shí),自動(dòng)切換回Thumb狀態(tài)。當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,在處理器進(jìn)行異常處理時(shí),將PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。
ARM920T體系結(jié)構(gòu)的存儲(chǔ)器格式
ARM920T體系結(jié)構(gòu)將存儲(chǔ)器看做是從零地址開始的字節(jié)的線性組合。從0字節(jié)到3字節(jié)放置第1個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),從第4個(gè)字節(jié)到第7個(gè)字節(jié)放置第2個(gè)存儲(chǔ)的字?jǐn)?shù)據(jù),依次排列。作為32位的微處理器,ARM92OT體系結(jié)構(gòu)所支持的最大尋址空間為4GB。
ARM92OT體系結(jié)構(gòu)可以用兩種方法存儲(chǔ)字?jǐn)?shù)據(jù),分別稱為大端格式和小端格式。大端格式中字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低地址中,而字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中
以大端格式存儲(chǔ)數(shù)據(jù)
以小端格式存儲(chǔ)數(shù)據(jù)
指令
⒈loads 指令與n stores指令
指令周期數(shù)的改進(jìn)最明顯的是loads指令和stores指令。從ARM7到ARM9這兩條指令的執(zhí)行時(shí)間減少了30%。
指令周期的減少是由于ARM7和ARM9兩種處理器內(nèi)的兩個(gè)基本的微處理結(jié)構(gòu)不同所造成的。
⑴ARM9有獨(dú)立的指令和數(shù)據(jù)
存儲(chǔ)器接口,允許處理器同時(shí)進(jìn)行取指和讀寫數(shù)據(jù)。這叫作改進(jìn)型
哈佛結(jié)構(gòu)。而ARM7只有數(shù)據(jù)
存儲(chǔ)器接口,它同時(shí)用來取指令和數(shù)據(jù)訪問。
⑵5級流水線引入了獨(dú)立的
存儲(chǔ)器和寫回流水線,分別用來訪問存儲(chǔ)器和將結(jié)果寫回
寄存器。
以上兩點(diǎn)實(shí)現(xiàn)了一個(gè)周期完成loads指令和stores指令。
⒉互鎖(interlocks)技術(shù)
當(dāng)指令需要的數(shù)據(jù)因?yàn)橐郧暗闹噶顩]有執(zhí)行完而沒有準(zhǔn)備好就會(huì)產(chǎn)生管道互鎖。當(dāng)管道互鎖發(fā)生時(shí),硬件會(huì)停止這個(gè)指令的執(zhí)行,直到數(shù)據(jù)準(zhǔn)備好為止。雖然這種技術(shù)會(huì)增加代碼執(zhí)行時(shí)間,但是為初期的設(shè)計(jì)者提供了巨大的方便。編譯器以及匯編程序員可以通過重新設(shè)計(jì)代碼的順序或者其他方法來減少管道互鎖的數(shù)量。
⒊分枝指令
ARM9和ARM7的分枝
指令周期是相同的。而且ARM9TDMI和ARM9E-S并沒有對分枝指令進(jìn)行預(yù)測處理。
處理能力
新一代的ARM9處理器,通過全新的設(shè)計(jì),采用了更多的晶體管,能夠達(dá)到兩倍以上于ARM7處理器的處理能力。這種處理能力的提高是通過增加
時(shí)鐘頻率和減少指令執(zhí)行周期實(shí)現(xiàn)的。
ARM7處理器采用3級流水線,而ARM9采用5級流水線。增加的流水線設(shè)計(jì)提高了
時(shí)鐘頻率和
并行處理能力。5級流水線能夠?qū)⒚恳粋(gè)指令處理分配到5個(gè)
時(shí)鐘周期內(nèi),在每一個(gè)時(shí)鐘周期內(nèi)同時(shí)有5個(gè)指令在執(zhí)行。在同樣的加工工藝下,ARM9TDMI處理器的時(shí)鐘頻率是ARM7TDMI的1.8~2.2倍。
指令周期的改進(jìn)對于處理器性能的提高有很大的幫助。性能提高的幅度依賴于代碼執(zhí)行時(shí)指令的重疊,這實(shí)際上是程序本身的問題。對于采用最高級的語言,一般來說,性能的提高在30%左右。
-
Cortex-A 系列處理器
Cortex-A 系列處理器是一系列處理器,支持ARM32或64位指令集,向后完全
兼容早期的ARM處理器,包括從1995年發(fā)布的ARM7TDMI處理器到2002年發(fā)布的ARMll處理器系列。
簡介
32位RISCCPU開發(fā)領(lǐng)域中不斷取得
突破,其設(shè)計(jì)的微處理器結(jié)構(gòu)已經(jīng)從v3發(fā)展到現(xiàn)在的v7。Cortex系列處理器是基于ARMv7架構(gòu)的,分為Cortex-M、Cortex-R和Cortex-A三類。由于應(yīng)用領(lǐng)域的不同,基于v7架構(gòu)的Cortex處理器系列所采用的技術(shù)也不相同;趘7A的稱為“Cortex-A系列。高性能的
Cortex-A15、可伸縮的
Cortex-A9、經(jīng)過市場驗(yàn)證的
Cortex-A8處理器以及高效的
Cortex-A7和
Cortex-A5處理器均共享同一體系結(jié)構(gòu),因此具有完整的應(yīng)用兼容性,支持傳統(tǒng)的ARM、
Thumb指令集和新增的高性能緊湊型Thumb-2指令集。
Cortex-A15和Cortex-A7都支持ARMv7A體系結(jié)構(gòu)的擴(kuò)展,從而為大型物理地址訪問和硬件虛擬化以及啟用big.LITTLE處理的AMBA4ACE一致性提供支持。
ARMv7包括3個(gè)關(guān)鍵要素:NEON單指令多數(shù)據(jù)(SIMD)單元、ARMtrustZone安全擴(kuò)展、以及thumb2指令集,通過16位和32位混合長度指令以減小代碼長度。
高性能
Cortex-A 設(shè)備可為其目標(biāo)應(yīng)用領(lǐng)域提供各種可伸縮的能效性能點(diǎn)。一些說明示例如下:
Cortex-A15 ,可為新一代移動(dòng)基礎(chǔ)結(jié)構(gòu)應(yīng)用和要求苛刻的無線基礎(chǔ)結(jié)構(gòu)應(yīng)用提供性能最高的解決方案
Cortex-A7,可采用獨(dú)立、多核配置實(shí)現(xiàn),提供 800 MHz - 1.2 GHz 的典型頻率,也可以與 Cortex-A15 結(jié)合用于 big.LITTLE 處理
Cortex-A9 實(shí)現(xiàn),可提供 800 MHz - 2 GHz 的標(biāo)準(zhǔn)頻率,每個(gè)內(nèi)核可提供 5000 DMIPS 的性能
Cortex-A8 單核解決方案,可提供經(jīng)濟(jì)有效的高性能,在 600 MHz - 1 GHz 的頻率下,提供的性能超過 2000 DMIPS
Cortex-A5 低成本實(shí)現(xiàn),在 400- 800 MHz 的頻率下,提供的性能超過 1200 DMIPS。
多核技術(shù)
Cortex-A5、[1] Cortex-A7、Cortex-A9 和 Cortex-A15 處理器都支持 ARM 的第二代多核技術(shù)
單核到四核實(shí)現(xiàn),支持面向性能的應(yīng)用領(lǐng)域 支持對稱和非對稱的操作系統(tǒng)實(shí)現(xiàn) 通過加速器一致性端口 (ACP) 在導(dǎo)出到系統(tǒng)的整個(gè)處理器中保持一致性 Cortex-A7 和 Cortex-A15 將多核一致性擴(kuò)展至 AMBA4 ACE 的 1~4 核群集以上(AMBA 一致性擴(kuò)展)
高級擴(kuò)展
除了具有與上一代經(jīng)典 ARM 和 Thumb® 體系結(jié)構(gòu)的二進(jìn)制兼容性外,Cortex-A 類處理器還通過以下技術(shù)擴(kuò)展提供了更多優(yōu)勢
Thumb-2,提供最佳代碼大小和性能
TrustZone 安全擴(kuò)展,提供可信計(jì)算
Jazelle 技術(shù),提高執(zhí)行環(huán)境(如 Java、.Net、MSIL、Python 和 Perl)速度。
產(chǎn)品應(yīng)用
ARM公司的Cortex-A系列處理器適用于具有高計(jì)算要求、運(yùn)行豐富操作系統(tǒng)以及提供交互媒體和圖形體驗(yàn)的應(yīng)用領(lǐng)域。從最新技術(shù)的移動(dòng)Internet必備設(shè)備(如手機(jī)和超便攜的上網(wǎng)本或智能本)到汽車信息娛樂系統(tǒng)和下一代數(shù)字電視系統(tǒng)。也可以用于其他移動(dòng)便攜式設(shè)備,還可以用于數(shù)字電視、機(jī)頂盒、企業(yè)網(wǎng)絡(luò)、打印機(jī)和服務(wù)器解決方案。這一系列的處理器具有高效低耗等特點(diǎn),比較適合配置于各種移動(dòng)平臺(tái)。
雖然Cortex-A處理器正朝著提供完全的Internet體驗(yàn)的方向發(fā)展,但其應(yīng)用也很廣泛,包括:
產(chǎn)品類型
|
應(yīng)用
|
|
上網(wǎng)本、智能本、輸入板、電子書閱讀器、瘦客戶端
|
手機(jī)
|
智能手機(jī)、特色手機(jī)
|
數(shù)字家電
|
|
汽車
|
信息娛樂、導(dǎo)航
|
企業(yè)
|
激光打印機(jī)、 路由器、無線基站、VOIP 電話和設(shè)備
|
無線基礎(chǔ)結(jié)構(gòu)
|
Web 2.0、無線基站、交換機(jī)、服務(wù)器
|
ARM Cortex™-A5 處理器是能效最高、成本最低的處理器,能夠向最廣泛的設(shè)備提供 Internet 訪問:從入門級智能手機(jī)、低成本手機(jī)和智能移動(dòng)終端到普遍采用的嵌入式、消費(fèi)類和工業(yè)設(shè)備。
Cortex-A5 處理器可為現(xiàn)有 ARM926EJ-S™ 和 ARM1176JZ-S™ 處理器設(shè)計(jì)提供很有價(jià)值的遷移途徑。它可以獲得比 ARM1176JZ-S 更好的性能,比 ARM926EJ-S 更好的功效和能效以及 100% 的 Cortex-A 兼容性。
這些處理器向特別注重功耗和成本的應(yīng)用程序提供高端功能,其中包括:
多重處理功能,可以獲得可伸縮、高能效性能
高性能內(nèi)存系統(tǒng),包括高速緩存和內(nèi)存管理單元
Cortex-A7 處理器
ARM Cortex™-A7 MPCore™ 處理器是 ARM 迄今為止開發(fā)的最有效的應(yīng)用處理器,它顯著擴(kuò)展了 ARM 在未來入門級智能手機(jī)、平板電腦以及其他高級移動(dòng)設(shè)備方面的低功耗領(lǐng)先地位。
Cortex-A7 處理器的體系結(jié)構(gòu)和功能集與 Cortex-A15 處理器完全相同,不同這處在于,Cortex-A7 處理器的微體系結(jié)構(gòu)側(cè)重于提供最佳能效,因此這兩種處理器可在
big.LITTLE配置中協(xié)同工作,軟件可以在高能效 Cortex-A7 處理器上運(yùn)行 也可以在需要時(shí)在高性能 Cortex-A15 處理器上運(yùn)行 無需重新編譯,[2]
從而提供高性能與超低功耗的終極組合。
作為獨(dú)立處理器,單個(gè) Cortex-A7 處理器的能源效率是 ARM Cortex-A8 處理器(支持如今的許多最流行智能手機(jī))的 5 倍,性能提升 50%,而尺寸僅為后者的五分之一。
Cortex-A7 可以使 2013-2014 年期間低于 100 美元價(jià)格點(diǎn)的入門級智能手機(jī)與 2010 年 500 美元的高端智能手機(jī)相媲美。這些入門級智能手機(jī)在發(fā)展中世界將重新定義連接和 Internet 使用。
該處理器與其他 Cortex-A 系列處理器完全兼容并整合了高性能 Cortex-A15 處理器的所有功能,包括虛擬化、大物理地址擴(kuò)展 (LPAE) NEON 高級 SIMD 和 AMBA 4 ACE 一致性。
最佳的功效和占用空間,可作為獨(dú)立的應(yīng)用處理器 性能高于 2011 年主流智能手機(jī) CPU 性能提升高達(dá) 20% 而功耗降低 60%AMBA 4 ACE 一致性接口支持大小 CPU 群集之間 20us 以下的上下文遷移
ARMCortex-A8處理器是一款適用于復(fù)雜操作系統(tǒng)及用戶應(yīng)用的應(yīng)用處理器,其結(jié)構(gòu)如圖所示。支持智能能源管理(IEM,IntelligentEnergyManger)技術(shù)的ARMArtisan庫以及先進(jìn)的泄漏控制技術(shù),使得Cortex-A8處理器實(shí)現(xiàn)了非凡的速度和功耗效率在65nm上藝下,ARMcortex-A8處理器的功耗不到300mW,能夠提供高性能和低功耗它第一次為低費(fèi)用、高容量的產(chǎn)品帶來了臺(tái)式機(jī)級別的性能
A8處理器結(jié)構(gòu)
Cortex-A8處理器是第一款基于下一代ARMv7架構(gòu)的應(yīng)用處理器,使用了能夠帶來更高性能、更低功耗和更高代碼密度的Thumb-2技術(shù)它首次采用了強(qiáng)大的NEON信號處理擴(kuò)展集,為H.264和MP3等媒體編解碼提供加速
Cortex-A8的解決方案還包括Jazelle-RCTJava加速技術(shù),對實(shí)時(shí)(JIT)和動(dòng)態(tài)調(diào)整編譯(DAC)提供最優(yōu)化,同時(shí)減少內(nèi)存占用空間高達(dá)3倍該處理器配置了先進(jìn)的超標(biāo)量體系結(jié)構(gòu)流水線,能夠同時(shí)執(zhí)行多條指令,并且提供超過2.0DMIPS/MHz的性能處理器集成了一個(gè)可調(diào)尺寸的二級高速緩沖存儲(chǔ)器,能夠同高速的16KB或者32KB一級高速緩沖存儲(chǔ)器一起工作,從而達(dá)到最快的讀取速度和最大的吞吐量新處理器還配置了用于安全交易和數(shù)字版權(quán)管理的TrustZone技術(shù),以及實(shí)現(xiàn)低功耗管理的IEM功能
Cortex-A8處理器使用了先進(jìn)的分支預(yù)測技術(shù),并且具有專用的NEON整型和浮點(diǎn)型流水線進(jìn)行媒體和信號處理在使用小于4mm2的硅片及低功耗的65nm工藝的情況下,Cortex-A8處理器的運(yùn)行頻率將高于600MHz(不包括NEON追蹤技術(shù)和二級高速緩沖存儲(chǔ)器)在高性能的90nm和65nm工藝下,Cortex-A8處理器運(yùn)行頻率最高可達(dá)1GHz,能夠滿足高性能消費(fèi)產(chǎn)品設(shè)計(jì)的需要。
Cortex-A9處理器
ARM Cortex™-A9 處理器提供了史無前例的高性能和高能效,從而使其成為需要在低功耗或散熱受限的成本敏感型設(shè)備中提供高性能的設(shè)計(jì)的理想解決方案。 它既可用作單核處理器,也可用作可配置的多核處理器,同時(shí)可提供可合成或硬宏實(shí)現(xiàn)。該處理器適用于各種應(yīng)用領(lǐng)域,從而能夠?qū)Χ鄠(gè)市場進(jìn)行穩(wěn)定的軟件投資。
與高性能計(jì)算平臺(tái)消耗的功率相比,ARM Cortex-A9 處理器可提供功率更低的卓越功能,其中包括:
無與倫比的性能,2GHz 標(biāo)準(zhǔn)操作可提供 TSMC 40G 硬宏實(shí)現(xiàn)
以低功耗為目標(biāo)的單核實(shí)現(xiàn),面向成本敏感型設(shè)備
利用高級 MPCore 技術(shù),最多可擴(kuò)展為 4 個(gè)一致的內(nèi)核
Cortex-A15 處理器
ARM Cortex™-A15 MPCore™ 處理器是性能高且可授予許可的處理器。它提供前所未有的處理功能,與低功耗特性相結(jié)合,在各種市場上成就了卓越的產(chǎn)品,包括智能手機(jī)、平板電腦、移動(dòng)計(jì)算、高端數(shù)字家電、服務(wù)器和無線基礎(chǔ)結(jié)構(gòu)。Cortex-A15 MPCore 處理器提供了性能、功能和能效的獨(dú)特組合,進(jìn)一步加強(qiáng)了 ARM 在這些高價(jià)值和高容量應(yīng)用細(xì)分市場中的領(lǐng)導(dǎo)地位。
Cortex-A15 MPCore 處理器是 Cortex-A 系列處理器的最新成員,確保在應(yīng)用方面與所有其他獲得高度贊譽(yù)的 Cortex-A 處理器完全兼容。這樣,就可以立即訪問已得到認(rèn)可的開發(fā)平臺(tái)和軟件體系,包括 Android™、Adobe® Flash® Player、Java Platform Standard Edition (Java SE)、JavaFX、Linux、Microsoft Windows Embedded、Symbian 和 Ubuntu 以及 700 多個(gè) ARM Connected Community™ 成員,這些成員提供應(yīng)用軟件、硬件和軟件開發(fā)工具、中間件以及 SoC 設(shè)計(jì)服務(wù)。
Cortex-A15 MPCore 處理器具有無序超標(biāo)量管道,帶有緊密耦合的低延遲 2 級高速緩存,該高速緩存的大小最高可達(dá) 4MB。
浮點(diǎn)和 NEON™ 媒體性能方面的其他改進(jìn)使設(shè)備能夠?yàn)橄M(fèi)者提供下一代用戶體驗(yàn),并為 Web 基礎(chǔ)結(jié)構(gòu)應(yīng)用提供高性能計(jì)算。
預(yù)計(jì) Cortex-A15 MPCore 處理器的移動(dòng)配置所能提供的性能是當(dāng)前的高級智能手機(jī)性能的五倍還多。在高級基礎(chǔ)結(jié)構(gòu)應(yīng)用中,Cortex-A15 的運(yùn)行速度最高可達(dá) 2.5GHz,這將支持在不斷降低功耗、散熱和成本預(yù)算方面實(shí)現(xiàn)高度可伸縮的解決方案。
Cortex-A57
cortex-a57是ARM針對2013年、2014年和2015年設(shè)計(jì)起點(diǎn)的CPU產(chǎn)品系列的旗艦級CPU,它采用armv8-a架構(gòu),提供64位功能,而且通過Aarch32執(zhí)行狀態(tài),保持與ARMv7架構(gòu)的完全后向兼容性。在高于4GB的內(nèi)存廣泛使用之前,64位并不是移動(dòng)系統(tǒng)真正必需的,即便到那時(shí)也可以使用擴(kuò)展物理尋址技術(shù)來解決,但盡早推出64位,可以實(shí)現(xiàn)更長、更順暢的軟件遷移,讓高性能應(yīng)用程序能夠充分利用更大虛擬地址范圍來運(yùn)行內(nèi)容創(chuàng)建應(yīng)用程序,例如視頻編輯、照片編輯和增強(qiáng)現(xiàn)實(shí)。新架構(gòu)可以運(yùn)行64位操作系統(tǒng),并在操作系統(tǒng)上無縫混合運(yùn)行32位和64位應(yīng)用程序。ARMv8架構(gòu)可以實(shí)現(xiàn)狀態(tài)之間的輕松轉(zhuǎn)換。
除了ARMv8的架構(gòu)優(yōu)勢之外,Cortex-A57還提高了單個(gè)時(shí)鐘周期性能,比高性能的Cortex-A15CPU高出了20%至40%。它還改進(jìn)了二級高速緩存的的設(shè)計(jì)以及內(nèi)存系統(tǒng)的其他組件,極大的提高了能效。Cortex-A57將為移動(dòng)系統(tǒng)提供前所未有的高能效性能水平,而借助big.LITTLE,SoC能以很低的平均功耗做到這一點(diǎn)。
Cortex-A72是ARM性能最出色、最先進(jìn)的處理器。于2015年年初正式發(fā)布的Cortex-A72是基于ARMv8-A架構(gòu)、并構(gòu)建于Cortex-A57處理器在移動(dòng)和企業(yè)設(shè)備領(lǐng)域成功的基礎(chǔ)之上。在相同的移動(dòng)設(shè)備電池壽命限制下,Cortex-A72能相較基于Cortex-A15的設(shè)備提供3.5倍的性能表現(xiàn),展現(xiàn)優(yōu)異的整體功耗效率。
Cortex-A72的強(qiáng)化性能和功耗水平重新定義了2016年高端設(shè)備為消費(fèi)者帶來的豐富連接和情境感知(context-aware)的體驗(yàn),這些高端設(shè)備涵蓋高階的智能手機(jī)、中型平板電腦、大型平板電腦、翻蓋式筆記本、一直到外形規(guī)格可變化的移動(dòng)設(shè)備。未來的企業(yè)基站和服務(wù)器芯片也能受惠于Cortex-A72的性能,并在其優(yōu)異的能效基礎(chǔ)上,在有限的功耗范圍內(nèi)增加內(nèi)核數(shù)量,提升工作負(fù)載量。
Cortex-A72可在芯片上單獨(dú)實(shí)現(xiàn),也可以搭配Cortex-A53處理器與ARMCoreLinkTMCCI高速緩存一致性互連(CacheCoherentInterconnect)構(gòu)成ARMbig.LITTLETM配置,進(jìn)一步提升能效。
Cortex-A72是目前基于ARMv8-A架構(gòu)處理器中性能最高的處理器。它再次展現(xiàn)了ARM在處理器技術(shù)的領(lǐng)先地位,在提升新的性能標(biāo)準(zhǔn)之余,同時(shí)大幅降低功耗,可廣泛地?cái)U(kuò)展應(yīng)用于移動(dòng)與企業(yè)設(shè)備。
智能手機(jī)是目前大眾主要的計(jì)算平臺(tái),提供使用者隨時(shí)隨地創(chuàng)造、強(qiáng)化以及使用內(nèi)容的功能。擬真且復(fù)雜的圖像與視頻捕捉、主機(jī)級游戲般的性能、用來進(jìn)行文檔與辦公應(yīng)用流暢處理的生產(chǎn)力套件等,這些需求促使Cortex-A72如此高端性能的處理器面市,執(zhí)行這些服務(wù)的設(shè)備被要求在更輕薄、更時(shí)尚的外形設(shè)計(jì)之下,必須全天候處理日益增長的CPU和GPU工作負(fù)載,這使得制造商不得不將精力用在尋找高能效的處理器內(nèi)核。在智能手機(jī)、平板電腦、甚至是大尺寸的移動(dòng)設(shè)備,Cortex-A72能通過出色的能效與內(nèi)存系統(tǒng),提功絕佳的用戶體驗(yàn)。將Cortex-A72與Cortex-A53處理器以ARMbig.LITTLE™(大小核)處理器進(jìn)行配置,可以擴(kuò)展整體的性能與效率表現(xiàn)。