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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ARM处理器的工作状态

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ARM处理器的工作状态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ?在ARM的體系結構中,可以工作在三種不同的狀態,一是ARM狀態,二是Thumb狀態及Thumb-2狀態,三是調試狀態。


《嵌入式系統開發與應用教程(第2版)》上介紹說:有兩種狀態ARM狀態和Thumb狀態,當時初學甚為不解,現在一知半解時再看忽然想到了顯示中的例子:


? ? ?ARM核就好比一個高中學校,那種包含普通高中和職業高中的。普通高中就相當于ARM狀態,職業高中就相當于Thumb狀態,這樣還不能理解的話:可以認為 泡泡卡丁車 中普通模式和加速模式,,卡丁車加速要等到集氣管加滿,然后“ctrl”一下,就切換到了加速模式,氣放完了就又回來了,不管加速模式還是普通模式都是在跑,只是速度不一樣而已。


? ? ?而ARM狀態和Thumb狀態可以直接通過某些指令直接切換,都是在運行程序,只不過指令長度不一樣而已。這個概念對初學者相當重要,因為當ARM Thumb是什么還沒弄清楚,怎么能理解兩種狀態呢?


? ? ?他們之間的關系清楚了,這樣就可以深入了解ARM狀態是什么,Thumb狀態是什么了。


? ? ?另外:ARM的M系列主要用Thumb指令,ARM9和A系列主要用ARM指令


? ? ?S3C2440.S啟動代碼中根本就沒用Thumb指令。


ARM狀態此時處理器執行32位的字對齊的ARM指令,Thumb狀態此時處理器執行16位的,半字對齊的THUMB指令。 切換程序:從ARM到Thumb: LDR R0,=lable+1 BX R0 從ARM到Thumb: LDR R0,=lable BX R0


1,ARM狀態
? ? arm處理器工作于32位指令的狀態,所有指令均為32位


?


2,thumb狀態
? ? arm執行16位指令的狀態,即16位狀態


?


3,thumb-2狀態
? ? 這個狀態是ARM7版本的ARM處理器所具有的新的狀態,新的thumb-2內核技術兼有16位及32位指令,實現了更高的性能,更有效的功耗及更少地占用內存。總的來說,感覺這個狀態除了兼有arm和thumb的優點外,還在這兩種狀態上有所提升,優化。


?


4,調試狀態
? ? ? 處理器停機時進入調試狀態。


?


5,arm與thumb間的切換
? 1,由arm狀態切換到thumb
  狀態將寄存器的最低位設置為1


? ? ? BX指令:R0[0]=1,則執行BX
  R0指令將進入thumb狀態


? 2,由thumb狀態切換到ARM狀態
? ? 寄存器最低位設置為0


? ? BX指令:R0[0]=0,則執行BX
? ? R0指令將進入arm狀態


??


當處理器進行異常處理時,則從異常向量地址開始執行,將自動進入ARM狀態。




? ? ? ? 注意:ARM處理器復位后開始執行代碼時總是只處于ARM狀態;


? ? ? ? ? ? ? ? ? Cortex-M3只有Thumb-2狀態和調試狀態;


? ? ? ? ? ? ? ? ? 由于Thumb-2具有16位/32位指令功能,因此有了thumb-2就無需Thumb了。


? ? ? ? ? ? ? ? ? 另外,具有Thumb-2技術的ARM處理器也無需再ARM狀態和Thumb-2狀態間進行切換了,因為thumb-2具有32位指令功能。


? ? 總的說,arm狀態與Thumb狀態的本質區別就是指令的位數不同,arm是32位的指令狀態,而thumb是16位 的指令狀態,而thumb-2狀態是arm狀態和thumb狀態的結合和優化。

總結

以上是生活随笔為你收集整理的ARM处理器的工作状态的全部內容,希望文章能夠幫你解決所遇到的問題。

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