第二講 Thumb技術(shù)介紹_第1頁
第二講 Thumb技術(shù)介紹_第2頁
第二講 Thumb技術(shù)介紹_第3頁
第二講 Thumb技術(shù)介紹_第4頁
第二講 Thumb技術(shù)介紹_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二講

Thumb技術(shù)介紹Thumb技術(shù)介紹Thumb技術(shù)產(chǎn)生的原因Thumb的技術(shù)概述Thumb的技術(shù)實(shí)現(xiàn)Thumb技術(shù)的特點(diǎn)Thumb技術(shù)產(chǎn)生的原因在ARM技術(shù)發(fā)展的歷程中,尤其是ARM7體系結(jié)構(gòu)被廣泛接受和使用時(shí),嵌入式控制器的市場(chǎng)仍然大都由8位、16位的處理器占領(lǐng)。而這些產(chǎn)品卻不能滿足高端應(yīng)用如移動(dòng)電話、磁盤驅(qū)動(dòng)器、調(diào)制解調(diào)器等設(shè)備對(duì)處理器性能的要求。這些高端消費(fèi)類產(chǎn)品需要32位RISC處理器性能和更優(yōu)于16位的CISC處理器的代碼密度。這就要求要以更低的成本取得更好的性能和更優(yōu)于16位的CISC處理器的代碼密度。Thumb技術(shù)產(chǎn)生的原因?yàn)榱藵M足嵌入式技術(shù)不斷發(fā)展的要求,ARM的RISC體系結(jié)構(gòu)的發(fā)展中已經(jīng)提供了低功耗、小體積、高性能的方案。而為了解決代碼長(zhǎng)度的問題,ARM體系結(jié)構(gòu)又增加了T變種,開發(fā)了一種新的指令體系,這就是Thumb指令集。Thumb技術(shù)是ARM技術(shù)的一大特色,本節(jié)以第一個(gè)支持Thumb的核-ARM7TDMI為例對(duì)Thumb技術(shù)進(jìn)行介紹。Thumb的技術(shù)概述Thumb是ARM體系結(jié)構(gòu)的擴(kuò)展。它有從標(biāo)準(zhǔn)32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度,因?yàn)門humb指令的寬度只有ARM指令寬度的一半。在運(yùn)行時(shí),這些16位的Thumb指令又由處理器解壓成32位的ARM指令。Thumb的技術(shù)概述ARM7TDMI是第一個(gè)支持Thumb的核,支持Thumb的核僅僅是ARM體系結(jié)構(gòu)的一種發(fā)展的擴(kuò)展;所以編譯器既可以編譯Thumb代碼,又可以編譯ARM代碼;更高性能的未來的ARM核,也都能夠支持Thumb。

Thumb的技術(shù)概述支持Thumb的ARM體系結(jié)構(gòu)的處理器狀態(tài)可以方便的切換、運(yùn)行到Thumb狀態(tài),在該狀態(tài)下指令集是16位的Thumb指令集。Thumb可以滿足它們的要求,它在當(dāng)時(shí)的要求16位和未來需要的32位系統(tǒng)之間搭起了一座橋梁。更優(yōu)越的性能,而不需要付出額外的代價(jià),這點(diǎn)對(duì)那些目前使用著8或16位處理器,卻一直在尋找著更優(yōu)越的性能的用戶來說,提供了解決方案。

Thumb的技術(shù)實(shí)現(xiàn)ARM7TDMI正是利用了這個(gè)特點(diǎn),考慮流水線各級(jí)間的平衡,利用譯碼階段的一個(gè)未用的時(shí)鐘相位,將Thumb指令解壓還原為32位相應(yīng)的ARM指令來完成對(duì)Thumb指令的解壓縮。這些16位的Thumb指令可以由處理器在譯碼級(jí)解壓成32位的ARM指令,在ARM核里運(yùn)行。這樣,不需要再附加時(shí)間費(fèi)用和單獨(dú)的解碼周期,就可以維持指令的執(zhí)行。圖2-1為ARM7TDMI中ARM7和ARM7T取指令、解壓縮與執(zhí)行的過程。

Thumb的技術(shù)實(shí)現(xiàn)Thumb的技術(shù)實(shí)現(xiàn)圖2-2為Thumb指令的解壓縮和解碼過程:從流水的取指令階段得到的ARM指令,經(jīng)過ARM譯碼,并且激活主副操作碼控制信號(hào)。主操作碼描述了要執(zhí)行指令的類型,副操作碼說明了指令的細(xì)節(jié),諸如存儲(chǔ)器、操作數(shù)等。在Thumb狀態(tài),多路復(fù)用器指導(dǎo)指令經(jīng)過Thumb解壓縮邏輯,轉(zhuǎn)換為相應(yīng)的ARM指令,然后執(zhí)行。Thumb技術(shù)的特點(diǎn)支持Thumb的核有2套獨(dú)立的指令集,它使設(shè)計(jì)者得到ARM32位指令的性能,又能享有Thumb指令集產(chǎn)生的代碼方面的優(yōu)勢(shì)??梢栽谛阅芎痛a大小之間取得平衡,在需要較低的存儲(chǔ)代碼時(shí)采用Thumb指令系統(tǒng),但有比純粹的16位系統(tǒng)有較高的實(shí)現(xiàn)性能,因?yàn)閷?shí)際執(zhí)行的是32位指令,用Thumb指令編寫最小代碼量的程序,卻取得以ARM代碼執(zhí)行的最好性能。

Thumb技術(shù)的特點(diǎn)與ARM指令集相比,Thumb指令集具有以下局限:完成相同的操作,Thumb指令通常需要更多的指令,因此在對(duì)系統(tǒng)運(yùn)行時(shí)間要求苛刻的應(yīng)用場(chǎng)合ARM指令集更為適合;Thumb指令集沒有包含進(jìn)行異常處理時(shí)需要的一些指令,因此在異常中斷時(shí),還是需要使用ARM指令,這種限制決定了Thumb指令需要和ARM指令配合使用。Thumb技術(shù)的特點(diǎn)獨(dú)立的兩套指令集也使得解碼邏輯極其的簡(jiǎn)單,從而維持了較小的硅片面積,保證了領(lǐng)先的“低功耗、高性能、小體積”的技術(shù)要求,滿足了對(duì)嵌入式系統(tǒng)的設(shè)計(jì)需求。

ARM與THUMBTHUMB指令是ARM指令的子集可以相互調(diào)用,只要遵循一定的調(diào)用規(guī)則Thumb指令與ARM指令的時(shí)間效率和空間效率關(guān)系為:存儲(chǔ)空間約為ARM代碼的60%~70%指令數(shù)比ARM代碼多約30

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論