Pipelining
Pipelining
Pipelining
- 일반적으로 cpu는 병렬로 작업을 처리한다.
- 해야할 일을 pipeline에 담아 순서대로 처리하는 방식
- 하지만 이러한 방식은 가장 오래 걸리는 시간이 전체 작업량에 큰 영향을 끼친다
RISC - V의 pipeline 용어
- IF STAGE (명령어 fetch)
- ID STAGE (명령어 해석)
- EX STAGE (ALU 사용)
- MEM STAGE(load 사용)
- WB STAGE(ALU 결과 값을 목적 R에 작성)
구조적 해저드(Structural Hazard)
해결법
- stall : 잠깐 쉬기 → 다른 메모리가 참조 할떄까지
- hardward resource 추가
데이터 해저드(Data Hazard)
해결법
bubble (많은 stall) ← clock 손해
Forwarding
- ALU에서 나온 값을 산지 직송으로 보낸다.
- 조금더 clock에서 이점을 가질수도…?
bublle + fowarding
Control Hazard
컨트롤 해저드 해결책
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.