23.11.22 최초 작성
X0 ~ X30
: 연산 시 데이터를 저장하는 공간XZR / WZR
: 제로 레지스터 (0
을 저장해놓는 레지스터)
PC
: 프로그램 카운터
SP_EL<N>
(0~3)
Exception Level
별 stack pointer
Exception Level
에서 프로세스가 실행될 때 프로세스의 stack 공간 주소
를 가리킴SPSR_EL<N>
(1~3)
Exception Level
별 program status register
Exception Level
의 program status
저장ELR_EL<N>
(1~3)
Exception Level
별 exception link Resgiser
Exception Level
로 복귀할 때 다음에 수행 할 명령어의 주소 정보(PC
)를 저장context switching
시 다음과 같은 구조체를 참고해 실행 됨thread_struct
구조체 내부에 레지스터의 정보를 담는 cpu_context
구조체가 존재함struct thread_struct{
struct cpu_context cpu_context;
...
}
struct cpu_context{
unsigned long X19;
unsigned long X20;
unsigned long X21;
...
unsigned long fp;
unsigned long sp;
unsigned long pc;
}