arm處理器的thumb和arm指令集

2022-10-11 18:21:09 字數 809 閱讀 5462

arm處理器擁有多種指令集,不同的架構支援不同的指令集。

armeabi-v7a是乙個32位的架構,其支援thumb-1,thumb-2,arm三種指令集。

thumb-1指令集是arm指令集的子集,thumb-1指令長度為16位(兩個位元組),arm指令為32位(4個位元組)。thumb-1指令集並不是乙個完整的指令集,有一些操作無法使用thumb-1指令集完成,但是對於簡單的操作使用thumb-1指令集的程式比使用arm指令集的程式體積更小。

thumb-2是對thumb-1的擴充套件,thumb-2的一些指令使用了32位(4個位元組)。但是一般情況下thumb-1指令集是和thumb-2指令集配合使用,在編譯程式時如果使用thumb指令,生成的程式既會包含thumb-1的指令又會包含thumb-2的指令。當乙個操作可以使用一條 32bits指令完成時就使用 32bits 的指令,加快執行速度,而當一次操作只需要一條16bits 指令完成時就使用16bits 的指令,節約儲存空間。

上圖中的程式就是既包含16位的thumb-1指令又包含32位的thumb-2指令。一般含有.w字尾的指令都是thumb-2指令集特有的指令。

預設情況下是使用thumb指令集生成二進位制程式,這樣可以減小二進位制程式的體積。使用編譯引數-mthumb 可以顯式選擇使用thumb指令集生成二進位制檔案。使用-marm 編譯參數顯式使用arm指令集生成二進位制程式。

arm處理器模式和arm處理器狀態的區別

arm處理器狀態 arm微處理器的工作狀態一般有兩種,並可在兩種狀態之間切換 第一種為arm狀態,此時處理器執行32位的字對齊的arm指令 第二種為thumb狀態,此時處理器執行16位的 半字對齊的thumb指令。在程式的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,並且,處理器工作狀態的轉變...

RISC CISC 和 ARM處理器

risc riduced instruction set computer 精簡指令集計算機 cisc complex instruction set computer 複雜指令集計算機 所謂 體系結構 是指程式設計師在某cpu上進行程式設計時能夠使用的處理器資源,其中最重要的是處理器所提供的指令系...

RISC CISC 和 ARM處理器

risc riduced instruction set computer 精簡指令集計算機 cisc complex instruction set computer 複雜指令集計算機 所謂 體系結構 是指程式設計師在某cpu上進行程式設計時能夠使用的處理器資源,其中最重要的是處理器所提供的指令系...