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