EE/임베디드 시스템
[임베디드] Interrupt란 무엇인가?
시험을 위해 정리하는 글이므로 가독성 없고 부연설명 없음 주의 SW 프로그래밍을 다뤄본 사람이라면 예외처리에 대해 배워본 경험이 있을 것이다. C++에서의 try, throw, catch와 같이 말이다. C++에서 예외를 throw하게 되면, 그 순간 코드의 흐름이 멈추며 스택이 풀리고 catch 블록을 실행하게 된다. interrupt는 이것의 HW 버전이라고 생각하면 될 것 같다. HW적으로 어떠한 이벤트가 발생하면 CPU는 main code의 실행을 멈추고 이에 대한 대응을 하게 된다. 이 대응을 interrupt service routine(ISR) 혹은 interrupt handler라고 한다. ISR의 실행이 끝나면 다시 원래의 흐름으로 복귀한다. CPU에서 이러한 HW적 이벤트를 감지할 수 ..