: 컴퓨터에 예기치 않은 일이 발생하더라도 작동이 중단되지 않고 계속적으로 업무 처리를 할 수 있도록 해 주는 기능이다. Polling방식의 경우, 버튼을 반복 확인하면서 자원을 낭비하지만, Interrupt방식은 이벤트가 발생했을 때만 처리해서 자원이 효율적이고 반응이 빠르다.
interrupt 과정
1. CPU가 일반 작업 중
2. 외부 장치에서 인터럽트 발생
3. 현재 작업 중단
4. ISR 실행
5. 원래 작업 복귀
함수와 interrput의 차이
함수의 호출은 언제 분기할 지를 사용자가 명확히 알고 있지만, 인터럽트를 발생시키는 사건 자체는 어디로 분기할지 말해주지 않는다. 즉, 언제 발생할 지 모르는 불확정적인것이다.(Asynchronous)
인터럽트에는 외부 인터럽트와 내부인터럽트가 존재한다.
I/O 장치에서 발생 → 키보드 입력, 마우스 클릭, UART 수신, 센서 신호 등
프로그램 내부에서 발생 → 예외(Exception), 오류(Divide by zero), 시스템 콜(운영체제 기능 요청)
mcu별로 레지스터와 작동방식이 다름으로 더 자세한 정보를 알고 싶다면 mcu설명서를 보도록!!!. 그리고 만약 mcu 설명서를 다 파악할 수 있으면 muc전문가다!!라고 교수님께서 말씀하셨당~
//부족한 부분이 있다면 댓글로 알려주세요.