Learning
토픽 19 / 111·CPU (Central Processing Unit)

명령어 파이프라인 (Instruction Pipeline)

명령어 파이프라인 (Instruction Pipeline)

명령어 실행 과정을 여러 단계로 나누고 각 단계를 동시에 처리하여 CPU 처리량을 향상시키는 병렬 처리 기법

목적: 처리량 증가, CPI 감소, 하드웨어 활용률 향상, 성능 향상

특징: 단계별 분할, 동시 처리, 클럭당 처리량 증가, 지연시간 유지

5단계 파이프라인: ① IF(Instruction Fetch) → ② ID(Instruction Decode) → ③ EX(Execute) → ④ MEM(Memory Access) → ⑤ WB(Write Back)

성능: 이상적 속도향상 = 파이프라인 단계 수(N), 실제 처리량 = 1명령어/클럭(이상적), CPI ≈ 1

해저드(Hazard)

  • 구조적(Structural): 하드웨어 자원 충돌, 메모리 포트 부족
  • 데이터(Data): RAW(Read After Write), WAR, WAW 의존성
  • 제어(Control): 분기 명령어, 잘못된 예측, 파이프라인 플러시

해결기법

  • 전방전달(Forwarding): EX→EX 데이터 우회, RAW 해결
  • 스톨(Stall/Bubble): 파이프라인 정지, 안전한 실행
  • 분기예측(Branch Prediction): 동적/정적 예측, 투기적 실행
  • 지연슬롯(Delay Slot): 분기 다음 명령어 무조건 실행

적용사례: RISC 프로세서, 슈퍼스칼라, Intel/AMD CPU

비교: 5단계(기본) vs 10단계+(Pentium4/슈퍼파이프라인)

연관: 슈퍼스칼라, 분기예측, 비순차실행, RISC