CPU가 얼른 처리해야 할 다른 작업이 생겼을 때 발생! -동기 인터럽트 (예외): CPU에 의해 발생하는 인터럽트. CPU가 예기치 못한 상황을 접했을 때 발생 -비동기 인터럽트(하드웨어 인터럽트): 주로 입출력장치에 의해 발생 (알림과 같은 역할) -> 입출력 작업 도중에도 효율적으로 명령어를 처리하기 위해 사용
하드웨어 인터럽트의 처리 순서(but 종류를 막론하고 처리 순서는 대동소이하다)
1.인터럽트 요청 신호:인터럽트는 CPU의 정상적인 실행흐름을 끊는 것이기에, 인트럽트 하기 전에 "지금 끼어들어도 되나요?" 라고 묻는것 2.인터럽트 플래그: 말 그대로 하드웨어 인터럽트를 받아 들일지, 무시할지 결정하는 플래그. -> CPUR가 중요한 작업을 처리하고 있거나 하면 인터럽트 플러그는 불가능으로 설정 된다. 3.인터럽트 서비스 루틴: 인터럽트를 받아들이기로 했다면, 실행 된다. -> 인터럽트가 실행 되었을 때 인터럽트를 어떻게 처리 하기 위한 프로그램 ex)"키보드가 인터럽트 요청을 보내면 이렇게 해야한다"; 'CPU가 인터럽트를 처리한다' -> 인터럽스 서비스 루틴을 실행(원래 하던 것을 멈추고)하고 본래 수행하던 곳으로 다시 되돌아온다 4.인터럽트 벡터: 각각의 인터럽트를 구분하기 위한 정보