본문 바로가기
Computer Science/Computer Architecture

[컴퓨터 구조] 인터럽트? 쉽게 알아보자!

by ggyongi 2024. 12. 25.

인터럽트란?

방해하다(interrupt)라는 의미를 가진 것처럼, CPU가 현재 실행 중인 작업을 잠시 멈추고 중요한 이벤트를 처리한 뒤, 원래의 프로그램으로 복귀하도록 하는 것.

 

인터럽트의 종류

(1) 하드웨어 인터럽트

  • 정의: 외부 장치(하드웨어)에서 발생하는 인터럽트.
  • 예시:
    • 키보드 입력
    • 마우스 클릭
    • 타이머 이벤트
    • 네트워크 패킷 도착

(2) 소프트웨어 인터럽트

  • 정의: 소프트웨어에서 발생하는 인터럽트.
  • 예시:
    • 시스템 호출(Syscall): 프로세스가 커널 서비스 요청
    • 예외(Exception): 프로그램 오류(0으로 나누기 등)

 

인터럽트 처리 과정

1. 인터럽트 요청 신호 발생

 - 하드웨어 장치(입출력 장치)에서 CPU에게 인터럽트 요청

2. 현재 상태 저장

- CPU는 인터럽트 요청 신호를 받고 현재 상태(레지스터, PC)를 스택에 저장

3. 인터럽트 처리

 - CPU는 인터럽트를 처리하기 위해 인터럽트 벡터를 참조한다.

- 인터럽트 벡터에 맞는 인터럽트 서비스 루틴을 실행하여 인터럽트를 처리한다.

4. 상태 복원

- 인터럽트 처리 후 스택에 저장했던 작업 상태를 복원하고 중단되었던 작업을 재개한다.

 

* 스택: 기존 처리하던 작업 정보를 담고 있다. 주기억 장치의 일부를 차지.

* 인터럽트 벡터: 각 인터럽트 요청에 대응하는 ISR의 주소를 저장

* 인터럽트 서비스 루틴: 특정 인터럽트를 처리하는 작업이 정의되어 있음

 

 

인터럽트 사이클이 포함된 명령어 사이클

 

📘 비전공자 개발자 취업 성공기 시리즈

개발자가 되고 싶었던 한 비전공자의 1년 4개월 이야기
막막했던 시작부터 좌절, 그리고 합격까지의 여정을 기록했습니다

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글