정보처리기사
✅ [25일차] 전자계산기 구조 – 명령어 파이프라인 & 인터럽트 완전 정리
news800905
2025. 5. 25. 10:21
728x90
SMALL
📘 1. 명령어 파이프라인(Pipelining)
- 명령어 수행 과정을 여러 단계로 분리하여 동시에 처리하는 방식
- 각 단계는 병렬적으로 실행, 전체 처리 속도 향상
단계설명
IF (Instruction Fetch) | 명령어 가져오기 |
ID (Instruction Decode) | 명령어 해석 |
EX (Execute) | 연산 수행 |
MEM (Memory Access) | 메모리 접근 |
WB (Write Back) | 결과 저장 |
📌 예시:
1번 명령이 EX 단계일 때, 2번 명령은 ID, 3번 명령은 IF에 위치 가능
📘 2. 파이프라인의 특징
장점단점
처리 속도 향상 | 구조 복잡 |
병렬 실행 가능 | 종속성(의존성) 문제 발생 가능 |
CPU 자원 활용 증가 | 인터럽트 발생 시 전체 중단 가능 |
- 파이프라인의 최대 단점은 제어/데이터 종속성으로 인한 중단 현상
📘 3. 인터럽트(Interrupt)란?
- 예상치 못한 상황에서 CPU의 작업 흐름을 바꾸는 신호
- 현재 작업을 중단하고 긴급 처리를 한 뒤, 다시 돌아옴
예시 상황설명
키보드 입력 | 사용자가 키를 눌렀을 때 |
입출력 완료 | 프린터 인쇄 완료 등 |
오류 발생 | 0으로 나누기 등 |
전원 이상 | 정전, 과전류 등 |
📘 4. 인터럽트의 종류
분류내용
하드웨어 인터럽트 | 외부 장치(키보드, 마우스, 디스크 등)의 신호 |
소프트웨어 인터럽트 | 프로그램 내의 명령(SVC 등)으로 발생 |
마스크 가능 | 무시 가능한 인터럽트 (일반 입출력 등) |
마스크 불가능 | 반드시 처리해야 하는 인터럽트 (정전 등) |
동기 인터럽트 | 명령 실행 중 발생 (예: 0으로 나누기) |
비동기 인터럽트 | 실행 외부에서 발생 (예: 키보드 입력) |
📘 5. 인터럽트 처리 과정
- 인터럽트 발생
- 현재 작업 상태 저장 (PC 등)
- 인터럽트 서비스 루틴(ISR)으로 이동
- 요청된 작업 처리
- 저장된 상태 복원
- 중단된 작업 재개
📌 시험 포인트: 인터럽트 순서 문제 자주 출제됨
📘 6. 기출 포인트 요약
- 파이프라인은 명령어 병렬 처리 방식, 속도 ↑
- 인터럽트는 예외적 상황 처리 장치
- 인터럽트는 종류, 처리 순서, 마스크 여부 꼭 외우기
- 명령어 파이프라인 vs 인터럽트 상호작용 문제도 출제됨
📝 기출 예시 문제
다음 중 인터럽트가 발생했을 때 처리 순서로 옳은 것은?
① ISR 실행 → 현재 상태 저장 → 원래 작업 복귀
② 현재 상태 저장 → ISR 실행 → 복귀
③ 복귀 → 상태 저장 → ISR 실행
④ ISR 실행 → 복귀 → 상태 저장✅ 정답: ②
반응형