[Arm프로세서] AAPCS: Armv8: SP(스택 포인터) 레지스터의 세부 동작

Guillermo Austin Kim|2021년 8월 29일
Posts

[Arm프로세서] AAPCS: Armv8: SP(스택 포인터) 레지스터의 세부 동작

Guillermo Austin Kim|2021년 8월 29일

SP는 스택 포인터(Stack Pointer) 레지스터라고 하는데, Armv8 아키텍처에서는 SP_ELn로 표기합니다. SP_ELn 레지스터와 익셉션 레벨 6장에서는 SP은 프로세스의 스택 공간 내에서 업데이트된다고 했는데, Armv8 아키텍처에서 명시된 SP_ELn은 어떤 개념인지 조금 헷갈립니다. SP_ELn은 쉽게 풀어서 다음 표와 같이 설명할 수 있습니다. 표 7.6 SP_ELn 레지스터와 익셉션 레벨 SP_EL0은 유저 프로세스가 유저 공간에서 실행될 때 접근하는 스택 포인터이고, SP_EL1은 프로세스가 커널 공간에서 실행될 때 접근되는 스택 포인터라고 볼 수 있습니다. SP_ELn에 대한 정의를 Arm 아키텍처의 관점으로 알아 봤습니다. 그런데 SP_ELn 레지스터의 내용을 읽으면 읽을