본문 바로가기

Master/Embedded

Interrupt (인터럽트), Exception (예외)

Interrupt (인터럽트) : 제어 흐름에서 예상치 못한, 외부에서 전달되는 사건.

Exception (예외) : 프로세서 내부에서 발생하는 예상치 못한 사건.


일부 architecture 에서는 exception과 interrupt를 interrupt 로 통합하여 용어를 사용하기도 하는 반면, 다른 architecture에서는 구분하여 사용하기도 한다. 구분할 경우 외부 인터럽트는 인터럽트로, 내부 인터럽트는 예외로 생각하면 된다. 

 

- 내부 인터럽트 (Internal interrupt) - exception

. SVC (SuperVisor Call) 인터럽트 : 

외부의 프로그램이 의도적으로 호출. 예를 들어 다른 프로세스 수행 중 새로운 프로세스를 실행하면 자원 할당 등의 동작을 수행

. 산술 오버플로우/언터플로우 (Overflow/Underflow)

. 0 으로 나누기 (Division by zero)

. 정의 안된 명령어 수행

 

 

- 외부 인터럽트 (External interrupt)

. I/O 인터럽트 : 입출력 요구가 있을 때 하드웨어가 발생.

. 전원 이상 인터럽트 (Power fail interrupt)

. 기계 착오 인터럽트 (Machine check interrupt) : CPU 등의 기능적인 오류

. 외부 신호 인터럽트 : I/O 장치가 아닌 Timer 등으로 부터 발생한 인터럽트



 

Interrupt (인터럽트), 그리고 Exception (예외)

 CA (Computer architecture) 를 공부하면서 interrupt 부분을 공부하다보니 책마다 다소 상이한 부분이 있었다. interrupt 분류(종류) 부분이었는데 어떤 책에서는 외부 인터럽트의 한 종류로 I/O 인터럽트를

technote.kr

 

'Master > Embedded' 카테고리의 다른 글

MSP와 PSP  (0) 2021.04.01
ISR(Interrupt Service Routine)  (0) 2021.04.01
HAL 라이브러리  (0) 2021.03.26
Pull up, Pull down  (0) 2021.03.26
GPIO  (0) 2021.03.26