新聞中心

EEPW首頁 > 專題 > ARM的A/R/M設(shè)計目標(biāo):適合的處理器來執(zhí)行對應(yīng)的任務(wù)

ARM的A/R/M設(shè)計目標(biāo):適合的處理器來執(zhí)行對應(yīng)的任務(wù)

作者:Peter Greenhalgh 時間:2016-07-28 來源:電子產(chǎn)品世界 收藏
編者按:ARM認(rèn)為應(yīng)該使用適合的處理器來執(zhí)行對應(yīng)的任務(wù)。本文介紹了每個不同的處理器如何體現(xiàn)這一設(shè)計理念。

摘要認(rèn)為應(yīng)該使用適合的處理器來執(zhí)行對應(yīng)的任務(wù)。本文介紹了每個不同的處理器如何體現(xiàn)這一設(shè)計理念。

本文引用地址:http://m.butianyuan.cn/article/201607/294692.htm

  處理器現(xiàn)在分成了三個系列(如圖1),從家族來講是A系列、R系列和M系列。A系列主要是面向應(yīng)用的處理器,R面向?qū)崟r性處理器,M主要是面向微控制器。在的架構(gòu)里,每個系列都有獨(dú)特的特征。針對這些獨(dú)特的特征,每個系列里都推出了獨(dú)特的處理器。

  ARM現(xiàn)有的這些架構(gòu)現(xiàn)在都有ARMv8架構(gòu)了(圖1)。針對ARMv8-A,公司在2013年已經(jīng)推出了57和53。公司也在不斷地擴(kuò)展ARMv8-A指令架構(gòu),推出了ARMv8.1和ARMv8.2。ARMv8.1我們有Far Atomics,NEON指令,以及對于虛擬化的增強(qiáng)。而ARMv8.2支持半精度浮點(diǎn)(Half Precision Floating point)以及針對一些服務(wù)器的RAS 特征。

  ARM在兩年前(2014年)發(fā)布了ARMv8-R架構(gòu),增加了實時的虛擬化,還有增強(qiáng)的AArch32 ISA,以及可選的虛擬內(nèi)存系統(tǒng)。同時,ARM也推出了ARMv8-M指令集,并有相應(yīng)的處理器。

  每個系列都有獨(dú)特的功能以及特性(圖2)。支持Linux/Rich OS, 32位/64位的ARM指令集,在軟件上支持軟件中斷管理。在存儲方面,支持多級緩存。在安全性方面,提供ASIL B級的支持。

  對目前有支持MMU的,所以它也可以支持Rich OS。同樣我們也可以選擇支持MPU的操作系統(tǒng),在上我們只有32位ARM指令集和Thumb指令集,這主要是專門針對嵌入式市場做的優(yōu)化。在終端,ARM有專門的軟件管理,還有一個Cache和TCM以及安全性方面支持ASIL D。

  系列主要針對超低功耗以及最小面積進(jìn)行設(shè)計的,所以目前我們是支持實時性的操作系統(tǒng)RTOS,目前支持32位Thumb的指令集。在終端這方面支持硬件中斷管理,終端處理的速度可以是非??斓?。在Cache和TCM這方面一般是用7來進(jìn)行支持,在安全性方面,我們支持到 ASIL-D。

  不同的處理器可處理不同的應(yīng)用(圖3)。例如,在可穿戴方面,主要用Cortex-A和。存儲方面是和Cortex-M。在ADAS方面有Cortex-A和Cortex-R,由于ADAS對安全性要求特別高,所以針對Cortex-R,ARM做了特別的優(yōu)化,提供了一些function package(功能包)。在ADAS這邊,還有一些高性能的,可以用Cortex-A進(jìn)行處理。在移動消費(fèi)市場,Cortex-A、Cortex-R和Cortex-M都有應(yīng)用,A來做應(yīng)用處理器,R主要是做基帶,Cortex-M可能會用于sensor hub(傳感器中樞)的芯片領(lǐng)域。

  接下來將分別介紹這幾大系列的處理器及一些熱門話題。

Cortex-A關(guān)注應(yīng)用

  Cortex-A架構(gòu)里有非常豐富的指令集架構(gòu),包含整數(shù)的指令集架構(gòu)以及浮點(diǎn)運(yùn)算的指令集架構(gòu)??梢灾С值絊IMD多數(shù)據(jù)的運(yùn)算,在NEON單元里面提供支持。

  Cortex-A里有AArch32的指令集,主要是向后兼容ARMv7-A架構(gòu)。

  在ARMv8-A里面,AArch64是2011年推出的,由ARM64位架構(gòu)來實現(xiàn)的,當(dāng)時是有Cortex-A57以及Cortex-A53。這樣的指令集使訪問地址大大增加了,超過了4GB的內(nèi)存訪問空間,也有更多的存儲器可以讓我們的編輯器進(jìn)行使用。我們針對指令集也是專門進(jìn)行了優(yōu)化,主要是面向功耗效率這方面。

  在微架構(gòu)上,我們可以有多種實現(xiàn)??梢詫崿F(xiàn)超高能效比的處理器,適用于可穿戴市場,也可以實現(xiàn)非常高性能的處理器,實現(xiàn)亂序,達(dá)到幾GHz。這樣的處理器可以應(yīng)用在很高性能的市場,比如服務(wù)器市場。所有這些處理器都可以支持內(nèi)存一致性的系統(tǒng),這樣我們可以從multi-Cluster的設(shè)計里面通過內(nèi)存一致性讓系統(tǒng)來進(jìn)行支持。

  以Cortex-A35為例(圖4),Cortex-A35是Cortex-A系列里面向超低功耗、可穿戴市場,以及中低端手機(jī)移動市場的處理器。它的設(shè)計相對比較簡單,指令集都做得相對面向能效優(yōu)化方向,它主要是按需完成主要的流水線。在這樣一個處理器里,也是做成多核處理器的。Cortex-A35在總線方面可以支持AMBA4 ACE總線,也可以支持最新的AMBA5 CHI總線。這樣就可以在一個Cluster里面最多實現(xiàn)4個核,也可以實現(xiàn)多個Cluster。

  ARM最近也發(fā)布了Cortex-A73處理器。它和以前的指令集完全兼容,也和Cortex-A53和Cortex-A35做了很好的配合。Cortex-A73在架構(gòu)上是做了很大的提升,它可以進(jìn)行亂序執(zhí)行的,也是完全可以跟Cortex-A35完全兼容。

  在總線上,Cortex-A73也是支持128-bit的AMBA4 AXI4的總線,在Cache配置方面,可以支持不同的配置。

Cortex-A73的熱門話題

  *Cortex-A73相比Cortex-A72,性能方面有很大提升。那么Cortex-A72設(shè)計成二路是基于什么樣的考慮?

  其實從Cortex-A72學(xué)習(xí)它的架構(gòu),去做了優(yōu)化,從三路到兩路,實現(xiàn)了上文提到的內(nèi)存系統(tǒng)上的優(yōu)化,在跳轉(zhuǎn)預(yù)測上的優(yōu)化,各種這方面的優(yōu)化使得我們能夠把Cortex-A72從三路瘦身到兩路,同時提升它的功效性能。

  設(shè)計成三路主要是為了性能,因為三路其實是很強(qiáng)大的,當(dāng)時Cortex-A72也是性能最好的。ARM當(dāng)初設(shè)計Cortex-A72的時候,就是為了大幅度提升它的性能,我們也可以看到相較以前有很大的性能提升。但是設(shè)計Cortex-A73的時候,提升性能不是主要目的,不過我們還是看到它相較Cortex-A72在性能上還是有提升的,但是更主要的是集中提升它的功耗的效率,所以我們能夠?qū)λM(jìn)行瘦身。

  * Cortex-A73是10nm,Cortex-A72是16nm,性能提升了30%,功耗降低了30%。這個30%的提升中是不是10%~15%是因為架構(gòu)的提升,還有20%左右是來自于工藝的提升?

  其實,在同樣16nm工藝情況下的比較,在功耗效率方面,Cortex-A73相較Cortex-A72能夠提升20%。10nm工藝的Cortex-A73相較16nm工藝的Cortex-A72有30%的提升,所以其中工藝的提升是10%,架構(gòu)是20%。

  在性能方面,從微架構(gòu)上講,我們提升了10%,但是我們?yōu)槭裁凑f提升了30%?因為在可持續(xù)的峰值性能上,在有限的功耗和散熱的約束條件下,我們可以提升得更多,因為它的能耗效率會更高,所以額外提高了20%。

  * 從16nm到10nm,更多的是面積上的節(jié)省,以及性能上的提升?

  但是每家在設(shè)計的頻率上也是不太一樣的。舉個例子,像海思Kirin做到2.3~2.5MHz,其他家在做Cortex-A73的時候也會有不同的設(shè)計,所以說整個性能的提升和客戶做的性能、頻率可能都不太一樣。

本文來源于中國科技期刊《電子產(chǎn)品世界》2016年第7期第30頁,歡迎您寫論文時引用,并注明出處。


上一頁 1 2 下一頁

關(guān)鍵詞: ARM Cortex-A Cortex-R Cortex-M 201608

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉