ARM公司是一家知識產(chǎn)權(quán)(IP)供應(yīng)商,它與一般的半導(dǎo)體公司最大的不同就是它不制造芯片并且不向終端用戶出售芯片,而是通過轉(zhuǎn)讓設(shè)計方案,由合作伙伴生產(chǎn)出各具特色的芯片。ARM公司利用這種雙贏的伙伴關(guān)系迅速成為了全球性RISC微處理器標(biāo)準(zhǔn)的締造者。這種模式也給用戶帶來了巨大的好處,因為用戶只需要掌握一種ARM內(nèi)核結(jié)構(gòu)及其開發(fā)手段,就能夠使用多家公司相同ARM內(nèi)核的芯片。
ARM處理器在性能,成本與功耗之間的平衡,是ARM處理器的亮點。在智能家居、物聯(lián)網(wǎng)、平板電腦、多媒體數(shù)字、汽車電子、醫(yī)療電子等領(lǐng)域ARM處理器具有統(tǒng)治地位。
指令集、架構(gòu)與處理器
ARM體系結(jié)構(gòu)是一種硬件規(guī)范,主要用來約定指令集、芯片內(nèi)部體系結(jié)構(gòu)(如MMU、Cache)等。
指令集是處理器使用的指令編碼方式,ARM指令集的命名方式為ARMv+version,目前是ARMv1~ARMv9,數(shù)字越大表示指令集越先進(jìn)。
下面列舉一些指令集應(yīng)用到具體處理器的例子。
ARMv4和ARMv4T指令集主要在ARM7TDMI、ARM920T和StrongARM這些處理器中使用。
ARMv5指令集主要在ARM926EJ-S、ARM946E-S和XScale這些處理器中使用。
ARMv6指令集主要在ARM1136J-S、ARM1176JZ-S和ARM1156T2-S這些處理器中使用。
ARMv6-M指令集主要在Cortex-M0和Cortex-M1這些處理器中使用。
ARMv7-A指令集主要在Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A12和Cortex-A15這些處理器中使用。
ARMv7-R指令集主要在Cortex-R4、Cortex-R5和Cortex-R7這些處理器中使用。
ARMv7-M指令集主要在Cortex-M3和Cortex-M4這些處理器中使用。
架構(gòu)主要是指某一個處理器所使用的具體指令集。在大部分場合,架構(gòu)等于指令集。比如說i.MX 6ULL處理器是基于ARMv7-A架構(gòu)的,也就是說i.MX 6ULL處理器使用的是ARMv7-A指令集。
基于ARMv7-A的處理器內(nèi)部結(jié)構(gòu)
ARMv7-A采用的是32位結(jié)構(gòu),因此其核心寄存器也是32位寬。
基于ARMv7-A實現(xiàn)的處理器內(nèi)部結(jié)構(gòu)描述如下:
處理器核心:有單核和多核之分,對稱多核應(yīng)用比較廣泛,通常每個核心會包含L1 I-Cache、L1 D-Cache,可選的浮點單元,可選的NEON,MMU等。
系統(tǒng)總線:處理器核心通過系統(tǒng)總線與外設(shè)控制器進(jìn)行數(shù)據(jù)交互。
時鐘系統(tǒng);
電源管理系統(tǒng);
復(fù)位系統(tǒng);
調(diào)試系統(tǒng)。
基于ARMv7-A指令集實現(xiàn)的Cortex-A5處理器的結(jié)構(gòu)示意圖如下所示:
審核編輯:劉清
-
電源管理
+關(guān)注
關(guān)注
115文章
6140瀏覽量
144107 -
ARM處理器
+關(guān)注
關(guān)注
6文章
360瀏覽量
41632 -
ARM芯片
+關(guān)注
關(guān)注
1文章
125瀏覽量
21420 -
中斷控制器
+關(guān)注
關(guān)注
0文章
59瀏覽量
9431 -
Cortex-A5
+關(guān)注
關(guān)注
0文章
19瀏覽量
11049
原文標(biāo)題:ARMv7-A 那些事 - 1.概述
文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論