ARM 的指令結(jié)構(gòu)和寄存器結(jié)構(gòu)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
ARM 微處理器的在較新的體系結(jié)構(gòu)中支持兩種指令集: ARM 指令集和 Thumb 指令集。其中,ARM 指令為 32 位的長(zhǎng)度, Thumb 指令為 16 位長(zhǎng)度。 Thumb 指令集為 ARM 指令集的功能子集,但與等價(jià)的 ARM 代碼相比較,可節(jié)省 30 %~ 40 %以上的存儲(chǔ)空間,同時(shí)具備 32 位代碼的所有優(yōu)點(diǎn)
ARM 處理器共有 37 個(gè)寄存器,被分為若干個(gè)組( BANK ),這些寄存器包括:
- 31 個(gè)通用寄存器,包括程序計(jì)數(shù)器( PC 指針),均為 32 位的寄存器。
- 6 個(gè)狀態(tài)寄存器,用以標(biāo)識(shí) CPU 的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為 32 位,目前只使用了其中的一部分。
同時(shí), ARM 處理器又有 7 種不同的處理器模式,在每一種處理器模式下均有一組相應(yīng)的寄存器與之對(duì)應(yīng)。即在任意一種處理器模式下,可訪問(wèn)的寄存器包括 15 個(gè)通用寄存器( R0 ~ R14 )、一至二個(gè)狀態(tài)寄存器和程序計(jì)數(shù)器。在所有的寄存器中,有些是在 7 種處理器模式下共用的同一個(gè)物理寄存器,而有些寄存器則是在不同的處理器模式下有不同的物理寄存器。





