tft每日頭條

 > 生活

 > cortex和arm有什麼不同

cortex和arm有什麼不同

生活 更新时间:2024-11-24 15:28:37
前言

有粉絲問我到底什麼是ARM,搞不清楚Cortex、arm内核、arm架構、ARM指令集、SoC這些概念都是什麼關系,下面一口君給大家整理一下關于ARM相關的一些概念。

1、ARM既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。 2、ARM公司是專門從事基于RISC技術芯片設計開發的公司,作為知識産權供應商,本身不直接從事芯片生産,而是轉讓設計許可,由合作公司生産各具特色的芯片。 3、ARM處理器的内核是統一的,由ARM公司提供,而片内部件則是多樣的,由各大半導體公司設計,這使得ARM設計嵌入式系統的時候,可以基于同樣的核心,使用不同的片内外設,從而具有很大的優勢。

下面我們針對這些概念,給大家逐一介紹。

ARM公司

ARM首先是一個公司,即Advanced RISC Machines的縮寫。 但是他本來并不叫這個名字,來看看ARM公司的成長曆史。

1978年,一個名叫Hermann Hauser的奧地利籍物理學博士,還有他的朋友,一個名叫Chris Curry的英國工程師成立了一家名字叫“CPU”的公司。這家CPU公司的全稱,是Cambridge Processor Unit,字面意思是“劍橋處理器單元”。

CPU公司成立之後,主要從事電子設備設計和制造的業務。他們接到的第一份訂單,是制造賭博機的微控制器系統。

這個微控制器系統被開發出來後,稱之為Acorn System 1。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)1

之所以叫Acorn,就是因為他們想在電話黃頁裡排在Apple(蘋果)公司的前面。

在Acorn System 1之後,他們又陸續開發了System 2、3、4,還有面向消費者的盒式計算機——Acorn Atom。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)2

到了1981年,公司迎來了一個難得的機遇——英國廣播公司BBC打算在整個英國播放一套提高電腦普及水平的節目,他們希望Acorn能生産一款與之配套的電腦。

但是他們就發現,自己産品的硬件設計并不能滿足需求。當時,中央處理器的發展潮流,正在從8位變成16位。Acorn并沒有合适的芯片可以用。

于是,他們打算去找當時如日中天的英特爾(Intel),希望對方提供一些80286處理器的設計資料和樣品。然而,英特爾無情地拒絕了他們。

備受打擊的Acorn公司,一氣之下決定自己幹,自己造芯片。(多麼熟悉的橋段!)

于是Acorn公司的研發人員從美國加州大學伯克利分校找到了一個關于新型處理器的研究——簡化指令集,恰好可以滿足他們的設計要求。

在此基礎上,經過多年的艱苦奮鬥,來自劍橋大學的計算機科學家Sophie Wilson和Steve Furber最終完成了微處理器的設計。前者負責指令集開發,後者負責芯片設計。

對于這塊芯片,Acorn給它命名為Acorn RISC Machine

這就是**“ARM”**三個字母的由來。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)3

在ARM1之後,Acorn陸續推出了好幾個系列,例如ARM2,ARM3。

1990年,Acorn為了和蘋果合作,專門成立了一家公司,名叫ARM。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)4

注意,這裡的ARM是公司名稱,不是芯片名稱。這個ARM的完全拼寫也不一樣,是Advanced RISC Machines。

前面的芯片名稱:Acorn RISC Machine 現在的公司名稱:Advanced RISC Machines

20世紀90年代,ARM 32位RISC(Reduced lnstruction Set Computer)處理器擴展到國際範圍,占有了低功耗、低成本和高功能的嵌入式體系運用領域的領先地位。

ARM公司既不出産芯片也不出售芯片,它隻出售芯片技能授權。

正式這個政策的制定,讓ARM公司擺脫了現金流的困擾,可以全身心都入到芯片研發上。

1998年4月17日,業務飛速發展的ARM控股公司,同時在倫敦證交所和納斯達克上市。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)5

2007年,劃時代産品-iPhone 問世。 而第一代iPhone,正是使用了ARM設計、三星制造的芯片。

2008年,谷歌推出了Android(安卓)系統,也是基于ARM指令集。 至此,智能手機進入了飛速發展階段,ARM也因此奠定了在智能手機市場的霸主地位。

2016年7月18日消息,日本軟銀以234億英鎊(約合310億美元)的價格收購英國芯片設計公司ARM。

2020年9月14日,英偉達正式宣布将以400億美元的價格從軟銀手中收購ARM公司。根據協議,英偉達将向軟銀公司支付價值215億美元的英偉達股票,以及120億美元現金。

目前這樁收購案遭到了包括英特爾、高通、特斯拉等多家矽谷科技巨頭的反對,他們認為這筆交易對行業不利,此外中國和歐盟的監管機構也可能會反對該收購案。

靜觀其變吧!

ARM内核與架構

任何一款ARM芯片都由兩大部分組成:ARM内核,外設。

ARM内核

ARM内核: 包括了寄存器組、指令集、總線、存儲器映射規則、中斷邏輯和調試組件等。 内核是由ARM公司設計并以銷售方式授權給個芯片廠商使用的(ARM公司本身不做芯片)。 比如為高速度設計的Cortex A8、A9都是ARMv7a 架構;Cortex M3、M4是ARMv7m架構;前者是處理器(就是内核),後者是指令集的架構(也簡稱架構)

外設部分 包括計時器、A/D轉換器、存儲器、i2c、UART、SPI、ROM...等等,則完全由各芯片廠商自己設計并與ARM内核銜接配套。不同的芯片廠商就有不同的外設,因此構成了數量和規格龐大的ARM芯片産業。

ARM指令集架構

指令集的設計是處理器結構中最重要的一個部分,用ARM的術語稱之為ISA(Instruction Set Architecture)。

指令集可以說是cpu設計的靈魂,是打開CPU這個潘多拉魔盒的咒語,要想使用cpu,我們隻能通過這些指令來操作cpu。

對于32位的cpu,這些指令就是一個個32位的01的序列,不同的值就代表了不同的機器指令,cpu的硬件能完美的解析并執行這些指令,比如尋址、運算、異常處理等等。

當我們用手機玩着王者榮耀的時候,要知道我們的每發的一招,其實最終都是被翻譯成了一系列機器指令。

從1985年ARMv1架構誕生起,到2011年,ARM架構已經發展到了第八代ARMv8。

Cortex-A32/35/53/57/72/73/77/78采用的都是ARMv8架構,這是ARM公司的首款支持64位指令集的處理器架構。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)6

ARM11之前的處理器和指令集架構

ARM11芯片之前,每一個芯片對應的架構關系如下:

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)7

ARM11之後處理器和指令集架構

ARM11芯片之後,也就是從ARMv7架構開始,ARM的命名方式有所改變。

新的處理器家族,改以Cortex命名,并分為三個系列,分别是Cortex-A,Cortex-R,Cortex-M。

很巧合,又是這三個字母A、R、M

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)8

在這裡插入圖片描述

Cortex-A系列(A:Application)

針對日益增長的消費娛樂和無線産品設計,用于具有高計算要求、運行豐富操作系統及提供交互媒體和圖形體驗的應用領域,如智能手機、平闆電腦、汽車娛樂系統、數字電視,智能本、電子閱讀器、家用網絡、家用網關和其他各種産品。。

Cortex-R系列 (R:Real-time)

針對需要運行實時操作的系統應用,面向如汽車制動系統、動力傳動解決方案、大容量存儲控制器等深層嵌入式實時應用。

Cortex-M系列(M:Microcontroller)

該系列面向微控制器領域,主要針對成本和功耗敏感的應用,如智能測量、人機接口設備、汽車和工業控制系統、家用電器、消費性産品和醫療器械等。

Cortex-SC系列(SC:SecurCore)

其實,除了上述三大系列之外,還有一個主打安全的Cortex-SC系列(SC:SecurCore),主要用于政府安全芯片。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)9

ARM的産品天梯

ARM11系列包括了ARM11MPCore處理器、ARM1176處理器、ARM1156處理器、ARM1136處理器,它們是基于ARMv6架構。

ARM Cortex-A5處理器、Cortex-A7處理器、Cortex-A8處理器、Cortex-A9處理器、Cortex-A15處理器隸屬于Cortex-A系列,基于ARMv7-A架構。

Cortex-A53、Cortex-A57兩款處理器屬于Cortex-A50系列,首次采用64位ARMv8架構。

2020年ARM最近發布了一款全新的CPU架構Cortex-A78,是基于ARMv8.2指令集。

什麼是SOC?

SoC的全稱叫做:System-on-a-Chip,中文的的意思就是“把系統都做在一個芯片上”。

SoC上集成了很多手機上最關鍵的部件,比如CPU、GPU、内存、也就說雖然它在主闆上的存在是一個芯片,但是它裡邊可是由很多部件封裝組成的。

比如通常我們所說的高通801,麒麟950.三星的exynos 4412,A6等等都隻是系統部件打包封裝(SoC)後的總稱。然而各家的打包封裝的内容則不盡相同,原因也不盡相同。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)10

經典的ARM系統級芯片或所謂的Soc 包含許多組件,其中隻有一些直接源自ARM。首先,核心本身通常深度嵌入在設備内部,在設備範疇内通常不直接可見,而調試端口通常是唯一和核心本身相連的外露部分,有一些粘合邏輯,如時鐘和複位集成電路。

由于 ARM 核心隻有兩個中斷輸入,最常見的外設就是某種中斷控制器,在外設内部,各組件通過芯片上互聯總線架構相互連接,對于極大多數基于ARM的設備而言,這就是标準的 AMBA 互聯。

AMBA 指定了兩個總線,稱為AXI的高性能系統總線,和稱為APB的低功耗外設總線,APB通常用于連接所有外設,AXI則用于存儲器和其他發高速設備,大多數設備都有一定數量的芯片上存儲以及連接外設存儲器設備的接口,但是注意,與設備的外部連接并不是AMBA總線,這僅在設備内部使用,并不外露。

舉例:Exynos 4412 SCP

下面我們以 三星的Exynos(獵戶座) 4412 SCP為例,來講解這幾個概念。

  1. 三星的Exynos 4412 SCP 是一款基于Cortex-A9的SOC;
  2. 如下圖所示,Exynos 4412包含了4個Cortex-A9的處理器(核);
  3. Cortex-A9是基于ARMv7-A架構(指令集)的。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)11

由上圖可知,exynos 4412出了包含4個Cortex-A9核,還包括大量的外設控制器:DRAM Controller、SROM Controller、Camera IF、JPEG、GPS/GLONASS、Power Management、USB Host、I2C、UART、SPI等。

和三星相同的其他和arm合作的各大廠商通常會把它的CPU和各類外圍IP都放到一起,然後自己拿着圖紙去流片,生産出來的也是一個正方形,下面有很多引腳,這個東西不僅包含了CPU,還包含了其他的控制器,這個東西就叫做SOC(system on chip)。

如下圖所示,就是三星最終生産的Exynos 4412 ,當然了,光有這個soc還無法運行安卓,還需要借助外圍大量的外設才能最終形成一個完整的系統,但是大部分最複雜的硬件部分模塊都已經集成到了這個soc中。

cortex和arm有什麼不同(到底什麼是CortexARMv8arm架構)12

目前各大廠商所做的事情,就是買來ARM的授權,得到ARM處理器的源代碼,而後自己搞一些外圍IP(或者買或者自己設計),組成一個SOC後,去流片。不同的SOC,架構不同(就是CPU如何和IP聯系起來,有的以總線為核心,有的以DDR為核心)。

海思是擁有自主産權的SOC架構。可是,無論任何廠商,再怎麼折騰,都沒有怎麼動過CPU,ARM核心就好好的呆在那裡,那就是中央處理器。

ARM授權

如何來理解ARM授權呢?

就比如我們制造汽車,ARM公司相當于擁有最先進的的'發動機'設計方案,但是他不'生産發動機',而是把設計方案授權給各大'汽車廠商'生産,賺來的錢繼續研發更先進的‘發動機’。

ARM授權分為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等等,從而生産出自己的“處理器芯片”。

其實就像我寫了一篇文章,我告訴甲,你可以拿去修改後使用,便是架構層級授權,我告訴乙,你可以在你的文章中引用我的文章,便是内核級授權,我告訴丙,你隻能對我的文章進行轉發,不能更改,不能添油加醋,便是使用層級授權。

總結

下面我們總結下這些概念:

  1. ARM公司的名字,叫ARM:Advanced RISC Machines;
  2. ARM前身Acorn公司設計的第一款微處理器,叫ARM:Acorn RISC Machine;
  3. ARM處理器名字: 以前叫ARM9、ARM11, 新的命名規則改以Cortex命名,分别是Cortex-A,Cortex-R,Cortex-M; 這三個字母A、R、M合到一起又是ARM。
  4. ARM指令集,就是ARM架構,比如ARMv8,每個處理器都需要依賴一定的ARM架構來設計;
  5. SOC:各大廠商買來ARM的授權,得到ARM處理器的源代碼,而後自己搞一些外圍設備的IP(或者買或者自己設計),組成一個SOC,比如三星的Exynos 4412,華為的麒麟990。

更多嵌入式Linux的知識,請關注 一口Linux。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved