토픽 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