每個ARM處理器都有一個特定的指令集架構(gòu),而一個特定的指令集架構(gòu)又可以由多種處理器實現(xiàn)。
?
ARM產(chǎn)品通常以ARM【x】【 y 】【z】【 T 】【 D 】【 M 】【I】【 E 】【J】【 F 】【 -S】形式出現(xiàn)。
ARM 體系結(jié)構(gòu)的命名規(guī)則
x 系列,號如ARM7、ARM9
y 存儲管理/保護(hù)單元
z Cache
T Thumb16位譯碼器
D JTAG調(diào)試器
M 快速乘法器
I 嵌入式跟蹤宏單元
E 增強指令(基于TDMI)
J Jazelle加速
F 向量浮點單元
S 可綜合版本
另外,還有一些附加的要點:
① ARM7TDMI之后的所有ARM內(nèi)核,即使“ARM”標(biāo)志后沒有包含“TDMI”字符,也都默認(rèn)包含了TDMI的功能特性;
② JTAG是由IEEE 1149.1標(biāo)準(zhǔn)測試訪問端口和邊界掃描結(jié)構(gòu)來描述的,它是ARM用來發(fā)送和接收處理器內(nèi)核與測試儀器之間調(diào)試信息的一系列協(xié)議; ③ 嵌入式ICE宏單元是建立在處理器內(nèi)部用來設(shè)置斷點和觀察點的調(diào)試硬件;
④ 可綜合,意味著處理器內(nèi)核是以源代碼形式提供的。這種源代碼形式可被編譯成一種易于EDA工具使用的形式。
?
ARM==Advanced RISC Machines
這里提到的命名規(guī)則,應(yīng)該分成兩類。?
一類是基于ARM Architecture的版本命名規(guī)則;
另一類是基于ARM Architecture版本的處理器系列命名規(guī)則,上面介紹的就是此種命名。
?
?
| ARMv | n | variants | x(variants) |
分成四個組成部分:
ARMv -- 固定字符,即ARM Version
n -- 指令集版本號。迄今為之,ARM架構(gòu)版本發(fā)布了7個系列,所以n=[1:7]。其中最新的版本是第7版,具體看ARM官方網(wǎng)站。
variants -- 變種。
x(variants) -- 排除x后指定的變種
常見的變種有:
T -- Thumb指令集
M -- 長乘法指令
E -- 增強型DSP指令
J -- Java加速器Jazelle
SIMD -- ARM媒體功能擴展
例如,ARMv5TxM表示ARM指令集版本為5,支持T變種,不支持M變種。
?
ARM體系結(jié)構(gòu)的基本版本
1 版本1?
該版本的原型機是ARM1,沒有用于商業(yè)產(chǎn)品。
?
2 版本2?
對V1版進(jìn)行了擴展,包含了對32位結(jié)果的乘法指令和協(xié)處理器指令的支持。
版本2a是版本2的變種,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM處理器。
?
3 版本3?
ARM公司第一個微處理器ARM6核心是版本3的,它作為IP核、獨立的處理器、具有片上高速緩存、MMU和寫緩沖的集成CPU。
?
4 版本4?
版本4增加了下列指令:
l 有符號和無符號的半字讀取和寫入指令。
l 帶符號的字節(jié)讀取和寫入指令。
l 增加了處理器的系統(tǒng)模式(特權(quán)模式)。在該模式下,使用的是用戶模式下的寄存器。
l 為結(jié)構(gòu)定義的操作預(yù)留一些SWI(軟中斷指令)空間
?
ARMv4和ARMv4T結(jié)構(gòu)的處理器得到了廣泛的應(yīng)用。SA-110、SA-1110等是基于ARMv4的;
ARM7TDMI、ARM720T、 ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。
?
5 版本5
版本5包括v5TE和v5TEJ?,v5TE在v5T的基礎(chǔ)上增加了信號處理(DSP)指令集,v5TEJ除了具備v5T的功能外,還可以執(zhí)行JAVA字節(jié) 代碼,是在ARM上執(zhí)行JAVA指令的效率提高了5-10倍,并且降低了功耗。
ARM1020T 是ARMv5T的。
ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E以及XScale是ARMv5TE的。
ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S是基于ARMv5EJ的。
?
6 版本6?
ARM體系版本6是2001年發(fā)布的。其目標(biāo)是在有效的芯片面積上為嵌入式系統(tǒng)提供更高的性能。
采用ARMv6核的處理器是ARM11系列。
ARM1136J(F)-S基于ARMv6主要特性有SIMD、Thumb、Jazelle、DBX、(VFP)、MMU。
ARM1156T2(F)-S基于ARMv6T2 主要特性有SIMD、Thumb-2、(VFP)、MPU。
ARM1176JZ(F)-S基于ARMv6KZ 在 ARM1136EJ(F)-S 基礎(chǔ)上增加MMU、TrustZone。
ARM11 MPCore基于ARMv6K 在ARM1136EJ(F)-S基礎(chǔ)上可以包括1-4 核SMP、MMU。
?
ARM11是基于ARMv6架構(gòu)建成的?;贏RMv6架構(gòu)的處理器包括ARM1136J(F)‐S,ARM1156T2(F)‐S,以及 ARM1176JZ(F)‐S。ARMv6是ARM進(jìn)化史上的一個重要里程碑:從那時候起,許多突破性的新技術(shù)被引進(jìn),存儲器系統(tǒng)加入了很多的嶄新的特 性,單指令流多數(shù)據(jù)流(SIMD)指令也是從v6開始首次引入的。而最前衛(wèi)的新技術(shù),就是經(jīng)過優(yōu)化的Thumb‐2指令集,它專為低成本的單片機?及汽車組件市場。
7 版本7
2004年發(fā)布了新的ARMv7體系結(jié)構(gòu)。在這個版本中,內(nèi)核架構(gòu)首次從單一款式變成3種款式。
1) 款式A:設(shè)計用于高性能的"開放應(yīng)用平臺"--越來越接近電腦了。
2) 款式R:用于高端的嵌入式系統(tǒng),尤其是那些帶有實時要求的--又要快又要實時。
3) 款式M:用于深度嵌入的,單片機?風(fēng)格的系統(tǒng)中--本書的主角。
讓我們再進(jìn)距離地考察這3種款式:
1)款式A(ARMv7‐A):需要運行復(fù)雜應(yīng)用程序的"應(yīng)用處理器"。支持大型嵌入式操作系統(tǒng),比如Symbian,Linux,以及微軟的 WindowsCE和智能手機操作系統(tǒng)WindowsMobile。這些應(yīng)用需要勁爆的處理性能,并且需要硬件MMU實現(xiàn)的完整而強大的虛擬內(nèi)存機制,還 基本上會配有Java支持,有時還要求一個安全程序執(zhí)行環(huán)境。典型的產(chǎn)品包括高端手機和手持儀器,電子錢包以及金融事務(wù)處理機。
2) 款式R(ARMv7‐R):硬實時且高性能的處理器。標(biāo)的是高端實時市場。那些高級的玩意,像高檔轎車的組件,大型發(fā)電機控制器,機器手臂控制器等,它們 使用的處理器不但要很好很強大,還要極其可靠,對事件的反應(yīng)也要極其敏捷。
3) 款式M(ARMv7‐M):認(rèn)準(zhǔn)了舊世代單片機的應(yīng)用而量身定制。在這些應(yīng)用中,尤其是對于實時控制系統(tǒng),低成本、低功耗、極速中斷反應(yīng)以及高處理效率, 都是至關(guān)重要的。
Cortex系列是v7架構(gòu)的第一次亮相,其中Cortex‐M3就是按款式M設(shè)計的。
到目前為止,Cortex‐M3也是款式M中被撫養(yǎng)成人的獨苗。其它Cortex家族的處理器包括款式A的Cortex‐A8(應(yīng)用處理器),款式R的 Cortex‐R4(實時處理器)。
?
?
處理器列表:
?
??
?
指令集架構(gòu)( ISA)是體現(xiàn)CPU核性能特點的重要因素?,如采用v5TEJ架構(gòu)的ARM926EJ-S與采用v4T架構(gòu)的 ARM920T處理器,在相同的工作頻率下,前者的處理能力要高得多。
?