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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ARM知识点

發布時間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、ARM有幾種工作模式?
答:有7個基本工作模式:用戶模式(user)、系統模式(system)、數據訪問中止模式(abort)、未定義指令中止模式(undef)、快速中斷模式(FIQ)、外部中斷模式(IRQ)、管理模式(SVC)、cortex-A系列特有:M(monitor):安全模式。
記憶方法:USA UFI SM。

2、ARM核有多少個寄存器?
答:有37個32位長的寄存器。

3、什么寄存器用于存儲PC 和 LR寄存器?
答:R15(PC)、R14(LR)。

4、R13通常用過來存儲什么?
答:SP(棧指向)棧指針。

5、哪種模式使用的寄存器最少?
答:用戶模式/系統模式(不用SPSR)。

6、在Thumb指令集中,哪些寄存器處于low group?
答:R0-R7 屬于低位寄存器。

7、CPSR 的哪一個位反映了處理器的狀態?
答:第 5 位(從 0 開始), T 狀態位。

8、 所有的 Thumb 指令采取什么對齊方式?
答:半字對齊 (2 個字節 ) 。

9、ARM 有哪幾個異常類型?
答:(1) 復位異常 -> SVC 模式 [開發板復位 ]
(2) 未定義異常 -> UDF 模式 [執行未定義的指令 ]
(2) 軟中斷異常 -> SVC 模式 [通過 SWI 指令產生 ]
(4) 取數據終止 -> ABT 模式 [沒有取到數據 ]
(5) 取指令終止 -> ABT 模式 [沒有取指令 ]
(6)IRQ 中斷 -> IRQ 模式 [硬件觸發的 IRQ 中斷 ]
(7)FIQ 中斷 -> FIQ 模式 [硬件觸發的 FIQ 中斷 ]

10、為什么快速請求中斷 FIQ( Fast Interrupt Request )的服務程序地址要位于 0X1C ?
答:盡可能快,省去跳轉指令 (FIQ 的向量地址是異常中斷向量表的最高地址,而異常中斷向量表后跟的是程序代碼, FIQ 的中斷服務程序緊接中斷向量表存放, 中斷過程可以節省一條跳轉指令 )。

11、ARM 核是如何讓 FIQ 快速處理 ?
答:(1)FIQ 模式有私有的 r8-r12, 如果只是用私有的寄存器,不需要保護通用寄存器。
(2)FIQ 異常在異常向量表最頂端,可以直接寫 FIQ 異常處理函數,不需要跳轉。

12、在復位后, ARM 處理器處于何種模式、何種狀態?
答:管理模式 (SVC) 、 ARM 狀態。

13、ARM 處理器的八種尋址方式?
①.立即數尋址: 要求以 #開頭 mov r0 , #9
②.寄存器尋址: add r0,r1,r2 r0 = r1+r2
mov r0,r1 r0 = r1
③.寄存器間接尋址: ldr r0,[r1] r0 = [r1]
④.寄存器移位尋址: add r0,r1,r2,lsl #2
⑤.基址變址尋址: //前索引 ldr r0,[r1,#4] //r0 = *(r1 + 4)
//后索引 ldr r0,[r1],#4 //r0 = *r1,r1 = r1 + 4 ; data = *p ++;
//自動索引 ldr r0,[r1,#4]! //r0 = *(r1 + 4); r1 = r1 + 4
⑥.多寄存器尋址: ldmxx r0!,{r1-r15}
⑦.相對尋址: 以 PC 的當前值為基地址,指令中的地址號為偏移量,兩種之和得到操作數的地址。
⑧.堆棧尋址: stmfd sp!,{r0-r12}。

14、SWP 指令的優勢是什么 ?用來實現什么功能?
答:功能: 在寄存器和存儲器之間, 由一次存儲器讀和一次存儲器寫組成的原子操作。 完成一個字節或字的交換。 可以用來實現信號量。
SWP Rd , Rm , [Rn]
第一步:先將 Rn 所指向的內容傳給 Rd, Rd = [Rn]
第二步:再將 Rm 的內容傳給 Rn 所指向的地址 [Rn] = Rm

15、ARM 處理器的執行狀態?
答:①.ARM 狀態:
所有指令 32 位寬
所有指令必須 word 對齊
pc 值由 bits 【 31:2 】決定, bits 【 1:0】未定義
②.Thumb 狀態:
所有指令寬度 16 位
必須半字 halfword 對齊
pc 值由 bits 【 31:1 】決定

16、異常產生時, ARM 核自動完成的任務?、
答:<1>CPSR 拷貝到異常模式的 SPSR
<2> 設置 CPSR 的相應位
進入 ARM 狀態
設為對應的異常模式
禁止中斷 (中斷產生的時候 )
<3> 將 PC 保存到異常模式的 LR
<4> 修改 PC 的值到異常向量表

總結

以上是生活随笔為你收集整理的ARM知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

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