exception vector table
82
12 asked
exception vector table 에서 명시된 주소 값은
실제 physical memory 주소 인가요?
그런데 physical memory 주소면 커널이 그 메모리에 들어간 함수를 어떻게 구현하게 되나요..?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. platformpjt02님.
질문 주신 “exception vector table”의 주소와 관련하여 아래의 정보를 참고하시기 바랍니다.
Exception Vector Table의 역할
Exception Vector Table은 CPU에서 발생하는 예외 상황(예: 인터럽트, 시스템 호출 등)을 처리하기 위한 코드의 시작 주소를 명시하는 테이블입니다. ARM 아키텍처에서는 이 벡터 테이블을 통해 특정 예외 상황이 발생했을 때 해당하는 처리 루틴으로 빠르게 접근할 수 있습니다.
Physical Memory와의 관계
Physical Memory 주소: Exception Vector Table에 명시된 주소는 실제로는 시스템에 따라 다를 수 있지만, 일반적으로 이는 물리적 메모리의 주소를 나타냅니다.
커널에서의 구현: 커널은 시스템의 초기화 단계에서 제어권을 획득하고 나서, Exception Vector Table을 설정합니다. 이때 커널은 각 예외 상황별로 처리 루틴을 메모리에 로드하고, 벡터 테이블을 적절히 업데이트하여 해당 위치를 가리키도록 구성합니다.
- ARM 아키텍처에서는
VBAR_ELx레지스터를 사용하여 현재 동작 중인 Exception Level에 적합한 벡터 테이블 주소를 지정합니다.
- 커널 코드에서는 이러한 설정을 통해 특정 예외가 발생하면, 해당 예외 상황에 맞는 핸들러 함수가 호출되도록 합니다.
- ARM 아키텍처에서는
관련된 질문 답변 링크
이와 관련된 추가적인 설명이 담긴 질문 및 답변은 다음 링크에서 확인하실 수 있습니다:
- “익셉션 벡터 베이스 주소 질문”: 이 링크에서는 벡터 베이스 주소와 레벨별 처리를 보다 자세히 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.
0
14
1
13강 프로젝트생성해보기 관련 질문
0
24
3
LPDDR4의 VDD2 / VDDQ 전원 질문
0
24
1
벅컨버터 사용 및 그라운드 분리
0
45
2
ODT_CA 셋업 관련 문의
0
33
1
CS에 관한 질문
0
23
1
스택에 PUSH되는 PC 값
0
69
2
스택공간에 데이터를 저장할 떄
0
127
2
LDM
0
88
1
TRACE32 debugging
0
108
1
interrupt service
0
89
2
vbar register
0
65
1
vbar register
0
66
2
System call register
0
82
2
GIC programmer model
0
110
1
exception handler code
0
100
2
arm mode
0
125
2
exception 문제
0
92
1
exception handler 구현
0
108
2
Exception Level 설정 관련 질문
0
140
2
Current EL 관련 질문
1
190
1
강의자료 요청
0
298
2
LDP 명령어 사용예시
0
503
2
익셉션 벡터 베이스 주소 질문
0
335
1

