日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ARM的7种工作模式、37个通用寄存器、CPSR程序状态寄存器

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM的7种工作模式、37个通用寄存器、CPSR程序状态寄存器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、ARM 采用的是32位架構

1、ARM約定

Byte:8 bits

Halfword:16 bits (2 byte)

Word:32 bits (4 byte)


2、大部分ARM core 提供

ARM 指令集(32-bit) 每條指令都是4個字節?

Thumb 指令集(16-bit )

Thumb2指令集(16 & 32bit)


二、ARM的7種基本工作模式

普通模式(Normal)

(1)User:非特權模式,大部分任務執行在這種模式

特權模式(Privilege)

(2)FIQ:當一個高優先級(fast) 中斷產生時將會進入這種模式

(3)IRQ:當一個低優先級(normal) 中斷產生時將會進入這種模式

(4)Supervisor:當復位或軟中斷指令執行時將會進入這種模式(SVC模式)

(5)Abort:當存取異常時將會進入這種模式

(6)Undef:當執行未定義指令時會進入這種模式

(7)System:使用和User模式相同寄存器集的特權模式。

  • 各種模式的切換,可以是程序員通過代碼主動切換(通過寫CPSR寄存器),也可以是CPU在某些情況下自動切換。
  • 各種模式下權限和可以訪問的寄存器不同。
  • 同一時刻只處于其中一種模式。
  • 操作系統有安全級別要求,因此CPU設計多種模式是為了方便操作系統的多種角色安全等級需要。
  • 不同模式下,對資源的訪問權限不一樣。


三、37個通用寄存器

1、寄存器分類和區別

(1)SoC中有2類寄存器:通用寄存器和SFR

  • 通用寄存器(ARM中有37個)是CPU的組成部分,CPU的很多活動都需要通用寄存器的支持和參與。
  • SFR(special function register,特殊功能寄存器)屬于外設硬件的組成部分,我們通過訪問外設的SFR來編程操控這個外設,這就是硬件編程控制的方法。

(2)通用寄存器沒有地址,通過寄存器名字來訪問;而特殊功能寄存器有地址。

(3)寄存器是外設硬件的軟件編程接口API。使用軟件編程控制某一硬件,其實就是編程讀寫該硬件的寄存器。

2、37個通用寄存器

(1)ARM總共有37個寄存器,但是每種模式下最多只能看到18個寄存器,其他寄存器雖然名字相同但是在當前模式不可見。
  • 對r13這個名字來說,在ARM中共有6個名叫r13(又叫sp,棧指針)的寄存器,但是在每種特定處理器模式下,只有一個r13是當前可見的,其他的r13必須切換到他的對應模式下才能看到。這種設計叫影子寄存器(banked register)。
(2)ARM共有37個寄存器,都是32位長度。
  • 30個為“通用”型;
  • 1個固定用作PC(Program control register,程序控制寄存器,PC指向哪里,CPU就會執行哪條指令,因此只有一個);
  • 1個固定用作CPSR(程序狀態寄存器,用來記錄當前cpu的狀態,因此只有一個);
  • 5個固定用作5種異常模式下的SPSR(Saved Program Status Register,程序狀態保存寄存器,用來保存CPSR的,返回時將spsr賦給cpsr)。
(3)lr用來存儲返回地址。 (4)第二幅圖中帶顏色的,表示每種模式下特有的寄存器。

四、CPSR程序狀態寄存器 ?

(1)CPSR中各個bit位表明了CPU的某些狀態信息,這些信息非常重要,和后面學到的匯編指令息息相關(譬如BLE指令中的E就和CPSR中的Z標志位有關)。 (2)CPSR中的I、F位和開中斷、關中斷有關。 (3)CPSR中的mode位(bit4~bit0共5位)決定了CPU的工作模式,在uboot代碼中會使用匯編進行設置。



創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的ARM的7种工作模式、37个通用寄存器、CPSR程序状态寄存器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。