大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是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內核全解析
歡迎訂閱
文章會同時發布到我的 博客園主頁、CSDN主頁、微信公眾號 平台上。
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。