인터럽트 란
CPU가 프로그램을 실행하고있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것을 말한다.
인터럽트 특징
- 인터럽트는 상대가 CPU에게 일을 처리해 달라고 요청하는 수단이다.
- CPU는 인터럽트를 감지하면 지금 실행중인 기계어 코드를 중단하고 해당 인터럽트를 위한 처리 프로그램으로 점프하여 해당 일을 수행한다.
- 인터럽트는 주로 하드웨어적으로 CPU 코어에 입력되고, 현재 진행중인 기계어 코드가 종료되면 실행한다.
- 인터럽트가 접수 되었을 때, 인터럽트를 처리할 것인가는 CPU코어의 특수레지스터를 통해 선택적으로 수용한다.
인터럽트 발생 과정
- 기존의 작업을 처리하던 도중, 인터럽트가 발생
- 지금 진행하고 있는 기계어 코드를 멈춘다.
- 현재의 컴퓨터의 상태를 저장한다.
- 해당 코드를 실행한다.
- 해당 처리가 끝나면, 상태를 저장시킨 레지스터를 되돌린다.
- 이전 작업 수행을 재개한다.
인터럽트 종류
- 외부 인터럽트 : 입출력(I/O) 장치, 타이밍 장치, 전원 등의 외부적인 요인에 의해서 발생하는 인터럽트
- 전원 이상 인터럽트 : 정전이나 전원이 이상이 있는 경우
- 기계 고장 인터럽트 : CPU등의 기능적인 동작 오류가 발생한 경우
- 입출력 인터럽트 : 입출력의 종료 등의 이유로 CPU의 수행을 요청하는 인터럽트
- 내부 인터럽트 : 잘못된 명령이나 데이터를 사용할 떄 발생하는 인터럽트
- 0으로 나눈 경우
- 오버플로우 또는 언더플로우가 발생한 경우
- 프로그램 상의 오류
- 프로그램에서 함수 등 명령어를 잘못 사용한 경우 등
'이론' 카테고리의 다른 글
| Foward Kinemetics (0) | 2024.03.16 |
|---|---|
| 키 프레임 애니메이션 (0) | 2024.03.15 |
| IPC(Inter Process Communication) (0) | 2024.03.13 |
| 바이트 스트림 (0) | 2024.03.12 |
| UTF-8 (0) | 2024.03.11 |