본문 바로가기
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의 주소를 저장

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

 

 

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

 

 

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

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

kmong.com

댓글