arm的內(nèi)核體系結(jié)構(gòu),有何特點?
本文中,小編將對ARM處理器予以介紹,如果你想對它的詳細(xì)情況有所認(rèn)識,或者想要增進(jìn)對它的了解程度,不妨請看以下內(nèi)容哦。
一、ARM處理器為什么FIQ快
1:ARM的FIQ模式提供了更多的banked寄存器,r8到r14還有SPSR,而IRQ模式就沒有那么多,R8,R9,R10,R11,R12對應(yīng)的banked的寄存器就沒有,這就意味著在ARM的IRQ模式下,中斷處理程序自己要保存R8到R12這幾個寄存器,然后退出中斷處理時程序要恢復(fù)這幾個寄存器,而FIQ模式由于這幾個寄存器都有banked寄存器,模式切換時CPU自動保存這些值到banked寄存器,退出FIQ模式時自動恢復(fù),所以這個過程FIQ比IRQ快.不要小看這幾個寄存器,ARM在編譯的時候,如果你FIQ中斷處理程序足夠用這幾個獨立的寄存器來運作,它就不會進(jìn)行通用寄存器的壓棧,這樣也省了一些時間。
2:FIQ比IRQ有更高優(yōu)先級,如果FIQ和IRQ同時產(chǎn)生,那么FIQ先處理。
3:在symbian系統(tǒng)里,當(dāng)CPU處于FIQ模式處理FIQ中斷的過程中,預(yù)取指令異常,未定義指令異常,軟件中斷全被禁止,所有的中斷被屏蔽。所以FIQ就會很快執(zhí)行,不會被其他異常或者中斷打斷,所以它又比IRQ快了。而IRQ不一樣,當(dāng)ARM處理IRQ模式處理IRQ中斷時,如果來了一個FIQ中斷請求,那正在執(zhí)行的IRQ中斷處理程序會被搶斷,ARM切換到FIQ模式去執(zhí)行這個FIQ,所以FIQ比IRQ快多了。
4:另外FIQ的入口地址是0x1c,IRQ的入口地址是0x18。寫過完整匯編系統(tǒng)的都比較明白這點的差別,18只能放一條指令,為了不與1C處的FIQ沖突,這個地方只能跳轉(zhuǎn),而FIQ不一樣,1C以后沒有任何中斷向量表了,這樣可以直接在1C處放FIQ的中斷處理程序,由于跳轉(zhuǎn)的范圍限制,至少少了一條跳轉(zhuǎn)指令。
二、ARM內(nèi)核體系結(jié)構(gòu)
ARM內(nèi)核分為ARM7、ARM9、ARM10以及StrongARM等幾類。其中每一類又根據(jù)其各自包含的功能模塊而分成多種構(gòu)成在ARM內(nèi)核中有四個功能模塊可供生產(chǎn)廠商根據(jù)不同用戶的不同要求來配置生產(chǎn)。這四個模塊分別用T、D、M和I來表示。
T:表示Thumb,該內(nèi)核可從16位指令集擴(kuò)充到32位ARM指令集。
D:表示Debug,該內(nèi)核中放置了用于調(diào)試的結(jié)構(gòu),通常它為一個邊界掃描JTAG,可使CPU進(jìn)入調(diào)試模式,從而可方便地進(jìn)行斷點設(shè)置、單步調(diào)試。
M:表示Multiplier,是8位乘法器。
I:表示EmbeddedICE Logic,用于實現(xiàn)斷點觀測及變量觀測的邏輯電路部分,其中的TAP控制器可接入到邊界掃描鏈。
1、ARM7
ARM7 采用ARMV4T(Newman)結(jié)構(gòu),分為三級流水,空間統(tǒng)一的指令與數(shù)據(jù)Cache,平均功耗為0.6mW/MHz,時鐘速度為66MHz,每條指令平均執(zhí)行1.9個時鐘周期。其中的ARM710,ARM720和ARM740為內(nèi)帶Cache的ARM核。
2、ARM9
ARM9 采用ARMV4T(Harvard)結(jié)構(gòu),五級流水處理以及分離的Cache結(jié)構(gòu),平均功耗為0.7mW/MHz。時鐘速度為120MHz- 200MHz,每條指令平均執(zhí)行1.5個時鐘周期。與ARM7系列相似,其中的ARM920、ARM940和ARM9E為含Cache的CPU核。性能為132MIPS(120MHz時鐘,3.3V供)或220MIPS(200MHz時鐘)。
3、ARM10
ARM10采用ARMV5T結(jié)構(gòu),六級流水處理,指令與數(shù)據(jù)分離的Cache結(jié)構(gòu)。平均功耗為1000mW,時鐘速度為300MHz,每條指令平均執(zhí)行1.2個周期,其中ARM1020為帶Cache的版本。
ARM10TDMI:與所有ARM核在二進(jìn)制級代碼兼容,內(nèi)帶高速32X16MAC,預(yù)留DSP協(xié)處理器接口。其中的VFP10(矢量浮點單元)為七級流水結(jié)構(gòu)。
ARM1020T: ARM10TDMI+32KID Caches+MMU結(jié)構(gòu),300MHz時鐘,功耗為1W(2.0V供電)或00mW(1.5V供電)。指令 Cache和數(shù)據(jù)Cache分別為32K,寬度為64bits。能夠技術(shù)多種商用操作系統(tǒng)。適用于下一代高性能手持式因特網(wǎng)設(shè)備及數(shù)字式消費類應(yīng)用。
4、StrongARM
StrongARM處理器采用ARMV4T的五級流水結(jié)構(gòu)。目前有SA110、SA1100以及SA1110等三個版本。
經(jīng)由小編的介紹,不知道你對ARM處理器是否充滿了興趣?如果你想對它有更多的了解,不妨嘗試度娘更多信息或者在我們的網(wǎng)站里進(jìn)行搜索哦。