什么是ARM?_arm开发板(分别是什么意思)
原文
一、ARM是什么?
-
ARM既可以認(rèn)為是一個(gè)公司的名字 ,也可以認(rèn)為是對(duì)一類處理器的統(tǒng)稱 ,還可以認(rèn)為是一種技術(shù)的名字 。
-
ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計(jì)開發(fā) 的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),而是轉(zhuǎn)讓設(shè)計(jì)許可 ,由合作公司生產(chǎn)各具特色的芯片。
-
ARM處理器的內(nèi)核是統(tǒng)一的 ,由ARM公司提供,而片內(nèi)部件則是多樣的 ,由各大半導(dǎo)體公司設(shè)計(jì),這使得ARM設(shè)計(jì)嵌入式系統(tǒng)的時(shí)候,可以基于同樣的核心,使用不同的片內(nèi)外設(shè) ,從而具有很大的優(yōu)勢(shì)。
二、ARM內(nèi)核與架構(gòu)
任何一款arm芯片主要由兩大部分組成:arm內(nèi)核 ,外設(shè) 。
ARM內(nèi)核
arm內(nèi)核: arm內(nèi)核主要由:寄存器 、指令集 、總線 、存儲(chǔ)器映射規(guī)則 、中斷邏輯 和調(diào)試組件 等。
內(nèi)核是由ARM公司設(shè)計(jì)并以銷售方式授權(quán)給個(gè)芯片廠商使用的(ARM公司本身不做芯片)。比如為高速度設(shè)計(jì)的Cortex A8、A9都是ARMv7a 架構(gòu);Cortex M3、M4是ARMv7m架構(gòu);前者是處理器(就是內(nèi)核) ,后者是指令集的架構(gòu)(也簡(jiǎn)稱架構(gòu))。
外設(shè): 包括計(jì)時(shí)器、A/D轉(zhuǎn)換器、存儲(chǔ)器、I2C、UART、SPI、ROM等等。
由各個(gè)芯片廠商自己設(shè)計(jì)并與ARM內(nèi)核銜接配套。不同的芯片廠商就有不同的外設(shè),因此構(gòu)成了數(shù)量和規(guī)格龐大的ARM芯片產(chǎn)業(yè)。
arm指令集架構(gòu)
指令集的設(shè)計(jì)是處理器結(jié)構(gòu)中最重要的部分,用arm的術(shù)語稱之為ISA(Instruction Set Architecture)。
指令集可以說是cpu設(shè)計(jì)的靈魂,是打開CPU這個(gè)潘多拉魔盒的咒語,要想使用cpu,我們只能通過這些指令來操作cpu。
對(duì)于32位的cpu,這些指令就是一個(gè)個(gè)32位的01的序列,不同的值就代表了不同的機(jī)器指令 ,cpu的硬件能完美的解析并執(zhí)行這些指令,比如尋址、運(yùn)算、異常處理等等。
當(dāng)我們用手機(jī)玩著王者榮耀的時(shí)候,要知道我們的每發(fā)的一招,其實(shí)最終都是被翻譯成了一系列機(jī)器指令。
從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芯片之前,每一個(gè)芯片對(duì)應(yīng)的架構(gòu)關(guān)系如下:
ARM11之后處理器和指令集架構(gòu)
ARM11芯片之后,也就是從ARMv7架構(gòu) 開始,ARM的命名方式有所改變。
新的處理器家族,改以Cortex命名,并分為三個(gè)系列,分別是Cortex-A,Cortex-R,Cortex-M。
ARM處理器型號(hào)
Cortex-A系列(A:Application 應(yīng)用)
針對(duì)日益增長(zhǎng)的消費(fèi)娛樂和無線產(chǎn)品設(shè)計(jì),用于具有高計(jì)算要求、運(yùn)行豐富操作系統(tǒng)及提供交互媒體和圖形體驗(yàn)的應(yīng)用領(lǐng)域 ,如智能手機(jī)、平板電腦、汽車娛樂系統(tǒng)、數(shù)字電視,智能本、電子閱讀器、家用網(wǎng)絡(luò)、家用網(wǎng)關(guān)和其他各種產(chǎn)品。
Cortex-R系列 (R:Real-time 實(shí)時(shí))
針對(duì)需要運(yùn)行實(shí)時(shí)操作 的系統(tǒng)應(yīng)用,面向如汽車制動(dòng)系統(tǒng) 、動(dòng)力傳動(dòng)解決方案 、大容量存儲(chǔ)控制器 等深層嵌入式實(shí)時(shí)應(yīng)用。
Cortex-SC系列(SC:SecurCore)
其實(shí),除了上述三大系列之外,還有一個(gè)主打安全的Cortex-SC系列(SC:SecurCore),主要用于政府安全芯片 。
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)都做在一個(gè)芯片上 ”。
SoC上集成了很多手機(jī)上最關(guān)鍵的部件 ,比如CPU 、GPU 、內(nèi)存 、也就說雖然它在主板上的存在是一個(gè)芯片,但是它里邊可是由很多部件封裝組成的。
比如通常我們所說的高通801,麒麟950.三星的exynos 4412,A6等等都只是系統(tǒng)部件打包封裝(SoC)后的總稱。然而各家的打包封裝的內(nèi)容則不盡相同,原因也不盡相同。
經(jīng)典的ARM系統(tǒng)級(jí)芯片或所謂的Soc 包含許多組件,其中只有一些直接源自ARM。
首先,核心本身通常深度嵌入在設(shè)備內(nèi)部,在設(shè)備范疇內(nèi)通常不直接可見,而調(diào)試端口通常是唯一和核心本身相連的外露部分,有一些粘合邏輯,如時(shí)鐘和復(fù)位集成電路。
由于 ARM 核心只有兩個(gè)中斷輸入,最常見的外設(shè)就是某種中斷控制器,在外設(shè)內(nèi)部,各組件通過芯片上互聯(lián)總線架構(gòu)相互連接,對(duì)于極大多數(shù)基于ARM的設(shè)備而言,這就是標(biāo)準(zhǔn)的 AMBA 互聯(lián)。
AMBA 指定了兩個(gè)總線,稱為AXI的高性能系統(tǒng)總線 ,和稱為APB的低功耗外設(shè)總線 ,APB通常用于連接所有外設(shè),AXI則用于存儲(chǔ)器和其他發(fā)高速設(shè)備 ,大多數(shù)設(shè)備都有一定數(shù)量的芯片上存儲(chǔ)以及連接外設(shè)存儲(chǔ)器設(shè)備的接口,但是注意,與設(shè)備的外部連接并不是AMBA總線,這僅在設(shè)備內(nèi)部使用,并不外露。
四、舉例:Exynos 4412 SCP
下面我們以 三星的Exynos(獵戶座) 4412 SCP為例,來講解這幾個(gè)概念。
-
三星的Exynos 4412 SCP 是一款基于Cortex-A9的SOC;
-
如下圖所示,Exynos 4412包含了4個(gè)Cortex-A9的處理器(核);
-
Cortex-A9是基于ARMv7-A架構(gòu)(指令集)的。
由上圖可知,exynos 4412除了包含4個(gè)Cortex-A9核,
還包括大量的外設(shè)控制器:DRAM Controller、SROM Controller、Camera IF、JPEG、GPS/GLONASS、Power Management、USB Host、I2C、UART、SPI等。
和三星相同的其他和arm合作的各大廠商通常會(huì)把它的CPU和各類外圍IP都放到一起,然后自己拿著圖紙去流片,生產(chǎn)出來的也是一個(gè)正方形,下面有很多引腳,這個(gè)東西不僅包含了CPU,還包含了其他的控制器,這個(gè)東西就叫做SOC(system on chip)。
如下圖所示,就是三星最終生產(chǎn)的Exynos 4412 ,當(dāng)然了,光有這個(gè)soc還無法運(yùn)行安卓,還需要借助外圍大量的外設(shè)才能最終形成一個(gè)完整的系統(tǒng),但是大部分最復(fù)雜的硬件部分模塊都已經(jīng)集成到了這個(gè)soc中。
五、總結(jié)
下面我們總結(jié)下這些概念:
- ARM公司的名字 ,叫ARM:Advanced RISC Machines;
- ARM前身Acorn公司設(shè)計(jì)的第一款微處理器,叫ARM:Acorn RISC Machine;
- ARM處理器名字 :以前叫ARM9、ARM11, 新的命名規(guī)則改以Cortex命名,分別是Cortex-A,Cortex-R,Cortex-M;這三個(gè)字母A、R、M合到一起又是ARM。
- ARM指令集 ,就是ARM架構(gòu),比如ARMv8,每個(gè)處理器都需要依賴一定的ARM架構(gòu)來設(shè)計(jì);
- **SOC:**各大廠商買來ARM的授權(quán),得到ARM處理器的源代碼,而后自己搞一些外圍設(shè)備的IP(或者買或者自己設(shè)計(jì)),組成一個(gè)SOC,比如三星的Exynos 4412,華為的麒麟990。
總結(jié)
以上是生活随笔為你收集整理的什么是ARM?_arm开发板(分别是什么意思)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 把Hybris安装时输出的日志重定向到一
- 下一篇: 纯银耳坠小说作品推荐 纯银耳坠写的全部小