: 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우, 현재 실행 중인 작업을 즉시 중단하고 발생된 상황에 대한 우선 처리가 필요함을 CPU에게 알리는 것
→ 지금 수행 중인 일보다 더 중요한 일이 발생하면 그 일을 먼저 처리하고 하던 일 처리함
: CPU의 하드웨어 신호에 의해 발생
→ 입출력 장치, 타이밍 장치, 전원 등 외부적인 요인으로 발생
→ 전원 이상, 기계 착오, 외부 신호, 입출력
: CPU의 하드웨어 신호에 의해 발생
→ Trap이라 부르며, 잘못된 명령이나 데이터를 사용할 때 발생
→ 0으로 나누기, 오버플로우, 명령어 잘못 사용한 경우
: 프로그램 처리 중 명령의 요청에 의해 발생한 것 (SVC 인터럽트)
→ 사용자가 프로그램을 실행시킬 때 발생
→ 소프트웨어 이용 중에 다른 프로세스를 실행시키면 시분할 처리를 위해 자원 할당 동작 수행
1. 주 프로그램 실행 중 인터럽트 발생
2. 현재 수행 중인 프로그램 중지, 상태 레지스터와 PC 등을 스택에 잠시 저장한 뒤에 인터럽트 서비스 루틴으로 감
만약 인터럽트 기능이 없다면, 컨트롤러는 특정한 어떤 일을 할 시기를 알기 위해 계속 체크 해야 함 (폴링(Polling)이라 함)
→ 폴링을 하는 시간에는 원래 하던 일에 집중할 수 없기 때문에 기능 제대로 동작 못하는 단점
인터럽트 방식은 하드웨어로 지원을 받아야 하는 제약이 있지만, 폴링에 비해 신속하게 대응
→ 실시간 대응이 필요할 때는 필수적
→ 인터럽트는 발생시기를 예측하기 힘든 경우에 컨트롤러가 가장 빠르게 대응할 수 있는 방법