이론

인터럽트

월러비 2024. 3. 14. 22:04

인터럽트 란

CPU가 프로그램을 실행하고있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것을 말한다.

인터럽트 특징

  • 인터럽트는 상대가 CPU에게 일을 처리해 달라고 요청하는 수단이다.
    • CPU는 인터럽트를 감지하면 지금 실행중인 기계어 코드를 중단하고 해당 인터럽트를 위한 처리 프로그램으로 점프하여 해당 일을 수행한다.
  • 인터럽트는 주로 하드웨어적으로 CPU 코어에 입력되고, 현재 진행중인 기계어 코드가 종료되면 실행한다.
    • 인터럽트가 접수 되었을 때, 인터럽트를 처리할 것인가는 CPU코어의 특수레지스터를 통해 선택적으로 수용한다.

인터럽트 발생 과정

  1. 기존의 작업을 처리하던 도중, 인터럽트가 발생
  2. 지금 진행하고 있는 기계어 코드를 멈춘다.
  3. 현재의 컴퓨터의 상태를 저장한다.
  4. 해당 코드를 실행한다.
  5. 해당 처리가 끝나면, 상태를 저장시킨 레지스터를 되돌린다.
  6. 이전 작업 수행을 재개한다.

인터럽트 종류

  • 외부 인터럽트 : 입출력(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