標籤:分享 -- 功能 .com mcu 通訊 手機 tps csdn
轉:深入淺談,CPU設計原理
一、ARM核心和架構
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燈燈光秀啊都給我上。
二、ARM 處理器命名規則
ARM 處理器傳統的命名是 ARM + 數位方式:ARM7、ARM9、ARM11,在 ARM11 以後,ARM 公司使用了新的命名方式:Cortex,對比傳統的方式就應該是 ARM12。
Cortex 架構目前分為 3 個系列,效能及複雜度由低到高分別是:M、R、A。
Cortex-M 系列主要的目標是微控制器市場,就是傳統的 MCU、單片機之類,分為 Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4 等幾個檔次。
Cortex-R 系列主要目標是高端的即時系統,包括基帶、汽車、大型存放區、工業和醫學市場等等,分為 Cortex-R4、Cortex-R5、Cortex-R7 幾個檔次。
Cortex-A 系列主要面向通用處理應用市場,可向託管豐富 OS 平台和使用者應用程式的裝置提供全方位的從超低成本手機、智能手機、移動計算平台、數字電視和機頂盒到商業網路、印表機和伺服器解決方案,處理器有:Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A12、Cortex-A15、Cortex-A17、Cortex-53、Cortex-A57 等等。
三、ARM架構授權、IP核授權、
一個公司若想使用ARM的核心來做自己的處理器,比如ST、蘋果、三星、TI、高通、華為等等,必須向ARM公司購買其架構下的不同層級授權,根據使用需要購買相應的層級授權。
架構的授權方式有三種:架構層級授權、核心層級授權(ip核授權)、使用層級授權。
從高到低----------->>>>>>>__>>>>
1.架構層級授權,是指可以對ARM架構進行大幅度改造,甚至可以對ARM指令集進行擴充或縮減,蘋果就是一個很好的例子,在使用ARMv7-A架構基礎上,擴充出了自己的蘋果swift架構;
2.核心層級授權,是指可以以一個核心為基礎然後在加上自己的外設,比如USART GPIO SPI ADC 等等,最後形成了自己的MCU,這些很多,比如三星TI;
3.使用層級授權,要想使用一款處理器,得到使用層級的授權是最基本的,這就意味著你只能拿別人提供的定義好的ip來嵌入在你的設計中,不能更改人家的ip,也不能藉助人家的ip創造自己的基於該ip的封裝產品;
因此,如果華為分別拿到架構授權和ip核授權,那麼意味著它可以在ARM指令集基礎上根據需要建立出自己的核心架構,並可添加各種片內外設比如通訊介面、顯示器控制介面、GPIO等等,從而生產出自己的“處理器晶片”。
其實就像我寫了一篇文章,我告訴甲,你可以拿去修改後使用,便是架構層級授權,我告訴乙,你可以在你的文章中引用我的文章,便是核心級授權,我告訴丙,你只能對我的文章進行轉寄,不能更改,不能添油加醋,便是使用層級授權。
ARM核心和架構