CA (Computer architecture) 를 공부하면서 interrupt 부분을 공부하다보니 책마다 다소 상이한 부분이 있었다. interrupt 분류(종류) 부분이었는데 어떤 책에서는 외부 인터럽트의 한 종류로 I/O 인터럽트를 분류해 놓은 반면 어떤 책에서는 외부 인터럽트는 외부 인터럽트대로 있고, I/O 인터럽트는 또 다른 종류로 분류해 놓은 경우도 있었다. 인터럽트와 유사한 개념인 예외(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 등으로 부터 발생한 인터럽트
책마다 다른 부분도 있고, 기준이 달라 위 분류가 제일 정확하다고 말하기는 애매하지만 기억하기엔 좋을 것 같아 정리해보았다.
'Computer architecture' 카테고리의 다른 글
캐시(Cache) 메모리에 대한 이해 (0) | 2019.11.12 |
---|---|
주기억장치에 대한 이해 (0) | 2019.10.19 |
컴퓨터 기억 장치들의 종류 및 특징 (0) | 2019.10.16 |
CPU 레지스터 (Register) 의 이해 및 종류 (0) | 2019.09.28 |
CPU 클럭 주파수 (Clock Frequency) (0) | 2019.09.25 |
롬 (ROM, Read Only Memory) (0) | 2017.09.26 |
Memory Interleaving (메모리 인터리빙) (0) | 2017.09.14 |
Addressing mode (주소 지정 방식) (0) | 2017.09.14 |