九九精品国产/国产午夜爽爽窝窝在线观看/俺去操/韩国理伦片最新2023观看

主要產品系列 
Microcontrollers

ARM架構處理器及ARM處理器7種工作模式

ARM處理器狀態、指令集

ARM微處理器的工作狀態一般有兩種,并可在兩種狀態之間切換:

第一種為ARM狀態,此時處理器執行32位的字對齊的ARM指令,對應ARM指令集;

第二種為Thumb狀態,此時處理器執行16位的、半字對齊的Thumb指令,對應Thumb指令集。

在程序的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,并且,處理器工作狀態的轉變并不影響處理器的工作模式和相應寄存器中的內容。但ARM微處理器在開始執行代碼時,應該處于ARM狀態。

ARM處理器工作模式

ARM微處理器支持7種運行工作模式,分別為:

  • 用戶模式(usr):ARM處理器正常的程序執行狀態。非特權模式。
  • 快速中斷模式(fiq):用于高速數據傳輸或通道處理。
  • 外部中斷模式(irq):用于通用的中斷處理。
  • 管理模式(svc):操作系統使用的保護模式。
  • 數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。
  • 系統模式(sys):運行具有特權的操作系統任務。
  • 定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。

ARM寄存器

ARM處理器共有37個寄存器。其中包括:31個通用寄存器,包括程序計數器(PC)在內。這些寄存器都是32位寄存器。以及6個32位狀態寄存器。關于寄存器這里就不詳細介紹了,有興趣的人可以上網找找,很多這方面的資料。

異常處理

當正常的程序執行流程發生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前,當前處理器的狀態(CPSR)必須保留,這樣當異常處理完成之后,當前程序可以繼續執行。處理器允許多個異常同時發生,它們將會按固定的優先級進行處理。當一個異常出現以后,ARM微處理器會執行以下幾步操作:

進入異常處理的基本步驟:

將下一條指令的地址存入相應連接寄存器LR(Link Register),以便程序在處理異常返回時能從正確的位置重新開始執行。將CPSR復制到相應的SPSR中。根據異常類型,強制設置CPSR的運行模式位。 強制PC從相關的異常向量地址取下一條指令執行,從而跳轉到相應的異常處理程序處。如果異常發生時,處理器處于Thumb狀態,則當異常向量地址加載入PC時,處理器自動切換到ARM狀態。 ARM微處理器對異常的響應過程用偽碼可以描述為:

  • R14_ = Return Link
  • SPSR_= CPSR
  • CPSR[4:0] = Exception Mode Number
  • CPSR[5] = 0 ;當運行于 ARM 工作狀態時
  • If == Reset or FIQ then;當響應 FIQ 異常時,禁止新的 FIQ 異常
  • CPSR[6] = 1
  • PSR[7] = 1
  • PC = Exception Vector Address

異常處理完畢之后,ARM微處理器會執行以下幾步操作從異常返回:

  • 將連接寄存器LR的值減去相應的偏移量后送到PC中。
  • 將SPSR復制回CPSR中。
  • 若在進入異常處理時設置了中斷禁止位,要在此清除。

相關閱讀:ARM體系結構、架構

聲明:本站部分內容根據互聯網資料整理而成,若侵犯您的權益,請聯系我們,我們會盡快處理。


                                                  



© 2006 WeBoch.Com.cn 版權所有:深圳市偉博創科技有限公司
地址:深圳市福田區振華路蘇發大廈305棟405 電話:0755-83240703 傳真:0755-83240724