작성
·
15
0
armv7 뱅크드 레지스터 관련 trace32 실습을 하던 중 생긴 질문입니다. 해당 툴을 사용할 때 usr 모드의 R8-R14가 뱅크드 레지스터인 것 처럼 보입니다. 이 중 실습과 ARM 공식 문서를 통해 USR 모드 또한
R13과 R 14 를 뱅크드 레지스터를 갖는 것으로 판단했는데 맞는 건가요?
"The User, IRQ, Supervisor, Abort, and undefined modes each have two banked registers mapped to r13 and r14, allowing a private SP and LR for each mode."
ARM 문서 내용입니다.
실습의 경우 다른 동작 모드에서 USR 모드로 돌아올 때의 R13,14 값으로 뱅크드 레지스터처럼 동작하는 것을 확인했습니다.
답변 2
0
(늦게 답신 드려서 죄송합니다)
Armv7-A 아키텍처에서 유저 모드에 대한 뱅크드 레지스터는 R13, R14 입니다.
말씀드린 내용은 TRACE32로 실습을 하시면 확인하실 수 있습니다.
혹시 R8-R14가 뱅크드 레지스터라고 판단하신 근거를 알려주시면, 확인 후 답신 드리겠습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이지수님.
ARM 아키텍처에서의 뱅크드 레지스터에 대한 질문을 주셨네요. ARM 아키텍처에서는 특정 모드에서 사용되는 레지스터들이 다른 모드의 영향을 받지 않도록 ‘뱅크드’라는 개념을 도입하고 있습니다. 특히 R13과 R14는 여러 모드에서 뱅크드 레지스터로 동작합니다.
뱅크드 레지스터란?
R13과 R14의 뱅킹 특성:
실험적 관찰:
관련하여 자세한 내용이 담긴 질문 및 답변을 다음에서 확인할 수 있습니다:
이 자료들이 이지수님의 이해를 돕는데 도움이 될 것입니다. ARM 아키텍처에 대한 더 깊은 이해가 필요하다면 문서와 강의 자료를 참고하고, 추가 질문이 있으시면 언제든지 문의해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.