眾所周知,ARM公司是一家微處理器行業(yè)的知名企業(yè),ARM公司本身并不靠自有的設(shè)計(jì)來制造或出售CPU,而是將處理器架構(gòu)授權(quán)給有興趣的廠家。這些廠家基本涵蓋了全球領(lǐng)先的知名半導(dǎo)體企業(yè)、軟件和OEM廠商:TI, NXP, ST, Infineon, ADI, Cypress;Atollic,IAR system,F(xiàn)reeRTOS,SEGGER等。
1.ARM內(nèi)核體系架構(gòu)歷史
ARM是Advanced RISC Machines的縮寫。ARM架構(gòu)是一個(gè)32位精簡指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計(jì)。
迄今為止(2016年)ARM架構(gòu)已經(jīng)發(fā)展到了第八代ARMv8,在了解最新架構(gòu)之前有必要重溫一下ARM架構(gòu)發(fā)展史:
1985年,ARMv1架構(gòu)誕生,該版架構(gòu)只在原型機(jī)ARM1出現(xiàn)過,只有26位的尋址空間(64MB),沒有用于商業(yè)產(chǎn)品。
1986年,ARMv2架構(gòu)誕生,首顆量產(chǎn)的ARM處理器ARM2就是基于該架構(gòu),包含了對32位乘法指令和協(xié)處理器指令的支持,但同樣仍為26位尋址空間。其后還出現(xiàn)了變種ARMv2a,ARM3即采用了ARMv2a,是第一片采用片上Cache的ARM處理器。
1990年,ARMv3架構(gòu)誕生,第一個(gè)采用ARMv3架構(gòu)的微處理器是ARM6(610)以及ARM7,其具有片上高速緩存、MMU和寫緩沖,尋址空間增大到32位(4GB)。
1993年,ARMv4架構(gòu)誕生,這個(gè)架構(gòu)被廣泛使用,ARM7(7TDMI)、ARM8、ARM9(9TDMI)和StrongARM采用了該架構(gòu)。ARM在這個(gè)系列中引入了T變種指令集,即處理器可工作在Thumb狀態(tài),增加了16位Thumb指令集。
1998年,ARMv5架構(gòu)誕生,ARM7(EJ)、ARM9(E)、ARM10(E)和Xscale采用了該架構(gòu),這版架構(gòu)改進(jìn)了ARM/Thumb狀態(tài)之間的切換效率。此外還引入了DSP指令和支持JAVA。
2001年,ARMv6架構(gòu)誕生,ARM11采用的是該架構(gòu),這版架構(gòu)強(qiáng)化了圖形處理性能。通過追加有效進(jìn)行多媒體處理的SIMD將語音及圖像的處理功能大大提高。此外ARM在這個(gè)系列中引入了混合16位/32位的Thumb-2指令集。
2004年,ARMv7架構(gòu)誕生,從這個(gè)時(shí)候開始ARM以Cortex來重新命名處理器,Cortex-M3/4/7,Cortex-R4/5/6/7,Cortex-A8/9/5/7/15/17都是基于該架構(gòu)。該架構(gòu)包括NEON™技術(shù)擴(kuò)展,可將DSP和媒體處理吞吐量提升高達(dá)400%,并提供改進(jìn)的浮點(diǎn)支持以滿足下一代3D圖形和游戲以及傳統(tǒng)嵌入式控制應(yīng)用的需要。
2007年,在ARMv6基礎(chǔ)上衍生了ARMv6-M架構(gòu),該架構(gòu)是專門為低成本、高性能設(shè)備而設(shè)計(jì),向以前由8位設(shè)備占主導(dǎo)地位的市場提供32位功能強(qiáng)大的解決方案。Cortex-M0/1/0+即采用的該架構(gòu)。
2011年,ARMv8架構(gòu)誕生,Cortex-A32/35/53/57/72/73采用的是該架構(gòu),這是ARM公司的首款支持64位指令集的處理器架構(gòu)。
2015年,在ARMv6-M基礎(chǔ)上衍生了ARMv8-M baseline,在ARMv7-M基礎(chǔ)上衍生了ARMv8-M mainline,Cortex-M23采用的是ARMv8-M baseline架構(gòu),Cortex-M33采用的是ARMv8-M mainline。這兩款處理器加入了TrustZone支持,面向IoT物聯(lián)網(wǎng)市場。