컴퓨터 구조_인터럽트
2025. 6. 16. 17:21ㆍ컴퓨터구조
인터럽트란 란?
CPU의 정해진 명령어 흐름을 끊는 신호
- 동기 인터럽트(=예외)
- CPU가 예기치 못한 상황을 접했을 때 발생
- 종류: 폴트, 크랩, 중단, 소프트웨어 인터럽트
- 비동기 인터럽트(=하드웨어 인터럽트)
- 주로 입출력 장치에 의해 발생하는 인터럽트 (알람 역할)
- 목적: 입출력 작업 시 효율적으로 명령어 처리
인터럽트 처리 순서
- 입출력장치가 CPU에 인터럽트 요청 신호 보냄
- CPU는 실행 사이클 마친 후 항상 인터럽트 여부 확인
- CPU는 인터럽트 요청을 확인하면 인터럽트 플래그를 통해 인터럽트 받아들일 수 있는 상태인지 확인
- 인터럽트를 받아들일 수 있는 상태면, CPU는 지금까지의 작업을 벡업
- CPU는 인터럽트 벡터를 참조해 인터럽트 서비스 루틴 실행
- 인터럽트 서비스 륀이 끝나면 벡업 내용 복구
인터럽트 플래그란?
플래그 레지스터 내부에 위치해그 레지스터 내부에 위치해, 인터럽트를 받아들이는 것에 대한 상태정보를 가짐.
모든 인터럽트는 막을 수 없는가?
아니다. 대부분의 인터럽트는 마스킹을 통해 CPU가 허용여부를 결정할 수 있다. 다만, 막을 수 없는 인터럽트는 존재하는데 Non-Maskable Interrupt (NMI) 라고 한다. 우선순위가 높기 때문에 CPU가 반드시 처리한다.
'컴퓨터구조' 카테고리의 다른 글
컴퓨터 구조_ALU와 제어장치(CPU 내 구성) (0) | 2025.02.27 |
---|---|
컴퓨터 구조_C언어의 컴파일 과정 (0) | 2025.02.27 |
컴퓨터구조_명령어의 형태 (0) | 2025.02.04 |
컴퓨터구조_ 소스코드와 명령어 (0) | 2025.02.04 |
컴퓨터구조_0과 1로 문자를 표현하는 방법 (0) | 2025.02.04 |