哪種ARM Cortex內核更適合我的應用:A系列、R系列、還是M系列?
最新成員Cortex-A50系列將Cortex-A系列的應用范圍擴大至低功耗服務(wù)器領(lǐng)域。這些處理器基于ARMv8架構,支持AArch64——高效能64位運行態(tài)且可以與現行32位運行態(tài)共存。升級到64位的原因之一顯而易見(jiàn)是為了支持大于4GB的物理內存,盡管Cortex-A15和Cortex-A7已經(jīng)具備此能力。在這種情況下,升級到64位其實(shí)是為服務(wù)器應用提供更好的支持,服務(wù)器中越來(lái)越多的操作系統和應用程序都采用64位,當然,Cortex-A50系列為上述情況提供了功耗優(yōu)化的解決方案。對于臺式機市場(chǎng)而言,情況也大體相同,支持64位意味著(zhù)Cortex-A50系列能夠更廣泛地應用到這一細分市場(chǎng),而且某種程度證明了未來(lái)64位操作系統最終將遷移到移動(dòng)應用。
本文引用地址:http://dyxdggzs.com/article/275077.htm介紹過(guò)Cortex-A,下面介紹Cortex-R系列——衍生產(chǎn)品中體積最小的ARM處理器,這一點(diǎn)也最不為人所知。Cortex-R處理器針對高性能實(shí)時(shí)應用,例如硬盤(pán)控制器(或固態(tài)驅動(dòng)控制器)、企業(yè)中的網(wǎng)絡(luò )設備和打印機、消費電子設備(例如藍光播放器和媒體播放器)、以及汽車(chē)應用(例如安全氣囊、制動(dòng)系統和發(fā)動(dòng)機管理)。Cortex-R系列在某些方面與高端微控制器(MCU)類(lèi)似,但是,針對的是比通常使用標準MCU的系統還要大型的系統。例如,Cortex-R4就非常適合汽車(chē)應用。Cortex-R4主頻可以高達600MHz(具有2.45DMIPS/MHz),配有8級流水線(xiàn),具有雙發(fā)送、預取和分支預測功能、以及低延遲中斷系統,可以中斷多周期操作而快速進(jìn)入中斷服務(wù)程序。Cortex-R4還可以與另外一個(gè)Cortex-R4構成雙內核配置,一同組成一個(gè)帶有失效檢測邏輯的冗余鎖步(lock-step)配置,從而非常適合安全攸關(guān)的系統。
Cortex-R5能夠很好的服務(wù)于網(wǎng)絡(luò )和數據存儲應用,它擴展了Cortex-R4的功能集,從而提高了效率和可靠性,增強了可靠實(shí)時(shí)系統中的錯誤管理。其中的一個(gè)系統功能是低延遲外設端口(LLPP),可實(shí)現快速外設讀取和寫(xiě)入(而不必對整個(gè)端口進(jìn)行“讀取-修改-寫(xiě)入”操作)。Cortex-R5還可以實(shí)現處理器獨立運行的“鎖步(lock-step)”雙核系統,每個(gè)處理器都能通過(guò)自己的“總線(xiàn)接口和中斷”執行自己的程序。這種雙核實(shí)現能夠構建出非常強大和靈活的實(shí)時(shí)響應系統。
Cortex-R7極大擴展了R系列內核的性能范圍,時(shí)鐘速度可超過(guò)1GHz,性能達到3.77DMIPS/MHz.Cortex-R7上的11級流水線(xiàn)現在增強了錯誤管理功能,以及改進(jìn)的分支預測功能。多核配置也有多種不同選項:鎖步、對稱(chēng)多重處理和不對稱(chēng)多重處理。Cortex-R7還配有一個(gè)完全集成的通用中斷控制器(GIC)來(lái)支持復雜的優(yōu)先級中斷處理。不過(guò),值得注意的是,雖然Cortex-R7具有高性能,但是它并不適合運行那些特性豐富的操作系統(例如Linux和Android)的應用,Cortex-A系列才更適合這類(lèi)應用。
最后,我們來(lái)討論Cortex-M系列,特別設計針對競爭已經(jīng)非常激烈的MCU市場(chǎng)。Cortex-M系列基于ARMv7-M架構(用于Cortex-M3和Cortex-M4)構建,而較低的Cortex-M0+基于A(yíng)RMv6-M架構構建。首款Cortex-M處理器于2004年發(fā)布,當一些主流MCU供應商選擇這款內核,并開(kāi)始生產(chǎn)MCU器件后,Cortex-M處理器迅速受到市場(chǎng)青睞??梢钥隙ǖ恼f(shuō),Cortex-M之于32位MCU就如同8051之于8位MCU——受到眾多供應商支持的工業(yè)標準內核,各家供應商采用該內核加之自己特別的開(kāi)發(fā),在市場(chǎng)中提供差異化產(chǎn)品。例如,Cortex-M系列能夠實(shí)現在FPGA中作為軟核來(lái)用,但更常見(jiàn)的用法是作為集成了存儲器、時(shí)鐘和外設的MCU.在該系列產(chǎn)品中,有些產(chǎn)品專(zhuān)注最佳能效、有些專(zhuān)注最高性能、而有些產(chǎn)品則專(zhuān)門(mén)應用于諸如智能電表這樣的細分市場(chǎng)。
Cortex-M3和Cortex-M4是非常相似的內核。二者都具有1.25DMIPS/MHz的性能,配有3級流水線(xiàn)、多重32位總線(xiàn)接口、時(shí)鐘速率可高達200MHz,并配有非常高效的調試選項。最大的不同是,Cortex-M4的內核性能針對的是DSP.Cortex-M3和Cortex-M4具有相同的架構和指令集(Thumb-2)。然而,Cortex-M4增加了一系列特別針對處理DSP算法而優(yōu)化的飽和運算和SIMD指令。以每0.5秒運行一次的512點(diǎn)FFT為例,如果分別在同類(lèi)量產(chǎn)的Cortex-M3 MCU和Cortex-M4 MCU上運行,完成同樣的工作,Cortex-M3所需功耗約是Cortex-M4所需功耗的三倍。此外,也有在Cortex-M4上實(shí)現單精度浮點(diǎn)單元(FPU)的選項。如果應用涉及到浮點(diǎn)計算,那在Cortex-M4上完成比在Cortex-M3上完成要快得多。也就是說(shuō),對于不使用Cortex-M4上DSP或FPU功能的應用而言,其性能和功耗與Cortex-M3相同。換句話(huà)說(shuō),如果使用DSP功能,那就選擇Cortex-M4.否則,就選擇Cortex-M3完成工作。
對于成本特別敏感的應用或者正在從8位遷移到32位的應用而言,Cortex-M系列的最低端產(chǎn)品可能是最佳選擇。雖然Cortex-M0+的性能為0.95DMIPS/MHz,比Cortex-M3和Cortex-M4的性能稍稍低一些,但仍可與同系列其他高端產(chǎn)品兼容。Cortex-M0+采用Thumb-2指令集的子集,而且這些指令大都是16位操作數(雖然所有數據運行都是32位的),這使得它們能夠很好的適應Cortex-M0+所提供的2級流水線(xiàn)服務(wù)。通過(guò)減少分支映射,系統就能節約一些整體功耗,而且在大多數情況下,流水線(xiàn)將保留接下來(lái)的四個(gè)指令。Cortex-M0+還具有專(zhuān)用的總線(xiàn)用于單周期GPIO,這意味著(zhù)你能夠利用位控制的GPIO實(shí)現確定接口,就像8位MCU那樣,但卻以32位內核的性能來(lái)處理該數據。
Cortex-M0+的另外一個(gè)重要的不同特點(diǎn)是增加了微型跟蹤緩沖器(MTB)。該外設可使設計人員在調試過(guò)程中使用一些片上RAM來(lái)存儲程序分支。這些分支隨后能夠回傳到集成開(kāi)發(fā)環(huán)境中,而且可以重建程序流程。這一功能提供了一種初步的指令跟蹤能力,這對于不具備擴展跟蹤宏單元(ETM)功能的Cortex-M3和Cortex-M4來(lái)說(shuō)比較有意義。從Cortex-M0+中提取的調試信息等級顯著(zhù)高于8位MCU,這就意味著(zhù)那些難以解決的調試問(wèn)題變得更加容易解決。
綜上所述,Cortex處理器系列產(chǎn)品為滿(mǎn)足你的應用性能需求而提供了多種選項。無(wú)需勞神費力,也無(wú)論針對高端平板電腦還是物聯(lián)網(wǎng)中超低成本的無(wú)線(xiàn)傳感器節點(diǎn),你都能夠發(fā)現一款適合應用所需的處理器。
評論