大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是ARM核心架構歷史。
眾所周知,ARM公司是一家微處理器行業的知名企業,ARM公司本身並不靠自有的設計來製造或出售CPU,而是將處理器架構授權給有興趣的廠家。這些廠家基本涵蓋了全球領先的知名半導體企業、軟體和OEM廠商:TI, NXP, ST, Infineon, ADI, Cypress;Atollic,IAR system,FreeRTOS,SEGGER等。
1.ARM核心體系架構歷史
ARM是Advanced RISC Machines的縮寫。ARM架構是一個32位精簡指令集(RISC)處理器架構,其廣泛地使用在許多嵌入式系統設計。
迄今為止(2016年)ARM架構已經發展到了第八代ARMv8,在瞭解最新架構之前有必要重溫一下ARM架構發展史:
1985年,ARMv1架構誕生,該版架構只在原型機ARM1出現過,只有26位的定址空間(64MB),沒有用於商業產品。
1986年,ARMv2架構誕生,首顆量產的ARM處理器ARM2就是基於該架構,包含了對32位乘法指令和協處理器指令的支援,但同樣仍為26位定址空間。其後還出現了變種ARMv2a,ARM3即採用了ARMv2a,是第一片採用片上Cache的ARM處理器。
1990年,ARMv3架構誕生,第一個採用ARMv3架構的微處理器是ARM6(610)以及ARM7,其具有片上快取記憶體、MMU和寫緩衝,定址空間增大到32位(4GB)。
1993年,ARMv4架構誕生,這個架構被廣泛使用,ARM7(7TDMI)、ARM8、ARM9(9TDMI)和StrongARM採用了該架構。ARM在這個系列中引入了T變種指令集,即處理器可工作在Thumb狀態,增加了16位Thumb指令集。
圖1. ARM V5 to V8 Architecture
1998年,ARMv5架構誕生,ARM7(EJ)、ARM9(E)、ARM10(E)和Xscale採用了該架構,這版架構改進了ARM/Thumb狀態之間的切換效率。此外還引入了DSP指令和支援JAVA。
2001年,ARMv6架構誕生,ARM11採用的是該架構,這版架構強化了圖形處理效能。通過追加有效進行多媒體處理的SIMD將語音及影象的處理功能大大提高。此外ARM在這個系列中引入了混合16位/32位的Thumb-2指令集。
圖2. PD ARM7 CPU Alternativess
2004年,ARMv7架構誕生,從這個時候開始ARM以Cortex來重新命名處理器,Cortex-M3/4/7,Cortex-R4/5/6/7,Cortex-A8/9/5/7/15/17都是基於該架構。該架構包括NEON™技術擴充套件,可將DSP和媒體處理吞吐量提升高達400%,並提供改進的浮點支援以滿足下一代3D圖形和遊戲以及傳統嵌入式控制應用的需要。
2007年,在ARMv6基礎上衍生了ARMv6-M架構,該架構是專門為低成本、高效能裝置而設計,向以前由8位裝置占主導地位的市場提供32位功能強大的解決方案。Cortex-M0/1/0+即採用的該架構。
2011年,ARMv8架構誕生,Cortex-A32/35/53/57/72/73採用的是該架構,這是ARM公司的首款支援64位指令集的處理器架構。
2015年,在ARMv6-M基礎上衍生了ARMv8-M baseline,在ARMv7-M基礎上衍生了ARMv8-M mainline,Cortex-M23採用的是ARMv8-M baseline架構,Cortex-M33採用的是ARMv8-M mainline。這兩款處理器加入了TrustZone支援,面向IoT物聯網市場。
圖3. Performance and scalability for a diverse range of applications
參考資料:
[1]. ARM架構和ARM晶片
[2]. ARM體系版本
[3]. ARM版本及系列
[4]. ARM核心全解析