1. 程式人生 > >ARM的2種狀態和7種工作模式

ARM的2種狀態和7種工作模式

一、ARM處理器的兩種工作狀態:

1、ARM狀態:32位,ARM狀態執行字對齊的32位ARM指令。

2、Thumb狀態,16位,執行半字對齊的16位

3、用Bx Rn指令來進行兩種狀態的切換:

   其中Bx是跳轉指令,而Rn是暫存器(1個字,32位),如果Rn的位0為1,則進入Thumb狀態;如果Rn的位為0,這進入ARM狀態。(原因:ARM指令的後兩位始終為0,沒有用,而Thumb指令的後一位始終為0,沒有用,因此採用位0來表示ARM指令與Thumb指令的切換標誌位。)

注:1、ARM和Thumb兩種狀態之間的切換不影響處理器的工作模式和暫存器的內容。

      2、ARM處理器在處理異常時,不過處理器處於什麼狀態,則都將切換到ARM狀態。(**********)

二、ARM處理器的7種模式:

1、使用者模式

    ARM處理器正常的程式執行狀態。非特權模式(其他6種模式為特權模式)

2、系統模式

   說明:使用者模式與系統模式兩者使用相同的暫存器,都沒有SPSR(Saved Program Statement Register,已儲存程式狀態暫存器),但系統模式比使用者模式有更高的許可權。

3、快中斷模式(Fast Interrupt Request)

    用於高速資料傳輸或通道處理。

4、一般中斷模式(IRQ)

     用於通用的中斷處理。

5、管理模式(Supervisor,SVC) 

   說明:系統復位或開機時則進入到SVC模式下

6、中止(abort)

   說明:當遇到軟中斷(SWI,Software Interrupt)時,也將進入到SVC模式下

7、未定義(undefine)

說明:1、使用者模式外,其它6種模式稱為特權模式。所謂特權模式,即具有如下權利:a.MRS(把狀態暫存器的內容放到通用暫存器);b.MSR(把通用暫存器的內容放到狀態暫存器中)。由於狀態暫存器中的內容不能夠改變,因此要先把內容複製到通用暫存器中,然後修改通用暫存器中的內容,再把通用暫存器中的內容複製給狀態暫存器中即可完成“修改狀態暫存器”的任務。

  這種七模式可以通過軟體改變,也可以通過中斷和異常改變

2、剩下的六種模式中除去系統模式外,統稱為異常模式。

三、ARM指令中有37個暫存器,有31個通用暫存器和6個狀態暫存器。

   原因:系統模式和使用者模式共享相同的暫存器。使用者、系統模式沒有“儲存的程式狀態暫存器(SPSR)”,而其他5種模式分別有一個對應的“儲存的狀態暫存器(SPSR)”,即共五個SPSR,七個模式共用一個“當時程式狀態暫存器(CPSR)”,即共六個狀態暫存器,還有31個通用暫存器。

相關推薦

ARM的2狀態7工作模式

一、ARM處理器的兩種工作狀態: 1、ARM狀態:32位,ARM狀態執行字對齊的32位ARM指令。 2、Thumb狀態,16位,執行半字對齊的16位 3、用Bx Rn指令來進行兩種狀態的切換:    其中Bx是跳轉指令,而Rn是暫存器(1個字,32位),如果Rn的位0為1,

ARM處理器的2工作狀態7工作模式

兩種工作狀態 1、ARM狀態:32位,ARM狀態執行字對齊的32位ARM指令。 2、Thumb狀態,16位,執行半字對齊的16位指令。 3、用Bx Rn指令來進行兩種狀態的切換:     其中Bx是跳轉指令,而Rn是暫存器(1個字,32位),如果Rn的位0為1,則

生成樹中的5交換機端口狀態3生成樹協議模式

style blocking 用戶數 forward 命令 learn 用戶數據 pvst+ class 端口狀態:①關閉(disable):端口處於管理關閉狀態 即DIS②阻塞(blocking): 不能轉發用戶數據 即BLK③監聽(listening): 接口開始啟動

數據庫事務4隔離級別7傳播行為

事物 程序 單位 oracle 異常 邏輯 封裝 supported dbms   隔離級別越高,越能保證數據的完整性和一致性,但是對並發性能的影響也越大。對於多數應用程序,可以優先考慮把數據庫系統的隔離級別設為Read Committed。它能夠避免臟讀取,而且具有較

hibernate中實體類的三狀態crud操作

實體類 private int uid; private String name; private String age; private String address; public int getUid() { return uid;

java物件中的三狀態髒檢查及重新整理快取機制

瞬時狀態   瞬時狀態又稱臨時狀態.如果java物件與資料庫中的資料沒有任何的關聯,即此java物件在資料庫中沒有相關聯的記錄,此時java物件的狀態為瞬時狀態,session對於 瞬時狀態的ava物件是一無所知的,當物件不再被其他物件引用時,它的所有資料也就丟失了,物件將會被java虛擬機器按照垃圾回收

java之執行緒建立的兩方式,六狀態匿名內部類建立子類或實現類物件

一.匿名內部類建立子類或實現類物件 new Test(){} 相當於建立了Test類的子類物件 並且沒有類名 建立介面實現類 new 介面名() {};介面實現類的物件 注意 : new 後邊是類或者介面名 大括號內是類或者介面中的方法 public

Vuex有那幾狀態屬性?

vuex的流程 頁面通過mapAction非同步提交事件到action。action通過commit把對應引數同步提交到mutation。mutation會修改state中對於的值。 最後通過getter把對應值跑出去,在頁面的計算屬性中,通過mapGett

Activity的四狀態生命週期

        Android程式中,Activity是程式和使用者互動的介面,在系統中存在四種狀態:Running, Paused, Stopped, Killed。         Running是指Activity在系統中獲得焦點的狀態,此時使用者可以與該程式進行互動

2 Task中的延續7阻塞

1.wait using System; using System.Threading; using System.Threading.Tasks; namespace 多執行緒_List { class Program { static void Main(stri

XMLHttpRequest物件的幾狀態幾個重要屬性以及常用的方法

XMLHttpRequest的幾種狀態: 0:  物件沒有完成初始化 1: 物件開始傳送請求 2: 物件的請求傳送完成 3: 物件開始讀取伺服器響應 4: 物件讀取伺服器響應結束 1.onreadystatechange                      指定XML

Hibernate: 三狀態CRUD四操作

本篇部落格是初學hibernate時筆記總結,主要總結hibernate的三種狀態和hibernate的CRUD操作。 1. hibernate的三種狀態: Transient State : 瞬時狀態; Persistent State : 持久狀態

Activity的三狀態生命週期的七方法

在理解activity前我們首先要搞清Application activity stack  Task。 Application可以理解為就是app 那麼手機中有很多app這些app啟動時可以理解為一個任務 在每個任務中都對應一個activity 的stack activi

程序的幾狀態排程方法

1、程序的基本狀態: (1)執行:已經獲得必要的資源  佔用處理機 處理機正在執行該程序 (2)就緒:程序等待分配CPU (3)阻塞:等待某個事件  執行——>就緒:1,主要是程序佔用CP

機器學習的13演算法4學習方法,推薦給大家

機器學習的演算法很多。很多時候困惑人們都是,很多演算法是一類演算法,而有些演算法又是從其他演算法中延伸出來的。這裡,我們從兩個方面來給大家介紹,第一個方面是學習的方式,第二個方面是演算法的分類。 一、4大主要學習方式 1.監督式學習 在監督式學習下,輸入資料被稱為“訓練資料”,

CSS三建立選擇器

一、CSS簡介 層疊樣式表是一種用來表現HTML或XML等檔案樣式的計算機語言,CSS目前最新版為CSS3,是能夠真正做到網頁表現與內容分離的一種樣式設計語言,相對於傳統HTML的表現而言,CS

Spring中IoC兩介面依賴注入方式的比較

spring是一個開源框架,是為了解決企業應用程式開發的複雜性而建立的,為J2EE應用程式開發提供整合的框架。簡單來說,spring是一個輕量級的控制反轉IOC和麵向切面AOP的容器框架。spring框架會對定義在配置檔案中的bean例項自動管理,這個bean也就是Java

技術人才的出路在哪裡,5選擇2思路

   作為一名對技術很感興趣的技術人,一直在探索自己的出路。   為什麼會有這個問題呢?   隨便一個懂技術的人,吃飽穿暖太簡單了。問題是,稍微厲害一點的技術人,都有自己的野心或志向。    有的,專注技術,成了某個領域的專家,比如Java專家。95%的問題,分分鐘秒殺。 

軟體開發的4模型4方法

軟體開發模型: 1.瀑布模型:適合需求明確的軟體開發。     2.演化模型:獲取一組基本需求,快速給出版本,成為原型,用於對軟體需求缺乏準認知的情況。不需要明確的需求    3.螺旋模型:結合瀑布模型和演化模型,綜合兩者優點,並增加風險分析,螺旋模型包括四個方面活動:

32位ARM處理器的幾工作模式工作狀態

ARM處理器工作模式一共有 7 種 : USR  模式     正常使用者模式,程式正常執行模式 FIQ模式(Fast Interrupt Request)      處理快速中斷,支援高速資料傳送或通道處理 IRQ