강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

sdyeob10024541 のプロフィール画像
sdyeob10024541

投稿した質問数

システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1部 著者直講 (2024年版)

6.3.3 例外レベルを変更するコマンド: SVC コマンド

Armv8의 Exception Level에서 질문이 있습니다.

作成

·

145

0

svc, hvc, smc와 같은 어셈블리 명령어를 수행하면, 내부적으로 exception이 발생하고 el이 변경된다고 말씀해주셨는데, 여기서 el이 변경된다는 건 하드웨어적으로는 단순히 PSTATE의 EL 비트 필드의 값이 갱신되는 것으로 이해해도 될까요?

임베디드arm-architecturemicroprocessorscortex-a

回答 2

0

답변 감사합니다.

0

austinkim님의 프로필 이미지
austinkim
インストラクター

제대로 이해하셨습니다. Arm 프로세서의 내부 하드웨어는 PSTATE의 EL 비트를 변경하면서 익셉션 레벨을 변경합니다. 현재 익셉션 레벨(Exception Level)의 정보는 PSTATE.EL에서 확인할 수 있습니다.

추가로 설명을 드리면요:

  1. PSTATE의 값은 직접 어셈블리 명령어를 통해 읽을 수 없습니다. PSTATE.EL은 currentEL이라는 시스템 레지스터를 통해서 확인할 수 있습니다.

  2. 실전 프로젝트 관점에서 보면, 현재 currentEL 시스템 레지스터를 통해 익셉션 레벨 정보(PSTATE.EL)를 읽는 것보다, SPSR_EL1 레지스터의 값을 더 많이 확인합니다. 익셉션이 유발된 시점의 PSTATE의 정보가 더 중요하기 때문입니다.

궁금하신 점이 있으면 질문을 다시 올려주세요.

감사합니다.

sdyeob10024541 のプロフィール画像
sdyeob10024541

投稿した質問数

質問する