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 |