www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]ARM 公司是微處理器行業(yè)的一家知名企業(yè),它是知識產(chǎn)權(quán)供應(yīng)商,設(shè)計基于ARM體系的處理器;公司并不生產(chǎn)芯片,也不出售芯片,它轉(zhuǎn)讓設(shè)計方案給半導(dǎo)體廠商,由半導(dǎo)體廠商生產(chǎn)soc,并銷售,同時提供一些其他設(shè)計服務(wù),比如物理IP,圖形內(nèi)核和開發(fā)工具的設(shè)計。

ARM 公司是微處理器行業(yè)的一家知名企業(yè),它是知識產(chǎn)權(quán)供應(yīng)商,設(shè)計基于ARM體系的處理器;公司并不生產(chǎn)芯片,也不出售芯片,它轉(zhuǎn)讓設(shè)計方案給半導(dǎo)體廠商,由半導(dǎo)體廠商生產(chǎn)soc,并銷售,同時提供一些其他設(shè)計服務(wù),比如物理IP,圖形內(nèi)核和開發(fā)工具的設(shè)計。ARM微處理器包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、以及Intel的StrongARM、XScale和其它廠商基于ARM體系結(jié)構(gòu)的處理器,除了具有ARM體系結(jié)構(gòu)的共同特點(diǎn)以外,每一個系列的ARM微處理器都有各自的特點(diǎn)和應(yīng)用領(lǐng)域。

ARM的體系結(jié)構(gòu)或處理器結(jié)構(gòu)主要體現(xiàn)在:ARM微處理器的寄存器結(jié)構(gòu)、異常處理、存儲器結(jié)構(gòu)、指令系統(tǒng)、接口等方面。

1、寄存器結(jié)構(gòu):

ARM處理器共有37個寄存器,被分為若干個組(BANK),這些寄器包括:

● 31個通用寄存器,包括程序計數(shù)器(PC指針),均為32位的寄存器。

● 6個狀態(tài)寄存器,用以標(biāo)識CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為32位,目前只使用了其中的一部分。

(1)處理器運(yùn)行模式:

ARM微處理器支持7種運(yùn)行模式,分別為:

● usr(用戶模式):ARM處理器正常程序執(zhí)行模式。

● fiq(快速中斷模式):用于高速數(shù)據(jù)傳輸或通道處理

● irq(外部中斷模式):用于通用的中斷處理

● svc(管理模式):操作系統(tǒng)使用的保護(hù)模式

● abt (數(shù)據(jù)訪問終止模式): 當(dāng)數(shù)據(jù)或指令預(yù)取終止時進(jìn)入該模式,可用于虛擬存儲及存儲保護(hù)。

● sys(系統(tǒng)模式): 運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。

● und(未定義指令中止模式):當(dāng)未定義的指令執(zhí)行時進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。

ARM微處理器的運(yùn)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。

大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時,某些被保護(hù)的系統(tǒng)資源是不能被訪問的。

除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。

ARM的RISC體系結(jié)構(gòu)的發(fā)展中已經(jīng)提供了低功耗、小體積、高性能的方案。而為了解決代碼長度的問題,ARM體系結(jié)構(gòu)又增加了T變種,開發(fā)了一種新的指令體系,這就是Thumb指令集,它是ARM技術(shù)的一大特色。

Thumb是ARM體系結(jié)構(gòu)的擴(kuò)展。它有從標(biāo)準(zhǔn)32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度。

支持Thumb的ARM體系結(jié)構(gòu)的處理器狀態(tài)可以方便的切換、運(yùn)行到Thumb狀態(tài),在該狀態(tài)下指令集是16位的Thumb指令集。

ARM指令集對比Thumb指令集:

· 完成相同的操作,Thumb指令通常需要更多的指令,因此在對系統(tǒng)運(yùn)行時間要求苛刻的應(yīng)用場合ARM指令集更為適合;

· Thumb指令集沒有包含進(jìn)行異常處理時需要的一些指令,因此在異常中斷時,還是需要使用ARM指令,這種限制決定了Thumb指令需要和ARM指令配合使用。

ARM處理器的工作狀態(tài)由程序狀態(tài)寄存器CPSR的D5位的值控制,ARM指令集和Thumb指令集都設(shè)有處理器工作狀態(tài)切換指令,以供程序在執(zhí)行過程中對處理器進(jìn)行狀態(tài)切換。啟動時,處理器默認(rèn)狀態(tài)為ARM狀態(tài)。

Thumb指令與ARM指令的時間效率和空間效率對比:

· Thumb代碼所需的存儲空間為ARM代碼的60%~70%;

· Thumb代碼使用的指令數(shù)比ARM代碼多30%~40%;

· 使用32位的存儲器,ARM代碼比Thumb代碼快約40%;

· 若使用16位存儲器,則Thumb代碼比ARM代碼快40%~50%;

· 與ARM代碼相比較,使用Thumb代碼,存儲器的功耗會降低約30%。

若對系統(tǒng)的性能有較高要求,則應(yīng)使用32位存儲系統(tǒng)和ARM指令集;若對系統(tǒng)的成本及功耗有較高要求,則應(yīng)使用16位存儲系統(tǒng)和Thumb指令集。當(dāng)然,若兩者結(jié)合使用,充分發(fā)揮各自的優(yōu)點(diǎn),則會取得更好的效果。


聲明:該篇文章為本站原創(chuàng),未經(jīng)授權(quán)不予轉(zhuǎn)載,侵權(quán)必究。
換一批
延伸閱讀
關(guān)閉