ARM產品越來越豐富,命名也越來越多。很多朋友提問: ARM內核和架構都是什么意思?內核和架構的關系是什么?比如ARMv7架構,這個架構指的是什么?
1. ARM內核:從ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,總之不同版本 ARM 有不同的想法。比如為高速度設計的Cortex A8、A9都是ARMv7a 架構;Cortex M3、M4是ARMv7m架構;前者是內核,后者是指令集的架構。
2. ARM的架構都是基于RISC指令集而架構的,而其內核只是實現這一指令集的硬件架構的基礎,Thumb-2指令集架構(ISA)的子集,包含所有基本的16位 和32位Thumb-2指令、 哈佛處理器架構,在加載/存儲數據的同時能夠執行指令取指,帶分支預測的三級流水線等。
3. 好比你蓋房子,剛開始因為水平低流行蓋平房,這就是一種架構(V5T),然后這種平房架構你可以設計出一款獨立衛生間的款式, 這叫ARM7內核。 然后其他人(芯片設計公司)想蓋房子的就買你這個圖紙去蓋,接著過一段時間,有人覺得光獨立衛生間還不夠啊, 我還想有個小院子! 好吧,那ARM就滿足你們的要求,出個帶小院子的款式(ARM9)。
又過了很久, 這種平房的架構就隨著大伙的需求一直改啊改啊,后來經過ARM研究發現: 現在大伙蓋房子的能力duang duang直升啊(包括工藝、設計能力、時鐘主頻),只蓋這種平房施展不開啊! 好吧,ARM為了不讓這幫設計的人閑著,就推出一種二三層樓房的樣式, 這因為跟平房設計結構完全不一樣嘛, 那就叫一種新的架構(ARMv6),同樣這種樓房樣式ARM也為大家準備了帶游泳池的和帶車庫的款式(ARM11),好吧繼續改啊改啊, 改到后來大家已經開始有能力蓋十層以上的大樓了。 ARM一如既往地出了新的款式(ARMv7架構), 這時ARM覺得以前名字都太土鱉了, 什么ARM5、 ARM6、 ARM7—又難聽又難記, 我要取個看起來牛逼的名字, 咱至少也算個能設計摩天大樓的主兒了, 于是后面的內核都叫Cortex。
改名只是一部分, 隨著這個架構出來后, ARM發現以前用咱們圖紙蓋出的樓也就做個民宅, 民宅圖個啥? 實惠嘛(功耗低)。 現在不一樣了,現在咱的圖紙蓋得樓不僅可以做民宅,還可以做軍事基地、 還可以做高檔寫字樓, 以前這些高級功能的樓房可是只有小英(英特爾)才能設計出來的啊!為了滿足這些不同的需求, ARM把這個架構設計出來的款式分成3個系列(M系列、R系列、A系列)。
M系列是為民宅設計的, 因為老百姓圖實惠嘛, 這種設計就設計個十層左右(功耗低); R系列是為軍事基地設計的, 這種樓設計的也不高— 十層左右吧, 但是關鍵是要對特殊情況要有快速反應的能力(中斷快); 最后A系列是給商業大佬用的, 那當然是要高端大氣上檔次, 就是要性能高,各種LED燈燈光秀啊都給我上。