'2.1.3. 연산장치 응용' 파트는 현대 CPU의 성능을 극대화하기 위한 병렬 처리 기법의 핵심입니다. 필기 시험에서는 파이프라인의 원리와 성능 저하 요인(해저드), 그리고 멀티스레딩의 개념을 구분하는 문제가 집중적으로 출제됩니다.
1. 명령어 파이프라이닝 (Instruction Pipelining)
파이프라이닝은 하나의 명령어가 실행되는 과정을 여러 단계로 나누어, 여러 명령어를 동시에 겹쳐서 실행하는 기법입니다. (공장의 컨베이어 벨트 시스템과 유사)
- 효과: 명령어 처리량(Throughput)을 높여 CPU의 성능을 향상시킵니다.
- 단계 예시 (4단계 파이프라인):
- IF (Fetch): 명령어 인출
- ID (Decode): 명령어 해독
- EX (Execute): 연산 실행
- WB (Write Back): 결과 저장
2. 파이프라인 해저드 (Pipeline Hazards) - ★필기 단골
파이프라인이 매끄럽게 흐르지 못하고 멈추게 되는 원인입니다. 종류와 해결책을 묻는 문제가 매우 많이 나옵니다.
- 구조적 해저드 (Structural Hazard):
- 원인: 서로 다른 명령어가 동시에 동일한 하드웨어 자원(예: 메모리, ALU)을 사용하려 할 때 발생.
- 해결: 자원 추가(메모리 분할 등) 또는 지연(Stall).
- 데이터 해저드 (Data Hazard):
- 원인: 이전 명령어의 연산 결과가 아직 나오지 않았는데, 다음 명령어가 그 값을 사용하려 할 때 발생. (예: A = B + C 후 바로 D = A + E 실행)
- 해결: 데이터 포워딩(Data Forwarding), 소프트웨어적 재배치.
- 제어 해저드 (Control Hazard):
- 원인: 분기 명령어(JUMP, IF)에 의해 다음에 실행할 명령어의 주소가 바뀌어 파이프라인에 미리 채워둔 명령어들이 무효화될 때 발생.
- 해결: 분기 예측(Branch Prediction), 지연 분기.
3. 고급 병렬 처리 기법
- 슈퍼스칼라 (Super-scalar): CPU 내에 여러 개의 파이프라인을 두어 한 클록에 여러 명령어를 동시에 실행하는 방식 (현대 CPU의 일반적인 방식).
- VLIW (Very Long Instruction Word): 컴파일러가 미리 병렬 처리가 가능한 명령어들을 하나의 긴 명령어로 묶어서 전달하는 방식 (하드웨어 부하 감소).
4. 멀티스레딩 (Multithreading)
하나의 CPU 코어 내에서 여러 개의 스레드를 동시에 실행하여 자원 효율을 높이는 기술입니다.
- ILP (Instruction Level Parallelism): 파이프라이닝처럼 명령어 수준에서의 병렬성.
- TLP (Thread Level Parallelism): 스레드 수준에서의 병렬성.
- SMT (Simultaneous Multithreading): 하나의 물리적 코어가 여러 논리적 코어처럼 동작하게 하여 파이프라인의 빈 공간을 다른 스레드의 명령어로 채우는 방식. (인텔의 하이퍼스레딩이 대표적)
5. 필기 시험 핵심 요약
- 파이프라인의 목적: 개별 명령어의 실행 시간을 단축하는 것이 아니라, 단위 시간당 전체 처리량(Throughput)을 늘리는 것입니다.
- 해저드 구분: '자원 충돌'은 구조적, '데이터 의존성'은 데이터, '분기(Branch)'는 제어 해저드임을 명확히 하세요.
- 성능 계산: 이론적인 속도 향상 비율은 파이프라인의 단계(Stage) 수와 같습니다. (4단계면 최대 4배 빨라짐)
- 멀티스레딩 효과: CPU 내부의 유휴 자원(놀고 있는 부분)을 최소화하여 성능을 높입니다.
'study > 컴퓨터시스템기사' 카테고리의 다른 글
| 2.2.2. 입출력 장치 제어: 채널(Channel), DMA, 인터럽트(Interrupt) 동작 원리 및 활용 (0) | 2026.01.25 |
|---|---|
| 2.2.1. 기억장치 동작 분석: 주기억장치, 보조기억장치(종류/특징), 캐시메모리(구성/동작), 연관기억장치 특성 (1) | 2026.01.19 |
| 2.1.2. 명령어 활용 및 제어: 명령어 분석, 제어규칙, 마이크로 오퍼레이션 (0) | 2026.01.18 |
| 2.1.1. 연산 장치 구조 분석: 레지스터 구조 및 구성, ALU 구조 및 동작 (0) | 2026.01.07 |
| 1.4.2. 시스템 소프트웨어 모듈: 디바이스 드라이버, 시스템 라이브러리 (0) | 2025.12.26 |