인터럽트(Interrupt) 인터럽트는 어떤 조건이나 사건의 발생으로 정상적인 프로그램을 일시적으로 중지시키고 보다 시급한 작업을 먼저 수행하고 다시 원래로 복귀하여 실행순서를 변경하도록 만드는 것을 말한다. 인터럽트 요청에 따라 수행하 는 프로그램을 인터럽트 서비스루틴 또는 인터럽트 핸들러라 한다.
이와 같이 주요한 개념으로 Polling이라는 개념이 있는데 주기적으로 이벤트를 관찰을 하는 방식이다. 예로 책을 읽는 데 카톡를 받는 다고 치면 인터럽트는 카톡 알림 오면 받지만, 폴링은 주기적으로 폰을 확인해서 알림이 안떴던 카톡을 확인 하는 것이다.
대부분의 경우 인터럽트가 훨씬 효율 적이다. 인터럽트는 1단계 : 매 사이클의 인터럽트 요청이 있는지 확인하고 해당 인터럽트 플랙에 기록한다. 2단계 : 어느 인터럽트 요청이 있는지 인터럽트 플랙을 조사하고 우선순위와 허여부를 결정한다. 3단계 : 인터럽트 벡터주소를 찾아가기 위한 CALL 명령이 수행되며 다른 인터럽트 발생을 방지하기...
원문 링크 : [ATmega128]인터럽트