728x90
반응형
인터럽트(interrupt)는 방해하다, 중단시키다를 의미한다.
CPU가 수행 중인 작업은 방해를 받아 잠시 중단될 수 있는데, 이렇게 CPU의 작업을 방해하는 신호를 인터럽트라고 한다.
일단 하던 일 멈추고 급한 일부터 처리하는 상황을 인터럽트라고 보면 된다.
CPU가 얼른 처리해야 할 다른 작업이 생기는 상황 즉, 인터럽트 상황에는 2가지 종류가 있다.
크게 '동기 인터럽트'와 '비동기 인터럽트'가 있다.
동기 인터럽트(synchronous interrupts)
CPU에 의해 발생하는 인터럽트이다.
CPU가 실행하는 프로그래밍상의 오류와 같은 예외적인 상황에 마주쳤을 때 발생하는 인터럽트가 동기 인터럽트이다.
이런 점에서 동기 인터럽트는 예외(exception)라고 부른다.
비동기 인터럽트(asynchronous interrupts)
주로 입출력장치에 의해 발생하는 인터럽트이다.
비동기 인터럽트는 세탁기 완료 알림, 전자레인지 조리 완료 알림과 같은 알림 역할을 한다.
CPU ("입출력 완료되면 불러줘!!") -----> 프린터기("넵!") -----> CPU("다 됐어?") <--(인터럽트)--- 프린터기 ("다 됐습니다!")
위 과정처럼 CPU가 입출력장치에 작업을 부탁하면 입출력장치는 작업을 끝내고 CPU에게 완료 알림(인터럽트)를 보낸다.
키보드, 마우스와 같은 입출력장치가 어떠한 입력을 받아들였을 때도 CPU에 입력 알림(인터럽트)을 보낸다.
반응형
'컴퓨터공학(CS) 배우기 > 혼공 컴퓨터 구조 + 운영체제' 카테고리의 다른 글
[CS] 명령어 병렬 처리 기법 (0) | 2023.04.10 |
---|---|
[CS] CPU의 속도 (0) | 2023.04.09 |
[CS] 명령어 사이클 (0) | 2023.04.03 |
[CS] 레지스터 (0) | 2023.04.02 |
[CS] ALU와 제어장치 (0) | 2023.03.31 |