파이프라이닝은 여러 명령어를 시간표처럼 겹친다
한 명령어를 더 빨리 끝내기보다, 매 클록마다 서로 다른 명령어가 다른 단계를 점유해 처리량을 높입니다.
C1
C2
C3
C4
C5
C6
C7
명령어 A
IF
ID
EX
MEM
WB
명령어 B
IF
ID
EX
MEM
WB
명령어 C
IF
ID
대기
EX
MEM
A
C1 IFC2 IDC3 EXC4 MEMC5 WB
B
C2 IFC3 IDC4 EXC5 MEMC6 WB
C
C3 IFC4 IDC5 대기C6 EXC7 MEM
IF명령어 인출
ID해독·레지스터 읽기
EX연산·주소 계산
MEM메모리 접근
WB결과 기록
구조 해저드같은 하드웨어를 동시에 요구하면 멈춘다.
데이터 해저드앞 명령의 결과가 아직 없으면 forwarding이나 stall이 필요하다.
제어 해저드분기 결과가 늦으면 다음 PC를 예측해야 한다.
핵심 파이프라인의 장점은 한 명령어의 지연 시간 감소가 아니라, 채워진 뒤 매 클록마다 완료 결과가 나오는 처리량 증가입니다.