Cortex系列ARM內(nèi)核介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
眾所周知,英國(guó)的ARM公司是嵌入式微處理器世界當(dāng)中的佼佼者。ARM一直以來(lái)都是自己研發(fā)微處理器內(nèi)核架構(gòu),然后將這些架構(gòu)的知識(shí)產(chǎn)權(quán)授權(quán)給各個(gè)芯片廠商,精簡(jiǎn)的CPU架構(gòu),高效的處理能力以及成功的商業(yè)模式讓ARM公司獲得了巨大的成功,使他迅速占據(jù)了32位嵌入式微處理器的大部分市場(chǎng)份額,甚至現(xiàn)在,ARM芯片在上網(wǎng)本市場(chǎng)的也大有與INTEL的ATOM處理器一較高低的實(shí)力。
目前,隨著對(duì)嵌入式系統(tǒng)的要求越來(lái)越高,作為其核心的嵌入式微處理器的綜合性能也受到日益嚴(yán)峻的考驗(yàn),最典型的例子就是伴隨3G網(wǎng)絡(luò)的推廣,對(duì)手機(jī)的本地處理能力要求很高,現(xiàn)在一個(gè)高端的智能手機(jī)的處理能力幾乎可以和幾年前的筆記本電腦相當(dāng)。為了迎合市場(chǎng)的需求,ARM公司也在加緊研發(fā)他們最新的ARM架構(gòu),Cortex系列就是這樣的產(chǎn)品。在Cortex之前,ARM核都是以ARM為前綴命名的,從ARM1一直到ARM11,之后就是Cortex系列了。Cortex在英語(yǔ)中有大腦皮層的意思,而大腦皮層正是人腦最核心的部分,估計(jì)ARM公司如此命名正有此含義吧。
一.ARMv7架構(gòu)特點(diǎn)
下表列出了ARM微處理器核心以及體系結(jié)構(gòu)的發(fā)展歷史:
表一: ARM微處理器核心以及體系結(jié)構(gòu)的發(fā)展歷史
我們可以看到,Cortex系列屬于ARMv7架構(gòu),這是ARM公司最新的指令集架構(gòu),而我們比較熟悉的三星的S3C2410芯片是ARMv4架構(gòu),ATMEL公司的AT91SAM9261芯片則是ARMv5架構(gòu)。
ARMv7架構(gòu)是在ARMv6架構(gòu)的基礎(chǔ)上誕生的。該架構(gòu)采用了Thumb-2技術(shù),Thumb-2技術(shù)是在ARM的Thumb代碼壓縮技術(shù)的基礎(chǔ)上發(fā)展起來(lái)的,并且保持了對(duì)現(xiàn)存ARM解決方案的完整的代碼兼容性。Thumb-2技術(shù)比純32位代碼少使用 31%的內(nèi)存,減小了系統(tǒng)開(kāi)銷(xiāo)。同時(shí)能夠提供比已有的基于Thumb技術(shù)的解決方案高出38%的性能。ARMv7架構(gòu)還采用了NEON技術(shù),將DSP和媒體處理能力提高了近4倍,并支持改良的浮點(diǎn)運(yùn)算,滿足下一代3D圖形、游戲物理應(yīng)用以及傳統(tǒng)嵌入式控制應(yīng)用的需求。此外,ARMv7還支持改良的運(yùn)行環(huán)境,以迎合不斷增加的JIT(JuST In Time)和DAC(DynamicAdaptive CompilatiON)技術(shù)的使用。另外,ARMv7架構(gòu)對(duì)于早期的ARM處理器軟件也提供很好的兼容性。
ARMv7架構(gòu)定義了三大分工明確的系列:“A”系列面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶應(yīng)用;“R”系列針對(duì)實(shí)時(shí)系統(tǒng);“M”系列對(duì)微控制器和低成本應(yīng)用提供優(yōu)化。下圖為v5至v7架構(gòu)比較:
圖一:v5至v7架構(gòu)比較
由于應(yīng)用領(lǐng)域不同,基于v7架構(gòu)的Cortex處理器系列所采用的技術(shù)也不相同,基于v7A的稱(chēng)為Cortex-A系列,基于v7R的稱(chēng)為Cortex-R系列,基于v7M的稱(chēng)為Cortex-M系列。下面一一介紹。
二.Cortex-A8
Cortex-A8第一款基于ARMv7構(gòu)架的應(yīng)用處理器。Cortex-A8是ARM公司有史以來(lái)性能最強(qiáng)勁的一款處理器,主頻為600MHz到1GHz。A8可以滿足各種移動(dòng)設(shè)備的需求,其功耗低于300毫瓦,而性能卻高達(dá)2000MIPS。
Cortex-A8也是ARM公司第一款超級(jí)標(biāo)量處理器。在該處理器的設(shè)計(jì)當(dāng)中,采用了新的技術(shù)以提高代碼效率和性能,采用了專(zhuān)門(mén)針對(duì)多媒體和信號(hào)處理的NEON技術(shù)。同時(shí),還采用了Jazelle RCT技術(shù),可以支持JAVA程序的預(yù)編譯與實(shí)時(shí)編譯。
針對(duì)Cortex-A8,ARM公司專(zhuān)門(mén)提供了新的函數(shù)庫(kù)(Artisan Advantage-CE)。新的庫(kù)函數(shù)可以有效的提高異常處理的速度并降低功耗。同時(shí),新的庫(kù)函數(shù)還提供了高級(jí)內(nèi)存泄漏控制機(jī)制。
Cortex-A8處理器使用了先進(jìn)的分支預(yù)測(cè)技術(shù),并且具有專(zhuān)用的NEON整型和浮點(diǎn)型流水線進(jìn)行媒體和信號(hào)處理。在使用小于4 mm2的硅片及低功耗的65 nm工藝的情況下,Cortex-A8處理器的運(yùn)行頻率將高于600MHz(不包括NEON追蹤技術(shù)和二級(jí)高速緩沖存儲(chǔ)器)。在高性能的90 nm和65 nm工藝下,Cortex-A8處理器運(yùn)行頻率最高可達(dá)1 GHz,能夠滿足高性能消費(fèi)產(chǎn)品設(shè)計(jì)的需要。
Cortex-A8第一次為低費(fèi)用、高容量的產(chǎn)品帶來(lái)了臺(tái)式機(jī)級(jí)別的性能。當(dāng)前最新的IPHONE手機(jī)和ANDROID手機(jī)里的處理器就是基于Cortex-A8內(nèi)核的芯片。
Cortex-A8的系統(tǒng)框圖如下:
圖二:Cortex-A8的系統(tǒng)框圖
更詳細(xì)的框圖如下:
圖三:Cortex-A8的詳細(xì)系統(tǒng)框圖
三.Cortex-R4
Cortex-R4是ARM開(kāi)發(fā)的超標(biāo)量結(jié)構(gòu)的ARM內(nèi)核,主要面向?qū)崟r(shí)控制領(lǐng)域,如汽車(chē)剎車(chē)控制等,這一領(lǐng)域要求處理器響應(yīng)中斷的實(shí)時(shí)性高,并且要盡可能的節(jié)約成本,而很多客戶要求不需過(guò)多提高工作頻率,就能提高運(yùn)算性能,因此在Cortex-R4的設(shè)計(jì)過(guò)程中,工作頻率的最佳點(diǎn)位是300MHz。再高的話,不僅需要高速內(nèi)存,而且時(shí)鐘樹(shù)的設(shè)計(jì)也更為復(fù)雜。結(jié)果,判斷合理的做法就是采用超標(biāo)量結(jié)構(gòu),增加單位周期所執(zhí)行的指令平均數(shù)。Cortex-R4單位工作頻率的運(yùn)算性能為 1.62MIPS(按Dhrystone換算)/MHz,比ARM9的約1.2MIPS/MHz大幅提高。Cortex-R4電路規(guī)模只是比ARM9略有增加,但是可以實(shí)現(xiàn)更接近于Cortex-A8的運(yùn)算性能。
Cortex-R4系統(tǒng)框圖如下所示:
圖四:Cortex-R3系統(tǒng)框圖
四.Cortex-M3
ARM Cortex-M系列則是為那些對(duì)開(kāi)發(fā)費(fèi)用非常敏感同時(shí)對(duì)性能要求小斷增加的嵌入式應(yīng)用(如微控制器、汽車(chē)車(chē)身控制系統(tǒng)和各種大型家電)所設(shè)計(jì)的,主要面向單片機(jī)領(lǐng)域,可以說(shuō)是51單品機(jī)的完美替代品。[!--empirenews.page--]
Cortex-M3系統(tǒng)框圖如下所示:
圖五:Cortex-M3系統(tǒng)框圖
Cortex-M3的速度比ARM7快三分之一,功耗低四分之三,并且能實(shí)現(xiàn)更小芯片面積,利于將更多功能整合在更小的芯片尺寸中。Cortex-M3處理器結(jié)合了執(zhí)行Thumb-2指令的32位哈佛微體系結(jié)構(gòu)和系統(tǒng)外設(shè),包括Nested Vec-tored Interrupt Controller和Arbiter總線。該技術(shù)方案在測(cè)試和實(shí)例應(yīng)用中表現(xiàn)出較高的性能:在臺(tái)機(jī)電180 nm工藝下,芯片性能達(dá)1.2 DMIPS/MHz,時(shí)鐘頻率高達(dá)100 MHz。
在工控領(lǐng)域,用戶要求具有更快的中斷速度,Cortex-M3采用了Tail-Chaining中斷技術(shù),完全基于硬件進(jìn)行中斷處理,最多可減少12個(gè)時(shí)鐘周期數(shù),在實(shí)際應(yīng)用中可減少 70%中斷。
五.總結(jié)
ARM Cortex處理器系列都是基于ARMv7架構(gòu)的產(chǎn)品,從尺寸和性能方而來(lái)看,既有少于33000個(gè)門(mén)電路的Cortex-M系列,也有高性能的Cortex-A系列。其中,Cortex-A系列是針對(duì)日益增長(zhǎng)的,運(yùn)行包括Linux、Windows,CE和Symbian操作系統(tǒng)在內(nèi)的消費(fèi)娛樂(lè)和無(wú)線產(chǎn)品設(shè)計(jì)的;ARM Cortex-R系列針對(duì)的是需要運(yùn)行實(shí)時(shí)操作系統(tǒng)來(lái)進(jìn)行控制應(yīng)用的系統(tǒng),包括汽車(chē)電子、網(wǎng)絡(luò)和影像系統(tǒng);ARM Cortex-M系列則面向微控制器領(lǐng)域,為那些對(duì)開(kāi)發(fā)費(fèi)用非常敏感同時(shí)對(duì)性能要求不斷增加的嵌入式應(yīng)用所設(shè)計(jì)的??梢?jiàn)隨著在各種不同領(lǐng)域應(yīng)用需求的增加,微處理器市場(chǎng)也在趨于多樣化。