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