關於昨天上課提到CPU mode切換的register備份

51 views
Skip to first unread message

feat...@gmail.com

unread,
Apr 24, 2013, 3:47:43 AM4/24/13
to embedd...@googlegroups.com


昨天在同學demo的時候 jserv有問到register備份的問題

我在wiki找到了下圖 我猜可能是因為有些mode有專屬自己的register

在mode切換的時候,這些專屬的register就自己切去對應mode的值

就不用另外備份這register的值

不過我也不清楚v6或是不同版本間的設計是不是都這樣




























Jim Huang

unread,
Apr 24, 2013, 4:07:16 PM4/24/13
to embedd...@googlegroups.com
感謝俊翔的補充,這就是所謂的 banked register,可參考以下:

ARM registers
http://www.keil.com/support/man/docs/armasm/armasm_CEGIBCCG.htm

"The banked registers give rapid context switching for dealing with
processor exceptions and privileged operations.
The additional registers in ARM processors, with the exception of
ARMv6-M and ARMv7-M, are:
2 supervisor mode registers for banked SP and LR
2 abort mode registers for banked SP and LR
2 undefined mode registers for banked SP and LR
2 interrupt mode registers for banked SP and LR
7 FIQ mode registers for banked R8-R12, SP and LR
2 monitor mode registers for banked SP and LR
6 Saved Program Status Register (SPSRs), one for each exception mode."

Cheers,
-jserv


在 2013年4月24日下午3:47, <feat...@gmail.com> 寫道:
>
> 昨天在同學demo的時候 jserv有問到register備份的問題
>
> 我在wiki找到了下圖 我猜可能是因為有些mode有專屬自己的register
>
> 在mode切換的時候,這些專屬的register就自己切去對應mode的值
>
> 就不用另外備份這register的值
>
> 不過我也不清楚v6或是不同版本間的設計是不是都這樣
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> from http://en.wikipedia.org/wiki/ARM_architecture
>
> --
> 您已訂閱「Google 網上論壇」的「embedded2013」群組,因此我們特別傳送這封郵件通知您。
> 如要取消訂閱這個群組並停止接收來自這個群組的郵件,請傳送電子郵件到 embedded2013...@googlegroups.com
> 如需更多選項,請前往:https://groups.google.com/groups/opt_out
>
>
Reply all
Reply to author
Forward
0 new messages