日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Thumb扩展

發布時間:2023/11/28 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Thumb扩展 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Thumb擴展

ARM處理器已在嵌入式系統,手持計算機和其系統中得到了最大的應用,在這些系統中,系統對使用有限資源進行大量工作的要求很高。Thumb擴展是為解決資源消耗中的某些方面而創建的,已成為當今幾乎所有ARM芯片上的標準擴展。

小型系統上受限的資源之一是指令存儲器。有限的指令存儲器限制了可以在處理器上運行的程序的大小,因此想尋找減小代碼大小的方法。當可以找到編譯優化時,編譯時優化是實現此目標的一種顯而易見的方法。增大指令集的大小是另一種方法,但這通常會導致整個板上各個指令的大小增加,這將導致存儲指令所需的存儲量相應增加。可能無法通過減少編寫程序所需的指令數量來抵消。

正在尋找的質量稱為代碼密度。希望以某種方式完成同樣數量的工作,但使程序占用更少的空間。這是Thumb擴展的用處。Thumb嘗試通過允許使用大(32位)指令集,同時提供可以完成大部分工作的備用小(16位)指令集來獲得兩全其美的效果。而僅占用一半的空間。稱此概念為“代碼壓縮”,其思想是在運行之前將小型Thumb指令“解壓縮”為等效的全尺寸32位ARM指令。

Thumb指令的外觀如何,與32位指令相比如何?

下圖顯示了如何將ADD指令從Thumb轉換為ARM的示例。注意,立即操作數(Thumb中的8位)是如何用等于ARM的零填充的。還要注意,add指令在解壓縮時會采用一個附加的操作數。

較小的指令意味著必須具有較小的操作碼,并且必須具有更少或更少(或兩者都有)的操作數。Thumb通過將其大部分指令限制為使用8個通用寄存器來代替通常的15個寄存器,從而部分確保了較小的操作數。一些指令可以訪問完整的寄存器集(例如MOV),以解決較小的一些限制。寄存器組。

ARM如何知道正在運行的指令是Thumb指令還是常規ARM指令?

ARM芯片包含一個特殊的狀態位,該位告訴CPU是期望壓縮的Thumb指令還是標準的ARM指令。該位由其自己的指令BX切換,每次程序員或編譯器希望在Thumb模式和標準ARM模式之間切換時,都必須將其插入代碼中。顯而易見的結果是,在模式之間進行切換會產生一些開銷,因此切換到Thumb可能不是一個好主意,除非可以為節省兩條以上的等??效ARM代碼指令。

總結

以上是生活随笔為你收集整理的Thumb扩展的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。