[Arm프로세서] Armv8: 소프트웨어 인터럽트로 Synchronous 익셉션이 처리되는 전체 흐름

Guillermo Austin Kim|2021년 1월 21일
Posts

[Arm프로세서] Armv8: 소프트웨어 인터럽트로 Synchronous 익셉션이 처리되는 전체 흐름

Guillermo Austin Kim|2021년 1월 21일

Armv7 아키텍처에서 유저 애플리케이션이 구동되는 User 모드에서 ‘svc’ 명령어를 실행하면 이를 슈퍼바이저 콜(Supervisor Call)로 감지해 지정된 소프트웨어 인터럽트 벡터로 브랜치합니다. 즉, 'svc' 명령어를 실행하면 이를 처리하는 익셉션을 따로 정의돼 있습니다. 그렇다면 Armv8 아키텍처에서도 같은 방식으로 처리될까요? Armv8 아키텍처에서 ‘svc’ 명령어를 실행하면 처리되는 방식이 약간 다른데, 다음과 같은 동작을 수행합니다. ❑ ESR_ELx 레지스터의 [31:26] 비트에 슈퍼바이저 콜이 발생했다는 정보를 나타내는 비트를 저장 ❑ Synchronous 익셉션을 유발 Armv8 아키텍처에서는 'svc' 명령어를 실행하면 Synchronou