那曲檬骨新材料有限公司

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>Thumb指令集之Thumb指令應(yīng)用

Thumb指令集之Thumb指令應(yīng)用

2017-10-19 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

11.9 Thumb指令應(yīng)用
  11.9.1 Thumb的實現(xiàn)
  對3級流水線的ARM處理器來說,做相對較小的改動就可以實現(xiàn)Thumb指令集(5級流水線的實現(xiàn)要復(fù)雜些)。為實現(xiàn)Thumb指令集,在指令流水線中增加了Thumb指令解碼邏輯,該解碼邏輯將預(yù)取的Thumb指令轉(zhuǎn)換成等價的ARM指令。圖11.66顯示了Thumb指令的擴展邏輯組織。
  從圖11.66可以看出,Thumb指令增加了解碼擴展邏輯(Decompressor)與指令譯碼器串連,但這并不會增加指令的譯碼時間。在指令流水線譯碼周期的第一階段只做了很少的工作,因此可以把擴展邏輯安排在這里而不會影響周期時間或增加流水線延時。
  Thumb指令解碼擴展邏輯將16位的Thumb指令靜態(tài)地轉(zhuǎn)換為等價的32位ARM指令。這主要包括主操作碼和次操作碼的查表轉(zhuǎn)換,3位寄存器指示符(specifier)零擴展成4位寄存器指示符,以及所需要的其他域的映射。
  例如,Thumb指令“ADD Rd,#imm8”與對應(yīng)的ARM指令“ADD Rd,Rd,#8”的映射如圖11.67所示。
  Thumb指令集之Thumb指令應(yīng)用
  圖11.66 Thumb指令的擴展邏輯組織
  Thumb指令集之Thumb指令應(yīng)用
  圖11.67 Thumb指令到ARM指令的映射
  Thumb指令解碼邏輯實現(xiàn)Thumb指令到ARM指令映射時遵循以下規(guī)則:
  ① ARM指令的條件域(cond,bits[31:28])默認使用always。
  注意轉(zhuǎn)移指令除外,轉(zhuǎn)移指令是Thumb指令集中惟一一個條件執(zhí)行的指令。
  ② 在Thumb指令操作碼中隱含地指定Thumb數(shù)據(jù)處理指令是否應(yīng)該修改CPSR中的條件標(biāo)志位,在ARM指令中要明確指定。
  ③ 通過重復(fù)寄存器指示符將Thumb指令的2地址指令格式轉(zhuǎn)換為ARM的3地址指令格式。
  Thumb指令解碼擴展邏輯的簡單性對Thumb指令集的效率是非常重要的。如果Thumb指令解碼擴展邏輯構(gòu)成復(fù)雜、速度低并且功耗大,那么Thumb指令就沒有什么價值了。
  11.9.2 Thumb的特點
  Thumb指令把32位的ARM指令集的一個子集進行編碼,成為一個16位的指令集。所以在16位的外部數(shù)據(jù)總線寬度下,在ARM處理器上使用Thumb指令的性能要比使用ARM指令性能更好;而在32位外部數(shù)據(jù)總線寬度下,使用Thumb指令的性能要比使用ARM指令的性能差。
  16位的Thumb指令只用ARM指令一半的位數(shù)來實現(xiàn)同樣的功能,所以Thumb指令比ARM指令語義內(nèi)涵少,因而實現(xiàn)特定程序所需要的Thumb指令數(shù)比ARM指令多。一般情況下,Thumb代碼所需要的空間為ARM代碼的70%。
  注意代碼密度是Thumb指令集的主要優(yōu)勢。由于Thumb指令集的設(shè)計是面向編譯器的,而不是針對手寫匯編的,所以推薦使用高級語言如C或C++語言來編程,然后用編譯器生成Thumb指令的目標(biāo)碼。
  下面的例子分別使用ARM指令和Thumb指令實現(xiàn)了同樣的除法運算。雖然Thumb指令的實現(xiàn)使用了更多的指令,但是它所占的總的存儲空間卻比較少。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1AN158 GD32VW553 Wi-Fi開發(fā)指南
  2. 1.51MB   |  2次下載  |  免費
  3. 2嵌入式軟件開發(fā)符合ISO 26262 功能安全標(biāo)準(zhǔn)
  4. 1.61 MB  |  1次下載  |  免費
  5. 3AN148 GD32VW553射頻硬件開發(fā)指南
  6. 2.07MB   |  1次下載  |  免費
  7. 4PZT驅(qū)動開關(guān)電路
  8. 0.09 MB   |  1次下載  |  免費
  9. 5模擬電路仿真實現(xiàn)
  10. 2.94MB   |  1次下載  |  免費
  11. 6PCB繪制基礎(chǔ)知識
  12. 2.44MB   |  1次下載  |  免費
  13. 7EE-38:ADSP-2181 IDMA端口-周期竊取時序
  14. 75.0KB   |  次下載  |  免費
  15. 8EE-82:使用ADSP-2181 DSP的IO空間對另一個ADSP-2181進行IDMA引導(dǎo)
  16. 86.86KB   |  次下載  |  免費

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  452次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  139次下載  |  1 積分
  5. 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
  6. 0.10 MB   |  132次下載  |  免費
  7. 4美的電磁爐維修手冊大全
  8. 1.56 MB   |  24次下載  |  5 積分
  9. 5如何正確測試電源的紋波
  10. 0.36 MB   |  19次下載  |  免費
  11. 6感應(yīng)筆電路圖
  12. 0.06 MB   |  10次下載  |  免費
  13. 7LZC3106G高性能諧振控制器中文手冊
  14. 1.29 MB   |  9次下載  |  1 積分
  15. 8萬用表UT58A原理圖
  16. 0.09 MB   |  9次下載  |  5 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
百家乐伴侣| 网上百家乐怎么赌能赢钱| 大发888娱乐城出纳柜台| 百家乐官网代理荐| 网上玩百家乐的玩法技巧和规则| 香港六合彩报| 菲律宾百家乐官网赌场娱乐网规则| 玩百家乐的玩法技巧和规则| 长海县| 网上百家乐能作弊吗| 京城国际| 澳门百家乐官网玩法与游戏规则 | 易胜博百家乐官网作弊| 澳门百家乐必赢技巧| 百家乐官网投注信用最好的| 百家乐官网作弊知识| 大发888在线娱乐城| 百家乐开户代理| 岳池县| 百家乐赌大小| 百家乐官网可以破解吗| 无棣县| 马尼拉百家乐的玩法技巧和规则| 百家乐官网桌游| a8娱乐城开户| 缅甸百家乐网络赌博解谜| 玩百家乐官网去哪个平台好| 大发888老虎机手机版| 澳门百家乐皇冠网| 百家乐官网太阳城小郭| 大发888注册送彩金| 澳门百家乐如何算牌| 百家乐官网园游戏77sonci...| 金花娱乐城注册| 百家乐试玩平台| 澳门百家乐官网网址多少| 最好的棋牌游戏| 电玩百家乐的玩法技巧和规则| 澳门百家乐死局| 博狗百家乐官网真实| 英皇国际娱乐|