인터럽트

이재하·2023년 7월 6일

Interrupt 처리시

  1. 스택킹
    : 인터럽트처리에 사용될 레지스터의 현재 값 등을 스택에 저장한다.

  2. 벡터 인출(Vector Fetch)
    : 벡터 테이블에서 인터럽트 핸들러의 시작 주소를 Fetch

  3. 레지스터 업데이트
    : 인터럽트 핸들러로 진입할 때 관련된 레지스터가 업데이트한다.

  4. 인터럽트 서비스 루틴 실행
    : 발생된 인터럽트에 해당되는 인터럽트 서비스 루틴을 실행한다.

  5. 인터럽트 종료 빠져나오기
    : 인터럽트 서비스 루틴의 실행이 완료되면 인터럽트를 종료하기 위해
    1 단계에서 스택에 넣었던 내용을 다시 읽어와 레지스터를 원래의 값으로 복구(UnStacking)한다.

0개의 댓글