Cortex-A8處理器主要有哪些典型應(yīng)用?
ARM Cortex-A8處理器是第1款基于ARMv7架構(gòu)的應(yīng)用處理器,處理器的主頻在600MHz到超過1GHz的范圍內(nèi),既能滿足低功耗移動設(shè)備的要求,又能滿足需要高性能的消費(fèi)類應(yīng)用的要求。當(dāng)時發(fā)布的時候,被稱為有史以來ARM開發(fā)的性能最高、功率效率最高的處理器。Cortex-A8處理器的速率在600MHz到超過1GHz的范圍內(nèi),能夠滿足那些需要工作在300mW以下的功耗優(yōu)化的移動設(shè)備的要求;以及滿足那些需要2000 Dhrystone MIPS的性能優(yōu)化的消費(fèi)類應(yīng)用的要求。
ARMv7架構(gòu)采用了Thumb-2技術(shù),它是在ARM的Thumb代碼壓縮技術(shù)的基礎(chǔ)上演進(jìn)而來,并保持了對當(dāng)時ARM解決方案的代碼兼容性。Thumb-2技術(shù)比純32位代碼少使用31%的內(nèi)存,減小了系統(tǒng)開銷。同時能夠提供比當(dāng)時已有的基于Thumb技術(shù)的解決方案高出38%的性能。ARMv7架構(gòu)還采用了NEON技術(shù),將DSP和媒體處理能力提高了近4倍,并支持改良的浮點(diǎn)運(yùn)算,能夠滿足3D圖形、游戲物理應(yīng)用以及傳統(tǒng)嵌入式控制應(yīng)用的需求。
Cortex-A8架構(gòu)特性
ARM Cortex-A8處理器復(fù)雜的流水線架構(gòu)基于雙對稱的、順序發(fā)射的、13級流水線,帶有先進(jìn)的動態(tài)分支預(yù)測,可實(shí)現(xiàn)2.0 DMIPS/MHz。
順序,雙發(fā)射,超標(biāo)量微處理器內(nèi)核,13級主整數(shù)流水線。
10級NEON媒體流水線 10-stage NEON media pipeline,專用的L2緩存,帶有可編程的等待狀態(tài),以及基于全局歷史的分支預(yù)測。結(jié)合功率優(yōu)化的加載存儲流水線,為功率敏感型應(yīng)用提供2.0 DMIPS/MHz的速率
遵從ARMv7架構(gòu)規(guī)范
用于實(shí)現(xiàn)更高的性能、能量效率和代碼密度的Thumb-2技術(shù),NEON?信號處理擴(kuò)展,用于加速H.264和MP3等媒體編解碼器,以及Jazelle RCT Java-加速技術(shù),用于最優(yōu)化即時(JIT)編譯和動態(tài)自適應(yīng)編譯(DAC),并將存儲器尺寸減小了多達(dá)3倍。
Cortex-A8中采用的TrustZone技術(shù)可確保消費(fèi)類產(chǎn)品(如運(yùn)行開放式操作系統(tǒng)的移動電話、個人數(shù)字助理和機(jī)頂盒)中的數(shù)據(jù)隱私和DRM得到保護(hù)。
指令讀取單元的主要構(gòu)成如下圖所示,指令讀取單元對指令流進(jìn)行預(yù)測,從L1指令緩存中取出指令放到譯碼流水線中。在此過程中使用到了TLB(Translation Lookaside Buffers,轉(zhuǎn)換旁路緩沖器)。
指令譯碼單元對所有的ARM、Thumb-2指令進(jìn)行譯碼排序,包括調(diào)試控制協(xié)處理器CP14的指令、系統(tǒng)控制協(xié)處理器CP15的指令。指令譯碼單元處理指令的順序是:異常、調(diào)試事件、復(fù)位初始化、存儲器內(nèi)嵌自測CMI3IST、等待中斷、其它事件。
指令執(zhí)行單元包括兩個對稱的ALU(算術(shù)邏輯單元)流水線(ALU0和ALU1),它們都可以處理大多數(shù)算術(shù)指令。ALU0始終執(zhí)行一對舊的發(fā)射指令。Cortex-A8處理器還配備乘法器和加載存儲流水線,但這些都不對兩條ALU流水線執(zhí)行額外指令,可將它們視為“獨(dú)立”流水線。使用它們必需同時使用兩條ALU流水線中的一個,乘法器流水線只能與ALU1流水線中的指令結(jié)合使用,而加載存儲流水線只能與任一ALU中的指令結(jié)合使用。
指令執(zhí)行單元的功能:
· 執(zhí)行所有整數(shù)ALU運(yùn)算和乘法運(yùn)算,并修改標(biāo)志位;
· 根據(jù)要求產(chǎn)生用于存取的虛擬地址以及基本回寫值;
· 將要存放的數(shù)據(jù)格式化,并將數(shù)據(jù)和標(biāo)志向前發(fā)送;
· 處理分支及其它指令流變化,并評估指令條件碼。
集成的L2緩存和優(yōu)化的L1緩存
集成的L2緩存:使用標(biāo)準(zhǔn)編譯的ARM建立而成,64K到2MB的可配置容量,和可編程的延遲;優(yōu)化的L1緩存:經(jīng)過性能和功耗的優(yōu)化,結(jié)合最小訪問延遲和散列確定方式,以便將性能最大化,將功耗最小化。
存儲器系統(tǒng)
訪問L1緩存導(dǎo)致的單周期加載使用代價,L1緩存的散列數(shù)組使得只有在可能需要時才會啟用存儲器。集成的、可配置L2緩存和用于數(shù)據(jù)流的NEON媒體單元之間的直連接口,Bank化的L2緩存設(shè)計(jì),每次只設(shè)計(jì)1個Bank,支持多項(xiàng)與L3存儲器之間的未完成事務(wù),以充分利用CPU。
Cortex-A8應(yīng)用
基于Cortex-A8內(nèi)核的典型微處理器,包括蘋果A4芯片、NXP(原飛思卡爾)i.MX5X系列芯片、三星S5PV210芯片、TI OMAP35XX與AM335X系列芯片等。