一 ARM工作模式

2021-08-18 21:28:19 字數 1695 閱讀 3023

1、工作狀態

從程式設計的角度看,arm微處理器的工作狀態一般有兩種,並可在兩種狀態之間切換:

第一種為

arm狀態,

此時處理器執行32位的字對齊的arm指令。

第二種為

thumb狀態

,此時此時處理器執行16位的、半字對齊的arm指令。

當arm微處理器執行32位的arm指令集時,工作在arm狀態;

當arm微處理器執行16位的thumb指令集時,工作在thumb狀態。

在程式的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,並且,處理器工作狀態的轉變並不影響處理器的工作模式和相應暫存器的內容。

2、儲存器格式

arm體系結構將儲存器看作是從零位址開始的

位元組的線性組合

。(按字排列)

從零位元組到三位元組放置第乙個儲存的字(32位)資料,從第四個位元組到第七個位元組放置第二個儲存的字資料,依次排列。

作為32位的微處理器,arm體系結構所支援的最大定址空間為

4gb

。arm體系結構可以用兩種方法儲存字資料,稱之為

大端格式

和小端格式

。大端格式:字資料的

高位元組儲存在

低位址中,字資料的

低位元組存放在

高位址中。

小端格式:

低位址中存放的是字資料的

低位元組,

高位址存放的是字資料的

高位元組。

3、指令長度

arm微處理器的指令長度可以是

32位(在arm狀態下),也可以是16位(在thumb狀態下)。

arm微處理器中支援位元組(8位)、半字(16位)、字(32位)三種資料型別,

其中,字需要4位元組對齊(位址的低兩位為0)、半字需要2位元組對齊(位址的最低位為0)

4、工作模式

arm微處理器支援7種工作模式,分別為:

(1)使用者模式(usr)

用於正常執行程式。

(2)快速中斷模式(fiq)

用於高速資料傳輸。

(3)外部中斷模式(irq)

用於通常的中斷模式。

(4)管理模式(svc)

作業系統使用的保護模式

(5)資料訪問終止模式(abt)

當資料或指令預取終止時進入該模式,可用於虛擬儲存及儲存保護。

(6)系統模式(sys)

執行具有特權的作業系統任務。

(7)未定義指令終止模式(und)

當未定義的指令執行時進入該模式,可用於支援硬體

arm微處理器的執行模式可以

通過軟體改變

,也可以

通過外部中斷或異常處理改變

。應用程式執行在使用者模式下時

,當時處理器執行在使用者模式下時,某些被保護的系統資源是不能被訪問的。

除使用者模式以外,

其餘的所有6種模式稱之為非使用者模式,或特權模式(privileged modes)

;其中除去使用者模式和系統模式以外的5種又稱為異常模式(exception modes)

,常用於處理中斷或異常,以及需要訪問受保護的資源等情況。

ARM工作模式

從程式設計的角度看,arm微處理器的工作狀態有兩種,並可在兩種狀態之間切換 1 arm狀態,此時處理器執行32位的字對齊的arm指令 2 thumb狀態,此時處理器執行16位的,半字對齊的thumb指令 為了相容老晶元 在程式執行的過程中,可以在兩種狀態之間進行相應的轉換。處理器工作狀態的轉變並不影...

arm工作模式

從程式設計的角度看,arm微處理器的工作狀態有兩種,並可在兩種狀態之間切換 1 arm狀態,此時處理器執行32位的字對齊的arm指令 2 thumb狀態,此時處理器執行16位的,半字對齊的thumb指令 為了相容老晶元 在程式執行的過程中,可以在兩種狀態之間進行相應的轉換。處理器工作狀態的轉變並不影...

arm工作模式

一 arm工作模式 arm微處理器支援7種工作模式,分別為 1 使用者模式 usr 用於正常執行程式 2 快速中斷模式 fiq 用於高速資料傳輸 3 外部中斷模式 irq 用於通常的中斷處理 4 管理模式 svc 作業系統使用的保護模式 高許可權 復位和軟體中斷進入 5 資料訪問終止模式 abt 當...