ARM公司是專門從事基于RISC技術芯片設計開發(fā) 的公司,作為知識產權供應商,本身不直接從事芯片生產,而是轉讓設計許可 ,由合作公司生產各具特色的芯片。ARM處理器的內核是統(tǒng)一的 ,由ARM公司提供,而片內部件則是多樣的 ,由各大半導體公司設計,這使得ARM設計嵌入式系統(tǒng)的時候,可以基于同樣的核心,使用不同的片內外設 ,從而具有很大的優(yōu)勢。
ARM架構自誕生至今,已經發(fā)生了很大的演變,至今已定義了7種不同的版本:
V1版架構:該架構只在原型機ARM1出現(xiàn)過,其基本性能包括基本的數(shù)據(jù)處理指令(無乘法)、字節(jié)、半字和字的Load/Store指令、轉移指令,包括子程序調用及鏈接指令、軟件中斷指令、尋址空間64MB。
V2版架構:該版架構對V1版進行了擴展,如ARM2與ARM3(V2a版)架構,增加的功能包括乘法和乘加指令、支持協(xié)處理器操作指令、快速中斷模式、SWP/SWPB的最基本存儲器與寄存器交換指令、尋址空間64MB。
V3版架構:該版對ARM體系結構作了較大的改動,把尋址空間增至32位(4GB),增加了當前程序狀態(tài)寄存器CPSR和程序狀態(tài)保存寄存器 SPSR以便于異常處理。增加了中止和未定義2種處理器模式。ARM6就采用該版結構。指令集變化包括增加了MRS/MSR指令,以訪問新增的CPSR /SPSR寄存器、增加了從異常處理返回的指令功能。
V4版架構:V4版結構是目前最廣泛應用的ARM體系結構,對V3版架構進行了進一步擴充,有的還引進了16位的Thumb指令集,使ARM使用更加靈活。ARM7、ARM9和StrongARM都采用了該版結構。其指令集中增加的功能包括符號化和非符號化半字及符號化字節(jié)的存/取指令、增加了16 位Thumb指令集、完善了軟件中斷SWI指令的功能、處理器系統(tǒng)模式引進特權方式時使用用戶寄存器操作、把一些未使用的指令空間捕捉為未定義指令。
V5版架構:在V4版基礎上增加了一些新的指令。ARM10和XScale都采用該版架構。這些新增指令有帶有鏈接和交換的轉移BLX指令、計數(shù)前導零計數(shù)CLZ指令、BRK中斷指令、增加了信號處理指令(V5TE版)、為協(xié)處理器增加更多可選擇的指令。
V6版架構:ARM體系架構V6是2001年發(fā)布的。基本特點包括100%與以前的體系兼容、SIMD媒體擴展,使媒體處理速度快1.75倍、改進了的內存管理,使系統(tǒng)性能提高30%、改進了的混合端(Endian)與不對齊數(shù)據(jù)支持,使得小端系統(tǒng)支持大端數(shù)據(jù)(如TCP/IP),許多RTOS是小端的、為實時系統(tǒng)改進了中斷響應時間,將最壞情況下的35周期改進到了11個周期。
V7版架構:ARM體系架構V7是2005年發(fā)布的。它使用了能夠帶來更高性能、功耗效率和代碼密度的Thumb-2技術。它首次采用了強大的信號處理擴展集,對H.264和MP3等媒體編解碼提供加速。Cortex-M3處理器采用的就是V7版的結構。
ARM芯片的核心,即CPU內核(ARM720T)由一個ARMTTDMI 32位RISC處理器、一個單一的高速緩沖8KB Cache和一個存儲空間管理單元(MMU)所構成。8KB的高速緩沖有一個四路相連寄存器,并被組織成5\2線四字(4×5\2×4字節(jié))。高速緩沖直接與ARMTTDMI相連,因而高速緩沖來自CPU的虛擬地址。當所需的虛擬地址不在高速緩沖中時,由MMU將虛擬地址轉換為物理地址。一個64項的轉換旁路緩沖器(TLB)用來加速地址轉換過程,并減少頁表讀取所需的總線傳送。通過轉換高速緩沖中未存儲的地址,MMU就能夠節(jié)約功率。通過內部數(shù)據(jù)總線和擴展并行總線,ARM可以和存儲器(SRAM/Flash/Nand-Flash等)、用戶接口(LCD控制器/鍵盤/GPIO等)、串行口(UARTs/紅外IrDA等)相連。
ARM架構已經主導了當今嵌入式處理和計算市場,但在過去的幾十年里,Arm 架構卻走過了漫長的道路。從20世紀80年代開始,它起初是作為家用電腦處理器,然后在20世紀90年代成為手機芯片的基礎。如今,在幾乎所有技術細分市場,Arm都是一個強有力的競爭者。許多人認為,Arm 架構已成為 32 位或 64 位處理器的首選。由于這種廣泛應用,現(xiàn)在已經有成千上萬種基于Arm架構的變體。了解這些內核彼此之間的不同是做出選擇決策的重要一環(huán)。