컴퓨터구조 파이프라인 해저드

파이프라이닝의 효율을 저해하는 요인인 파이프라인 해저드(Pipeline Hazard)에 대해 정리했다.

명령어 실행 흐름이 중단되는 현상을 분석했다.

데이터 해저드와 포워딩 기술

앞선 명령어의 결과가 확정되기 전 다음 명령어가 해당 데이터를 참조할 때 발생하는 현상이다.

- ADD R1, R2, R3  (R1 = R2 + R3)
- SUB R4, R1, R5  (R4 = R1 - R5) // R1 확정 전 참조 발생

이를 해결하기 위해 포워딩(Forwarding) 기술을 적용한다.

연산 결과를 레지스터 기록 전 단계에서 다음 명령어의 입력으로 직접 전달하여 지연(Stall)을 방지한다.

해저드의 유형 분류

  • 구조적 해저드(Structural Hazard): 하드웨어 자원 충돌로 인해 발생한다.
    (예: 단일 포트 메모리에 대한 동시 접근)
  • 데이터 해저드(Data Hazard): 명령어 간 데이터 의존성으로 인해 발생하며, 포워딩이나 지연을 통해 해소한다.
  • 제어 해저드(Control Hazard): 분기 명령어에 의한 경로 미확정 시 발생한다.
    예측 실패 시 파이프라인을 비우는(Flush) 과정이 수반된다.

하드웨어 설계는 실행 경로상의 장애 요인을 억제하기 위한 최적화 과정이다.

포워딩 및 분기 예측 기술은 시스템 성능 유지의 핵심 동력인 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts