Cortex系列ARM內核介紹
時間:2016-12-30作者:華(hua)清遠見
眾所周(zhou)知(zhi),英國的(de)(de)(de)ARM公司(si)是嵌入式微(wei)處(chu)理(li)(li)器世界當中的(de)(de)(de)佼(jiao)佼(jiao)者(zhe)。ARM一直(zhi)以來都是自己研發微(wei)處(chu)理(li)(li)器內(nei)核架(jia)(jia)(jia)構(gou),然后將這些架(jia)(jia)(jia)構(gou)的(de)(de)(de)知(zhi)識產權(quan)授權(quan)給(gei)各(ge)個(ge)芯片(pian)(pian)廠商(shang),精(jing)簡的(de)(de)(de)CPU架(jia)(jia)(jia)構(gou),高效的(de)(de)(de)處(chu)理(li)(li)能力以及成功(gong)的(de)(de)(de)商(shang)業模式讓ARM公司(si)獲得了巨大的(de)(de)(de)成功(gong),使他迅速占據(ju)了32位嵌入式微(wei)處(chu)理(li)(li)器的(de)(de)(de)大部分(fen)市場份(fen)額,甚至現在,ARM芯片(pian)(pian)在上(shang)網本市場的(de)(de)(de)也(ye)大有與INTEL的(de)(de)(de)ATOM處(chu)理(li)(li)器一較(jiao)高低的(de)(de)(de)實力。 目前(qian)(qian),隨著對(dui)(dui)嵌入式系(xi)統(tong)的(de)(de)(de)(de)(de)要求(qiu)越(yue)來越(yue)高,作(zuo)為其核心的(de)(de)(de)(de)(de)嵌入式微處理器的(de)(de)(de)(de)(de)綜(zong)合性能也(ye)受到日益嚴峻的(de)(de)(de)(de)(de)考驗,典型(xing)的(de)(de)(de)(de)(de)例(li)子就是(shi)(shi)伴隨3G網絡(luo)的(de)(de)(de)(de)(de)推(tui)廣,對(dui)(dui)手機的(de)(de)(de)(de)(de)本地(di)處理能力要求(qiu)很高,現在一個高端的(de)(de)(de)(de)(de)智能手機的(de)(de)(de)(de)(de)處理能力幾(ji)乎可(ke)以(yi)和幾(ji)年前(qian)(qian)的(de)(de)(de)(de)(de)筆記(ji)本電(dian)腦(nao)相當。為了(le)迎合市(shi)場的(de)(de)(de)(de)(de)需求(qiu),ARM公司(si)也(ye)在加緊研發(fa)他們新(xin)的(de)(de)(de)(de)(de)ARM架構,Cortex系(xi)列(lie)就是(shi)(shi)這樣的(de)(de)(de)(de)(de)產品。在Cortex之(zhi)前(qian)(qian),ARM核都是(shi)(shi)以(yi)ARM為前(qian)(qian)綴(zhui)命名(ming)的(de)(de)(de)(de)(de),從ARM1一直到ARM11,之(zhi)后(hou)就是(shi)(shi)Cortex系(xi)列(lie)了(le)。Cortex在英(ying)語中有大(da)腦(nao)皮層(ceng)的(de)(de)(de)(de)(de)意思,而大(da)腦(nao)皮層(ceng)正是(shi)(shi)人腦(nao)核心的(de)(de)(de)(de)(de)部分,估計ARM公司(si)如此命名(ming)正有此含義吧。 一.ARMv7架構特點 下表列出(chu)了ARM微處理器(qi)核心(xin)以及體(ti)系(xi)結構的發展歷史:
我們可以看(kan)到,Cortex系列屬于(yu)ARMv7架(jia)(jia)(jia)構,這是(shi)ARM公司(si)(si)新的(de)指令集(ji)架(jia)(jia)(jia)構,而(er)我們比較熟悉(xi)的(de)三星的(de)S3C2410芯片(pian)是(shi)ARMv4架(jia)(jia)(jia)構,ATMEL公司(si)(si)的(de)AT91SAM9261芯片(pian)則是(shi)ARMv5架(jia)(jia)(jia)構。 ARMv7架(jia)(jia)構(gou)是(shi)在ARMv6架(jia)(jia)構(gou)的(de)基(ji)(ji)礎上(shang)誕(dan)生的(de)。該架(jia)(jia)構(gou)采用(yong)(yong)(yong)了Thumb-2技(ji)(ji)術,Thumb-2技(ji)(ji)術是(shi)在ARM的(de)Thumb代(dai)(dai)碼(ma)壓縮技(ji)(ji)術的(de)基(ji)(ji)礎上(shang)發展(zhan)起(qi)來的(de),并且保持(chi)了對現存ARM解(jie)決方(fang)案(an)的(de)完整的(de)代(dai)(dai)碼(ma)兼容性(xing)。Thumb-2技(ji)(ji)術比純32位(wei)代(dai)(dai)碼(ma)少使用(yong)(yong)(yong) 31%的(de)內存,減小了系統開銷(xiao)。同時能(neng)(neng)夠提(ti)供(gong)比已(yi)有的(de)基(ji)(ji)于Thumb技(ji)(ji)術的(de)解(jie)決方(fang)案(an)高出(chu)38%的(de)性(xing)能(neng)(neng)。ARMv7架(jia)(jia)構(gou)還(huan)采用(yong)(yong)(yong)了NEON技(ji)(ji)術,將DSP和媒體處(chu)理能(neng)(neng)力提(ti)高了近4倍,并支持(chi)改良的(de)浮點運算,滿足下一(yi)代(dai)(dai)3D圖形、游戲物理應用(yong)(yong)(yong)以及傳統嵌入式(shi)控制應用(yong)(yong)(yong)的(de)需求。此(ci)外(wai),ARMv7還(huan)支持(chi)改良的(de)運行(xing)環境,以迎合不斷(duan)增(zeng)加的(de)JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技(ji)(ji)術的(de)使用(yong)(yong)(yong)。另外(wai),ARMv7架(jia)(jia)構(gou)對于早期的(de)ARM處(chu)理器(qi)軟件也提(ti)供(gong)很好(hao)的(de)兼容性(xing)。 ARMv7架(jia)構(gou)定義了三大分工明(ming)確(que)的(de)系(xi)列:“A”系(xi)列面向尖(jian)端的(de)基于虛擬內存的(de)操(cao)作系(xi)統(tong)和用(yong)戶應用(yong);“R”系(xi)列針對實(shi)時系(xi)統(tong);“M”系(xi)列對微控制器(qi)和低成本應用(yong)提供優化。下圖(tu)為v5至v7架(jia)構(gou)比較(jiao):
由(you)于(yu)應用領域不同,基(ji)于(yu)v7架(jia)構的Cortex處理(li)器系(xi)列(lie)(lie)所(suo)采(cai)用的技術也不相同,基(ji)于(yu)v7A的稱為Cortex-A系(xi)列(lie)(lie),基(ji)于(yu)v7R的稱為Cortex-R系(xi)列(lie)(lie),基(ji)于(yu)v7M的稱為Cortex-M系(xi)列(lie)(lie)。下面一一介紹。 二.Cortex-A8 Cortex-A8第一(yi)款基于ARMv7構架的(de)應(ying)用(yong)處(chu)理器(qi)。Cortex-A8是ARM公司有史以來性能(neng)強勁的(de)一(yi)款處(chu)理器(qi),主(zhu)頻(pin)為600MHz到1GHz。A8可以滿足各種移動(dong)設(she)備的(de)需求,其功耗低于300毫瓦,而性能(neng)卻高達(da)2000MIPS。 Cortex-A8也是ARM公司第(di)一款超(chao)級標量處(chu)理器(qi)(qi)。在該處(chu)理器(qi)(qi)的(de)設(she)計當中(zhong),采(cai)用(yong)了新的(de)技(ji)(ji)術(shu)以提高(gao)代碼效(xiao)率和(he)性能,采(cai)用(yong)了專門針對(dui)多(duo)媒體(ti)和(he)信號處(chu)理的(de)NEON技(ji)(ji)術(shu)。同時,還采(cai)用(yong)了Jazelle RCT技(ji)(ji)術(shu),可(ke)以支持JAVA程(cheng)序的(de)預編譯與(yu)實時編譯。 針對(dui)Cortex-A8,ARM公司專(zhuan)門提(ti)供了新的函(han)數(shu)庫(ku)(Artisan Advantage-CE)。新的庫(ku)函(han)數(shu)可(ke)以有效的提(ti)高(gao)異(yi)常(chang)處理的速度并降低功耗。同時,新的庫(ku)函(han)數(shu)還提(ti)供了高(gao)級內存泄漏控制(zhi)機(ji)制(zhi)。 Cortex-A8處理器使用(yong)了先進的(de)(de)分支(zhi)預測技術,并且具有專用(yong)的(de)(de)NEON整型(xing)和(he)(he)浮點型(xing)流水線(xian)進行媒體和(he)(he)信(xin)號處理。在(zai)使用(yong)小于4 mm2的(de)(de)硅(gui)片(pian)及低功耗的(de)(de)65 nm工(gong)藝的(de)(de)情況下,Cortex-A8處理器的(de)(de)運行頻(pin)率將高(gao)(gao)于600MHz(不包(bao)括(kuo)NEON追蹤(zong)技術和(he)(he)二級高(gao)(gao)速緩沖存儲器)。在(zai)高(gao)(gao)性能(neng)的(de)(de)90 nm和(he)(he)65 nm工(gong)藝下,Cortex-A8處理器運行頻(pin)率高(gao)(gao)可達1 GHz,能(neng)夠滿足(zu)高(gao)(gao)性能(neng)消(xiao)費產(chan)品設計的(de)(de)需要(yao)。 Cortex-A8第一次為(wei)低(di)費(fei)用、高容量的(de)(de)(de)產品帶來了臺(tai)式(shi)機級別(bie)的(de)(de)(de)性能。當前新的(de)(de)(de)IPHONE手機和(he)ANDROID手機里的(de)(de)(de)處理(li)器就是基于Cortex-A8內核的(de)(de)(de)芯片。 Cortex-A8的(de)系統框圖如下:
更詳細的框圖如下:
三.Cortex-R4 Cortex-R4是(shi)ARM開發的(de)超(chao)(chao)標量結(jie)構的(de)ARM內(nei)核,主要(yao)面向實(shi)時控(kong)制領域(yu),如汽車剎車控(kong)制等,這一領域(yu)要(yao)求處理(li)器響(xiang)應中斷的(de)實(shi)時性(xing)(xing)高(gao),并且要(yao)盡可能的(de)節約成本,而(er)很多客戶(hu)要(yao)求不需過(guo)多提(ti)高(gao)工(gong)作(zuo)頻率(lv)(lv),就(jiu)能提(ti)高(gao)運(yun)(yun)算性(xing)(xing)能,因(yin)此在Cortex-R4的(de)設(she)計過(guo)程中,工(gong)作(zuo)頻率(lv)(lv)的(de)佳點(dian)位(wei)是(shi)300MHz。再高(gao)的(de)話(hua),不僅需要(yao)高(gao)速內(nei)存(cun),而(er)且時鐘樹的(de)設(she)計也(ye)更為復雜。結(jie)果,判斷合理(li)的(de)做法就(jiu)是(shi)采用超(chao)(chao)標量結(jie)構,增加單位(wei)周期所執行(xing)的(de)指令平均數。Cortex-R4單位(wei)工(gong)作(zuo)頻率(lv)(lv)的(de)運(yun)(yun)算性(xing)(xing)能為 1.62MIPS(按(an)Dhrystone換算)/MHz,比ARM9的(de)約1.2MIPS/MHz大幅提(ti)高(gao)。Cortex-R4電路規模只是(shi)比ARM9略有增加,但是(shi)可以實(shi)現更接近(jin)于Cortex-A8的(de)運(yun)(yun)算性(xing)(xing)能。 Cortex-R4系統框(kuang)圖如下所(suo)示:
四(si).Cortex-M3
ARM Cortex-M系列則是為那些對開發費用非常敏感同時對性能要求小斷增加的嵌入式應用(如微控制器、汽車車身控制系統和各種大型家電)所設計的,主要面向單片機領域,可以說是51單品機的完美替代品。
Cortex-M3的(de)速度(du)比(bi)ARM7快(kuai)三分(fen)之一(yi),功耗低四分(fen)之三,并(bing)且能(neng)實現更(geng)小芯(xin)片面積,利于將更(geng)多(duo)功能(neng)整合在更(geng)小的(de)芯(xin)片尺(chi)寸中。Cortex-M3處理器結(jie)合了(le)執行Thumb-2指令的(de)32位哈佛微體(ti)系結(jie)構(gou)和系統外設,包括Nested Vec-tored Interrupt Controller和Arbiter總線。該技術(shu)方案在測試(shi)和實例應用中表現出較高的(de)性能(neng):在臺機電180 nm工藝(yi)下,芯(xin)片性能(neng)達1.2 DMIPS/MHz,時鐘頻率高達100 MHz。 在工控領域,用戶要求具有更快的(de)中(zhong)(zhong)斷(duan)速度,Cortex-M3采(cai)用了Tail-Chaining中(zhong)(zhong)斷(duan)技術,完(wan)全基于硬件(jian)進行中(zhong)(zhong)斷(duan)處理(li),多可減少(shao)12個時鐘(zhong)周(zhou)期數,在實際應用中(zhong)(zhong)可減少(shao) 70%中(zhong)(zhong)斷(duan)。 五.總結 ARM Cortex處(chu)理(li)器系(xi)(xi)(xi)列都是(shi)基于(yu)ARMv7架構(gou)的(de)(de)產品(pin)(pin),從尺寸和(he)性能方而來看,既有少(shao)于(yu)33000個門電路(lu)的(de)(de)Cortex-M系(xi)(xi)(xi)列,也(ye)有高性能的(de)(de)Cortex-A系(xi)(xi)(xi)列。其中(zhong),Cortex-A系(xi)(xi)(xi)列是(shi)針對日益增(zeng)長(chang)的(de)(de),運(yun)行(xing)包括Linux、Windows,CE和(he)Symbian操作(zuo)系(xi)(xi)(xi)統(tong)在(zai)內的(de)(de)消(xiao)費(fei)娛樂和(he)無線產品(pin)(pin)設計的(de)(de);ARM Cortex-R系(xi)(xi)(xi)列針對的(de)(de)是(shi)需(xu)要運(yun)行(xing)實時(shi)操作(zuo)系(xi)(xi)(xi)統(tong)來進(jin)行(xing)控制(zhi)應(ying)用的(de)(de)系(xi)(xi)(xi)統(tong),包括汽車電子、網絡和(he)影像系(xi)(xi)(xi)統(tong);ARM Cortex-M系(xi)(xi)(xi)列則面向微(wei)控制(zhi)器領域,為那(nei)些對開發費(fei)用非(fei)常敏感同(tong)時(shi)對性能要求不斷增(zeng)加(jia)的(de)(de)嵌入式應(ying)用所設計的(de)(de)。可(ke)見隨著在(zai)各種(zhong)不同(tong)領域應(ying)用需(xu)求的(de)(de)增(zeng)加(jia),微(wei)處(chu)理(li)器市場也(ye)在(zai)趨于(yu)多樣化。
相關資訊
發表評論
|