當(dāng)前位置:首頁 > 公眾號精選 > 程序員小哈
[導(dǎo)讀]一文幫你梳理基礎(chǔ)概念!

前言

有粉絲問我到底什么是ARM,搞不清楚Cortex、arm內(nèi)核、arm架構(gòu)、ARM指令集、soc這些概念都是什么關(guān)系,下面一口君給大家整理一下關(guān)于ARM相關(guān)的一些概念。

1、ARM既可以認為是一個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術(shù)的名字。2、ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計開發(fā)的公司,作為知識產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),而是轉(zhuǎn)讓設(shè)計許可,由合作公司生產(chǎn)各具特色的芯片。3、ARM處理器的內(nèi)核是統(tǒng)一的,由ARM公司提供,而片內(nèi)部件則是多樣的,由各大半導(dǎo)體公司設(shè)計,這使得ARM設(shè)計嵌入式系統(tǒng)的時候,可以基于同樣的核心,使用不同的片內(nèi)外設(shè),從而具有很大的優(yōu)勢。

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

ARM公司

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

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

CPU公司成立之后,主要從事電子設(shè)備設(shè)計和制造的業(yè)務(wù)。他們接到的第一份訂單,是制造賭博機的微控制器系統(tǒng)。

這個微控制器系統(tǒng)被開發(fā)出來后,稱之為Acorn System 1。

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

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

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

但是他們就發(fā)現(xiàn),自己產(chǎn)品的硬件設(shè)計并不能滿足需求。當(dāng)時,中央處理器的發(fā)展潮流,正在從8位變成16位。Acorn并沒有合適的芯片可以用。

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

備受打擊的Acorn公司,一氣之下決定自己干,自己造芯片。(多么熟悉的橋段?。?/p>

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

在此基礎(chǔ)上,經(jīng)過多年的艱苦奮斗,來自劍橋大學(xué)的計算機科學(xué)家Sophie Wilson和Steve Furber最終完成了微處理器的設(shè)計。前者負責(zé)指令集開發(fā),后者負責(zé)芯片設(shè)計。

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

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

在ARM1之后,Acorn陸續(xù)推出了好幾個系列,例如ARM2,ARM3。

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

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

前面的芯片名稱:Acorn RISC Machine現(xiàn)在的公司名稱:Advanced RISC Machines

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

ARM公司既不出產(chǎn)芯片也不出售芯片,它只出售芯片技能授權(quán)。

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

1998年4月17日,業(yè)務(wù)飛速發(fā)展的ARM控股公司,同時在倫敦證交所和納斯達克上市。2007年,劃時代產(chǎn)品-iPhone 問世。而第一代iPhone,正是使用了ARM設(shè)計、三星制造的芯片。

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

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

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

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

靜觀其變吧!

ARM內(nèi)核與架構(gòu)

任何一款A(yù)RM芯片都由兩大部分組成:ARM內(nèi)核,外設(shè)。

ARM內(nèi)核

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

外設(shè)部分包括計時器、A/D轉(zhuǎn)換器、存儲器、i2c、UART、SPI、ROM...等等,則完全由各芯片廠商自己設(shè)計并與ARM內(nèi)核銜接配套。不同的芯片廠商就有不同的外設(shè),因此構(gòu)成了數(shù)量和規(guī)格龐大的ARM芯片產(chǎn)業(yè)。

ARM指令集架構(gòu)

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

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

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

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

從1985年ARMv1架構(gòu)誕生起,到2011年,ARM架構(gòu)已經(jīng)發(fā)展到了第八代ARMv8。

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

ARM11之前的處理器和指令集架構(gòu)

ARM11芯片之前,每一個芯片對應(yīng)的架構(gòu)關(guān)系如下:

ARM11之后處理器和指令集架構(gòu)

ARM11芯片之后,也就是從ARMv7架構(gòu)開始,ARM的命名方式有所改變。

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

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

在這里插入圖片描述

Cortex-A系列(A:Application)

針對日益增長的消費娛樂和無線產(chǎn)品設(shè)計,用于具有高計算要求、運行豐富操作系統(tǒng)及提供交互媒體和圖形體驗的應(yīng)用領(lǐng)域,如智能手機、平板電腦、汽車娛樂系統(tǒng)、數(shù)字電視,智能本、電子閱讀器、家用網(wǎng)絡(luò)、家用網(wǎng)關(guān)和其他各種產(chǎn)品。。

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

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

Cortex-M系列(M:Microcontroller)

該系列面向微控制器領(lǐng)域,主要針對成本和功耗敏感的應(yīng)用,如智能測量、人機接口設(shè)備、汽車和工業(yè)控制系統(tǒng)、家用電器、消費性產(chǎn)品和醫(yī)療器械等。

Cortex-SC系列(SC:SecurCore)

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

ARM的產(chǎn)品天梯

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

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

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

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

什么是SOC?

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

SoC上集成了很多手機上最關(guān)鍵的部件,比如CPU、GPU、內(nèi)存、也就說雖然它在主板上的存在是一個芯片,但是它里邊可是由很多部件封裝組成的。

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

經(jīng)典的ARM系統(tǒng)級芯片或所謂的Soc 包含許多組件,其中只有一些直接源自ARM。首先,核心本身通常深度嵌入在設(shè)備內(nèi)部,在設(shè)備范疇內(nèi)通常不直接可見,而調(diào)試端口通常是唯一和核心本身相連的外露部分,有一些粘合邏輯,如時鐘和復(fù)位集成電路。

由于 ARM 核心只有兩個中斷輸入,最常見的外設(shè)就是某種中斷控制器,在外設(shè)內(nèi)部,各組件通過芯片上互聯(lián)總線架構(gòu)相互連接,對于極大多數(shù)基于ARM的設(shè)備而言,這就是標(biāo)準(zhǔn)的 AMBA 互聯(lián)。

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

舉例:Exynos 4412 SCP

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

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

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

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

如下圖所示,就是三星最終生產(chǎn)的Exynos ?4412 ?,當(dāng)然了,光有這個soc還無法運行安卓,還需要借助外圍大量的外設(shè)才能最終形成一個完整的系統(tǒng),但是大部分最復(fù)雜的硬件部分模塊都已經(jīng)集成到了這個soc中。目前各大廠商所做的事情,就是買來ARM的授權(quán),得到ARM處理器的源代碼,而后自己搞一些外圍IP(或者買或者自己設(shè)計),組成一個SOC后,去流片。不同的SOC,架構(gòu)不同(就是CPU如何和IP聯(lián)系起來,有的以總線為核心,有的以DDR為核心)。

海思是擁有自主產(chǎn)權(quán)的SOC架構(gòu)??墒?,無論任何廠商,再怎么折騰,都沒有怎么動過CPU,ARM核心就好好的呆在那里,那就是中央處理器。

ARM授權(quán)

如何來理解ARM授權(quán)呢?

就比如我們制造汽車,ARM公司相當(dāng)于擁有最先進的的'發(fā)動機'設(shè)計方案,但是他不'生產(chǎn)發(fā)動機',而是把設(shè)計方案授權(quán)給各大'汽車廠商'生產(chǎn),賺來的錢繼續(xù)研發(fā)更先進的‘發(fā)動機’。

ARM授權(quán)分為ARM架構(gòu)授權(quán)、IP核授權(quán)、使用層級授權(quán)

一個公司若想使用ARM的內(nèi)核來做自己的處理器,比如ST、蘋果、三星、TI、高通、華為等等,必須向ARM公司購買其架構(gòu)下的不同層級授權(quán),根據(jù)使用需要購買相應(yīng)的層級授權(quán)。

架構(gòu)的授權(quán)方式有三種:架構(gòu)層級授權(quán)、內(nèi)核層級授權(quán)(ip核授權(quán))、使用層級授權(quán)。

1.架構(gòu)層級授權(quán),是指可以對ARM架構(gòu)進行大幅度改造,甚至可以對ARM指令集進行擴展或縮減,蘋果就是一個很好的例子,在使用ARMv7-A架構(gòu)基礎(chǔ)上,擴展出了自己的蘋果swift架構(gòu);

2.內(nèi)核層級授權(quán),是指可以以一個內(nèi)核為基礎(chǔ)然后在加上自己的外設(shè),比如USART、GPIO、SPI、ADC等等,最后形成了自己的MCU,這種公司很多,比如三星、TI;

3.使用層級授權(quán),要想使用一款處理器,得到使用層級的授權(quán)是最基本的,這就意味著你只能拿別人提供的定義好的ip來嵌入在你的設(shè)計中,不能更改人家的ip,也不能借助人家的ip創(chuàng)造自己的基于該ip的封裝產(chǎn)品。

因此,如果華為分別拿到架構(gòu)授權(quán)和ip核授權(quán),那么意味著它可以在ARM指令集基礎(chǔ)上根據(jù)需要創(chuàng)建出自己的內(nèi)核架構(gòu),并可添加各種片內(nèi)外設(shè)比如通信接口、顯示器控制接口、GPIO等等,從而生產(chǎn)出自己的“處理器芯片”。

其實就像我寫了一篇文章,我告訴甲,你可以拿去修改后使用,便是架構(gòu)層級授權(quán),我告訴乙,你可以在你的文章中引用我的文章,便是內(nèi)核級授權(quán),我告訴丙,你只能對我的文章進行轉(zhuǎn)發(fā),不能更改,不能添油加醋,便是使用層級授權(quán)。

總結(jié)

下面我們總結(jié)下這些概念:

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




?



推薦閱讀


【1】 100ASK_IMX6ULL arm板子如何顯示圖片、漢字、劃線、背景色
【2】嵌入式數(shù)據(jù)庫sqlite3【進階篇】-子句和函數(shù)的使用,小白一文入門
【3】 Linux信號量(2)-POSIX 信號量
【4】 手把手教Linux驅(qū)動8-Linux IO模型
【5】 C語言中的短路現(xiàn)象
【6】 C語言操作時間函數(shù),實現(xiàn)定時執(zhí)行某個任務(wù)小程序

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉