




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ARM微處理器體系結(jié)構(gòu)ARM簡(jiǎn)介Cortex-A9內(nèi)部功能及特點(diǎn)Cortex-A9架構(gòu)的處理器狀態(tài)Cortex-A9內(nèi)核的工作模式Cortex-A9架構(gòu)的內(nèi)核寄存器ARM的異常中斷Cortex-A9的存儲(chǔ)系統(tǒng)2第2章ARM微處理器體系結(jié)構(gòu)2.1
ARM簡(jiǎn)介ARM公司是一家知識(shí)產(chǎn)權(quán)供應(yīng)商,它與一般的半導(dǎo)體公司最大的不同就是不制造芯片且不向終端用戶(hù)出售芯片,而是通過(guò)轉(zhuǎn)讓設(shè)計(jì)方案,由合作伙伴生產(chǎn)出各具特色的芯片。目前,100多家公司與ARM公司簽訂了技術(shù)使用許可協(xié)議,其中包括Intel、IBM、LG、NEC、SONY、NXP、NS、Samsung、Freescale、Atmel等這樣的大公司。第2章ARM微處理器體系結(jié)構(gòu)2.1.1
RISC結(jié)構(gòu)RISC即精簡(jiǎn)指令集計(jì)算機(jī),它的指令格式和長(zhǎng)度通常是固定的(如ARM是32位的指令),且指令和尋址方式少而簡(jiǎn)單,大多數(shù)指令在一個(gè)周期內(nèi)就可以執(zhí)行完畢。RISC的設(shè)計(jì)重點(diǎn)在于降低處理器中指令執(zhí)行部件的硬件復(fù)雜度,這是因?yàn)檐浖扔布菀滋峁└蟮撵`活性和更高的智能化。
與RISC架構(gòu)對(duì)應(yīng)的是CISC(復(fù)雜指令集計(jì)算機(jī))架構(gòu)。特點(diǎn)是通過(guò)存放在只讀存儲(chǔ)器中的微碼(Microcode)來(lái)控制整個(gè)處理器的運(yùn)行。在CISC架構(gòu)下,一條指令往往可以完成一串運(yùn)算動(dòng)作,但卻需要多個(gè)時(shí)鐘周期來(lái)執(zhí)行。第2章ARM微處理器體系結(jié)構(gòu)RISC和CISC在構(gòu)架上的不同:RISC構(gòu)架的指令格式和長(zhǎng)度通常是固定的;CISC構(gòu)架下的指令長(zhǎng)度通常是可變的;RISC在結(jié)構(gòu)設(shè)計(jì)上是一個(gè)載入/存儲(chǔ)的構(gòu)架,只有載入和存儲(chǔ)指令可以訪問(wèn)存儲(chǔ)器,數(shù)據(jù)處理指令只對(duì)寄存器的內(nèi)容進(jìn)行操作。為了加速程序的運(yùn)算,RISC會(huì)設(shè)定多組寄存器,并且指定特殊用途的寄存器。CISC架構(gòu)則允許數(shù)據(jù)處理指令對(duì)存儲(chǔ)器進(jìn)行操作,對(duì)寄存器的要求相對(duì)不高。第2章ARM微處理器體系結(jié)構(gòu)2.1.2
ARM體系架構(gòu)的發(fā)展ARMv4ARMv4EARMv5TEARMv5TEJARMv6ARMv7ARMv8圖2.1ARM體系發(fā)展過(guò)程第2章ARM微處理器體系結(jié)構(gòu)ARMv4:只支持32位的指令集,支持32位的地址空間。ARMv4E:在ARMv4基礎(chǔ)上增加了16位的Thumb指令集,代碼更緊湊。ARMv5TE:改進(jìn)了Thumb指令集:增加了一些“增強(qiáng)型DSP指令”,用于增強(qiáng)處理器對(duì)一些典型的DSP算法的處理性能。ARMv5TEJ:增加了Jazelle技術(shù),用于提供Java加速功能。ARMv6:在存儲(chǔ)系統(tǒng)、異常處理以及對(duì)多媒體功能的支持等多方面都有改進(jìn)。
ARMv7:使用Thumb-2技術(shù),還使用了NEON技術(shù)。ARMv8:ARM公司的首款支持64位指令集的處理器架構(gòu)。第2章ARM微處理器體系結(jié)構(gòu)2.1.2
ARM處理器系列ARM7ARM9ARM9EARM10通用處理器屬低端ARM處理器核,沒(méi)有內(nèi)存管理單元(MMU)。增加了MMU和CACHE,執(zhí)行效率進(jìn)一步得到提升。在單一的處理器內(nèi)核上提供了微控制器、DSP、Java應(yīng)用系統(tǒng)的解決方案。使用新的體系結(jié)構(gòu),具有更加杰出的高性能、低功耗兩個(gè)特點(diǎn)。第2章ARM微處理器體系結(jié)構(gòu)ARM11Cortex?SecurCoreOptimoDEDataEnginesARMv6架構(gòu)的第一代實(shí)現(xiàn)?;趘7A的Cortex-A系列,面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶(hù)應(yīng)用。SecurCore系列微處理器專(zhuān)為安全需要而設(shè)計(jì),提供了完善的32位RISC技術(shù)的安全解決方案。針對(duì)高性能的嵌入式信號(hào)處理應(yīng)用而設(shè)計(jì)?;趘7R的Cortex-R系列,針對(duì)實(shí)時(shí)系統(tǒng)。基于v7M的Cortex-M系列,針對(duì)微控制器。第2章ARM微處理器體系結(jié)構(gòu)2.2
Cortex-A9內(nèi)部功能及特點(diǎn)2.2.1
功能特點(diǎn)圖2.2Cortex-A9處理器的體系結(jié)構(gòu)第2章ARM微處理器體系結(jié)構(gòu)010204030506Thumb-2技術(shù)
NEON媒體處理
引擎技術(shù)浮點(diǎn)運(yùn)算單元優(yōu)化了一級(jí)緩存的性能和功耗二級(jí)緩存控制器采用高效超標(biāo)量流水線07SCU技術(shù)08多核TrustZone技術(shù)第2章ARM微處理器體系結(jié)構(gòu)2.2.2
Cortex-A9的流水線
傳統(tǒng)的單片機(jī)(如8051)中,處理器只有完成一條指令的讀取和執(zhí)行后,才會(huì)開(kāi)始下一條指令的處理,所以PC(程序計(jì)數(shù)器)總是指向正在執(zhí)行的指令。而在ARM體系架構(gòu)中則引入了流水線的概念。流水線是ARM體系架構(gòu)提高執(zhí)行效率的一種有效策略。第2章ARM微處理器體系結(jié)構(gòu)圖2.3三級(jí)流水線結(jié)構(gòu)的指令執(zhí)行順序(1)在第1個(gè)周期,PC指向指令1,此時(shí)指令1進(jìn)入三級(jí)流水線的取指階段。(2)在第2個(gè)周期,PC指向指令2,此時(shí)指令1進(jìn)入三級(jí)流水線的譯碼階段,同時(shí)取出指令2。(3)在第3個(gè)周期,PC指向指令3,此時(shí)指令1進(jìn)入三級(jí)流水線的執(zhí)行階段,指令2進(jìn)入譯碼階段,取出指令3。(4)在第4個(gè)周期,指令1執(zhí)行完成,指令2和指令3流水線推進(jìn)一級(jí),同時(shí)開(kāi)始指令4的取指處理第2章ARM微處理器體系結(jié)構(gòu)2.3
Cortex-A9架構(gòu)的處理器狀態(tài)四種狀態(tài):指令集狀態(tài)、執(zhí)行狀態(tài)、安全狀態(tài)和調(diào)試狀態(tài)。指令集狀態(tài)——提供了4種指令集狀態(tài),分別是ARM狀態(tài)、Thumb狀態(tài)、Jazelle狀態(tài)和ThumbEE狀態(tài)。執(zhí)行狀態(tài)——包括指令集狀態(tài)和一些控制指令流編碼的位。安全狀態(tài)——安全狀態(tài)的數(shù)目依賴(lài)于是否執(zhí)行安全擴(kuò)展。調(diào)試狀態(tài)——由于調(diào)試事件的存在,處理器被配置成暫停調(diào)試模式。第2章ARM微處理器體系結(jié)構(gòu)2.4
Cortex-A9內(nèi)核的工作模式表2.1ARM處理器的模式第2章ARM微處理器體系結(jié)構(gòu)2.5Cortex-A9架構(gòu)的內(nèi)核寄存器
從系統(tǒng)角度來(lái)看,Cortex-A9架構(gòu)內(nèi)部共有42個(gè)用戶(hù)可以訪問(wèn)的32位寄存器,這些寄存器分別為:(1)
13個(gè)通用32位寄存器:R0_usr~R12_usr。特殊的,在FIQ模式下,R8~R12對(duì)應(yīng)為R8_fiq、R9_fiq、R10_fiq、R11_fiq、R12_fiq。(2)
8個(gè)狀態(tài)寄存器:CPSR、SPSR_hyp、SPSR_svc、SPSR_abt、SPSR_und、SPSR_mon、SPSR_irq、SPSR_fiq。第2章ARM微處理器體系結(jié)構(gòu)(3)針對(duì)不同模式的三種寄存器:SP(R13)、LR(R14)、PC(R15)。在不同模式下,它們分別為SP_usr(R13)、SP_hyp、SP_scv、SP_abt、SP_und、SP_mon、SP_irq、SP_fiq、LR_usr(R14)、LR_svc、LR_abt、LR_und、LR_mon、LR_irq、LR_fiq、PC。第2章ARM微處理器體系結(jié)構(gòu)2.5.1
ARM狀態(tài)下的寄存器表2.2ARM處理器各種模式下的寄存器第2章ARM微處理器體系結(jié)構(gòu)2、一般通用寄存器:R0~R7為保存數(shù)據(jù)或地址值的通用寄存器;R8~R14所對(duì)應(yīng)的物理寄存器取決于當(dāng)前的物理寄存器模式;R13、R14在不同模式下分別對(duì)應(yīng)不同的寄存器,除用戶(hù)模式和系統(tǒng)模式外。第2章ARM微處理器體系結(jié)構(gòu)3、堆棧指針寄存器SP4、
鏈接寄存器LR第2章ARM微處理器體系結(jié)構(gòu)?5、程序指針寄存器PC6、程序狀態(tài)寄存器CPSR和程序狀態(tài)保存寄存器SPSRCPSR和SPSR的區(qū)別第2章ARM微處理器體系結(jié)構(gòu)2.6ARM異常中斷表2.3ARM的異常向量地址一覽表第2章ARM微處理器體系結(jié)構(gòu)復(fù)位異常當(dāng)復(fù)位異常時(shí),系統(tǒng)主要執(zhí)行下列偽操作:
R14_svc=UNPREDICTABLEvalue
SPSR_svc=UNPREDICTABLEvalue
CPSR[4:0]=0b10011
;進(jìn)入特權(quán)模式
CPSR[5]=0
;處理器進(jìn)入ARM狀態(tài)
CPSR[6]=1
;禁止快速中斷
CPSR[7]=1
;禁止外設(shè)中斷IfhighvectorsconfiguredthenPC=0xffff0000
else
PC=0x00000000第2章ARM微處理器體系結(jié)構(gòu)2.未定義指令異常當(dāng)未定義指令異常發(fā)生時(shí),系統(tǒng)主要執(zhí)行下列偽操作:r14_und=addressofnextinstructionaftertheundefinedinstruction
SPSR_und=CPSR
CPSR[4:0]=0b11011
;進(jìn)入未定義指令模式
CPSR[5]=0
;處理器進(jìn)入ARM狀態(tài)
;CPSR[6]保持不變
CPSR[7]=1
;禁止外設(shè)中斷
IfhighvectorsconfiguredthenPC=0xffff0004
elsePC=0x00000004第2章ARM微處理器體系結(jié)構(gòu)3.軟件中斷異常:軟件中斷異常發(fā)生時(shí),處理器主要執(zhí)行下列偽操作:
r14_svc=addressofnextinstructionaftertheSWIinstruction
SPSR_und=CPSR
CPSR[4:0]=0b10011;
進(jìn)入特權(quán)模式
CPSR[5]=0;
處理器進(jìn)入ARM狀態(tài);CPSR[6]?保持不變
CPSR[7]=1;
禁止外設(shè)中斷IfhighvectorsconfiguredthenPC=0xffff0008
elsePC=0x00000008第2章ARM微處理器體系結(jié)構(gòu)4.預(yù)取中止異常:預(yù)取中止異常發(fā)生時(shí),處理器主要執(zhí)行下列偽操作:r14_svc=addressoftheabortedinstruction+4
SPSR_und=CPSRCPSR[4:0]=0b10111
;進(jìn)入特權(quán)模式CPSR[5]=0
;處理器進(jìn)入ARM狀態(tài);CPSR[6]保持不變CPSR[7]=1
;禁止外設(shè)中斷IfhighvectorsconfiguredthenPC=0xffff000CelsePC=0x0000000C第2章ARM微處理器體系結(jié)構(gòu)5.數(shù)據(jù)中止異常:當(dāng)數(shù)據(jù)中止異常發(fā)生時(shí),處理器主要執(zhí)行下列偽操作:r14_abt=addressoftheabortedinstruction+8SPSR_abt=CPSR CPSR[4:0]=0b10111 CPSR[5]=0 ;處理器進(jìn)入ARM狀態(tài); CPSR[6]保
持不變CPSR[7]=1 ;禁止外設(shè)中斷Ifhighvectorsconfiguredthen PC=0xffff000C10 else PC=0x00000010 第2章ARM微處理器體系結(jié)構(gòu)6.外部中斷異常:當(dāng)外部中斷異常發(fā)生時(shí),處理器主要執(zhí)行下列偽操作:r14_irq=addressofnextinstructiontobeexecuted+4SPSR_irq=CPSRCPSR[4:0]=0b10010
;進(jìn)入特權(quán)模式CPSR[5]=0
;處理器進(jìn)入ARM狀態(tài);CPSR[6]保持不變CPSR[7]=1
;禁止外設(shè)中斷IfhighvectorsconfiguredthenPC=0xffff0018elsePC=0x00000018第2章ARM微處理器體系結(jié)構(gòu)7.快速中斷異常:當(dāng)快速中斷異常發(fā)生時(shí),處理器主要執(zhí)行下列偽操作:r14_fiq=addressofnextinstructiontobeexecuted+4SPSR_fiq=CPSRCPSR[4:0]=0b10001
;進(jìn)入快速中斷模式CPSR[5]=0
;處理器進(jìn)入ARM狀態(tài)CPSR[6]=0
;允許快速中斷CPSR[7]=1
;禁止外設(shè)中斷Ifhighvectorsconfig
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 續(xù)寫(xiě)語(yǔ)言組織微觀技巧-2024年高考英語(yǔ)一輪復(fù)習(xí)讀后續(xù)寫(xiě)
- 插件資源消耗限制的合理規(guī)劃
- 《AIGC應(yīng)用實(shí)踐》全套教學(xué)課件
- 山東省菏澤市東明縣2024-2025學(xué)年六年級(jí)上學(xué)期語(yǔ)文期末試卷
- 三年級(jí)語(yǔ)文下冊(cè)1-4單元期中復(fù)習(xí):課文積累填空(含答案)
- 四川省綿陽(yáng)市江油市2023-2024學(xué)年七年級(jí)下學(xué)期期末地理試題
- 說(shuō)明文閱讀-2024年中考語(yǔ)文二輪熱點(diǎn)題型專(zhuān)項(xiàng)訓(xùn)練
- 向量問(wèn)題的常見(jiàn)解題策略-2026高考數(shù)學(xué)一輪復(fù)習(xí)(提高版)解析版
- 山西省晉中市靈石縣2024-2025學(xué)年八年級(jí)下學(xué)期期末物理試題(含答案)
- 蘇科版八年級(jí)物理下冊(cè)《質(zhì)量與密度計(jì)算題》期末專(zhuān)項(xiàng)練習(xí)題(附答案)
- 公司慰問(wèn)金簽收單模板
- 檔案管理學(xué)(新)課件
- (完整版)中醫(yī)傳統(tǒng)五音療法
- 金融控股公司協(xié)同模式與實(shí)務(wù)分析
- 非結(jié)構(gòu)化數(shù)據(jù)管理解決方案白皮書(shū)(版)
- 2022年安全生產(chǎn)文明施工措施費(fèi)使用計(jì)劃表(完整)
- 臨床營(yíng)養(yǎng)診療指南
- 深度學(xué)習(xí)的隨機(jī)矩陣?yán)碚撃P蚠v0.1
- T∕CTES 1007-2018 紡織用植物染料 靛藍(lán)
- 軸類(lèi)零件的設(shè)計(jì)ppt課件
- 北京交通大學(xué)中英文在校證明
評(píng)論
0/150
提交評(píng)論