exception vs interrupt

MySprtlty·2023년 3월 1일
0

Computer Architecture

목록 보기
5/6

🏷️exception vs interrupt

  • 프로세서는 exception과 interrupt를 구분해서 예외적인 상황을 외부로 알린다.
    • ARM은 exception과 interrupt가 큰 차이 없이 동작한다.
  • 모든 프로세서가 이 둘을 엄밀하게 구분하는 것은 아니다.

📌exception

  • 프로그램 실행 도중 동기적으로 발생하는 이벤트다.
    • 🔍ex) 0으로 나누기
  • 프로세서는 exception이 발생하면, exception을 처리하는 핸들러를 실행시킨다.

1. trap

  • exception이 발생한 명령어 이후부터 다시 시작한다.

2. fault

  • 문제를 일으킨 명령어부터 다시 시작한다.
  • 🔍ex) page fault

3. abort

  • 어디서 문제가 발생했는지 알려주지 않는다.
  • 게다가 다시 프로그램을 시작하는 것도 허용하지 않으므로 심각한 하드웨어 문제일 때 발생한다.

📌interrupt

  • 프로세스와 비동기적으로 발생하는 이벤트다.
  • 인터럽트는 하드웨어 인터럽트와 소프트웨어 인터럽트로 나뉜다.
  • 프로세서는 인터럽트를 처리하는 함수 루틴으로 이동한다.
  • 인터럽트를 처리하는 루틴을 인터럽트 서비스 루틴(ISR)라고 한다.

1. hardware interrupt

  • 하드웨어 인터럽트는 명령어 흐름 처리와 상관없는 비동기적인 사건을 가리킨다.
  • 말 그대로 명령어 흐름이 방해받는다.

2. software interrupt

  • 소프트웨어 인터럽트는 명령어로 발생되는 인터럽트다.
    • x86의 경우 INT
profile
2Co 4:7

0개의 댓글