加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 11.2  Thumb編程模型
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Thumb指令集之: Thumb編程模型

2013/09/30
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

11.2  Thumb編程模型

所有的Thumb指令都是16位的。它們都是ARM指令重新編碼得到的,所以繼承了ARM指令集的許多特點(diǎn)。

① 有數(shù)據(jù)處理、數(shù)據(jù)傳送和流控制的指令結(jié)構(gòu)。

② 支持8位字節(jié)、16位半字和32位字?jǐn)?shù)據(jù)類型,半字以兩字節(jié)邊界對(duì)齊,字以4字節(jié)邊界對(duì)齊。

③ 32位的無(wú)分段存儲(chǔ)器(unsegmented memory)。

Thumb指令集除了繼承了ARM指令集的一些特點(diǎn)外,與ARM指令集存在以下一些差異。

① 大多數(shù)Thumb指令為無(wú)條件執(zhí)行指令(所有ARM指令都是條件執(zhí)行的)。

② 許多Thumb數(shù)據(jù)處理指令采用了2地址格式(目的寄存器與源寄存器相同)。而ARM指令中除64位乘法指令外,其余指令均采用3地址模式。

③ Thumb指令格式減少了很多ARM指令格式的限制,使Thumb指令編寫的代碼密度大大提高。

無(wú)論處理器處于什么狀態(tài),所有的異常都使處理器返回到ARM狀態(tài),并完成異常處理。但異常發(fā)生時(shí),CPSR狀態(tài)寄存器在進(jìn)入異常時(shí)被保存到相應(yīng)的SPSR中,當(dāng)異常處理結(jié)束后,處理器將恢復(fù)到異常發(fā)生前的狀態(tài),并按照發(fā)生異常時(shí)處理器的狀態(tài)繼續(xù)執(zhí)行ARM或Thumb指令。

應(yīng)該注意的是,ARM異常返回指令需要根據(jù)ARM流水線的行為對(duì)返回地址進(jìn)行調(diào)整。由于Thumb指令是2字節(jié)長(zhǎng),而ARM指令是4字節(jié)長(zhǎng),所以由Thumb執(zhí)行狀態(tài)進(jìn)入異常時(shí)其自然偏移量應(yīng)與ARM不同(ARM狀態(tài)下,拷貝到鏈接寄存器的值PC-4)。為了減少編程的復(fù)雜性,ARM體系結(jié)構(gòu)中設(shè)置了硬件邏輯,以實(shí)現(xiàn)Thumb狀態(tài)的自動(dòng)地址偏移調(diào)整,使ARM和Thumb狀態(tài)編程一致。

表11.2列出了Thumb狀態(tài)下發(fā)生異常時(shí)LR的值。

表11.2 Thumb狀態(tài)異常返回指令

異    常

異常鏈接寄存器值

返 回 指 令

Reset

不可預(yù)知的值

未定義指令

未定義指令地址+2

MOV  PC,r14

SWI

Swi指令地址+2

MOV  PC,r14

預(yù)取異常

預(yù)取異常指令+4

MOV  PC,r14,#4

數(shù)據(jù)異常

產(chǎn)生預(yù)取異常指令地址+8

MOV  PC,r14,#8

IRQ

下一條將被執(zhí)行的指令地址+4

MOV  PC,r14,#4

FIQ

下一條將被執(zhí)行的指令地址+4

MOV  PC,r14,#4

Arm

Arm

ARM公司是一家知識(shí)產(chǎn)權(quán)(IP)供應(yīng)商,主要為國(guó)際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計(jì)算設(shè)備、多媒體數(shù)字消費(fèi)品等方案的RISC標(biāo)準(zhǔn)。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知識(shí)產(chǎn)權(quán)(IP)供應(yīng)商,主要為國(guó)際上其他的電子公司提供高性能RISC處理器、外設(shè)和系統(tǒng)芯片技術(shù)授權(quán)。目前,ARM公司的處理器內(nèi)核已經(jīng)成為便攜通訊、手持計(jì)算設(shè)備、多媒體數(shù)字消費(fèi)品等方案的RISC標(biāo)準(zhǔn)。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

華清遠(yuǎn)見(jiàn)(www.farsight.com.cn)是國(guó)內(nèi)領(lǐng)先嵌入師培訓(xùn)機(jī)構(gòu),2004年注冊(cè)于中國(guó)北京海淀高科技園區(qū),除北京總部外,上海、深圳、成都、南京、武漢、西安、廣州均有直營(yíng)分公司。華清遠(yuǎn)見(jiàn)除提供嵌入式相關(guān)的長(zhǎng)期就業(yè)培訓(xùn)、短期高端培訓(xùn)、師資培訓(xùn)及企業(yè)員工內(nèi)訓(xùn)等業(yè)務(wù)外,其下屬研發(fā)中心還負(fù)責(zé)嵌入式、Android及物聯(lián)網(wǎng)方向的教學(xué)實(shí)驗(yàn)平臺(tái)的研發(fā)及培訓(xùn)教材的出版,截止目前為止已公開(kāi)出版70余本嵌入式/移動(dòng)開(kāi)發(fā)/物聯(lián)網(wǎng)相關(guān)圖書(shū)。企業(yè)理念:專業(yè)始于專注 卓識(shí)源于遠(yuǎn)見(jiàn)。企業(yè)價(jià)值觀:做良心教育、做專業(yè)教育,更要做受人尊敬的職業(yè)教育。