Computer/Computer Structure

Pipeline CPU with Hazards

고양이는생선을좋아해 2013. 6. 8. 14:09

 

#Hazard

1. 구조적 해저드

- 같은 클럭 사이클에 실행하기를 원하는 명령어의 조합을 하드웨어가 지원할 수 없다는 것을 의미한다.

 

2. 데이터 해저드

- 한 단계가 다른 단계가 끝나기를 기다리기 때문에 파이프라인이 지연되어야만 하는 경우에 일어난다.

 

3. 제어 해저드

- 다른 명령어들이 실행 중에 한 명령어의 결과 값에 기반을 둔 결정을 할 필요가 있을 때 일어난다.

 

* 해결법

구조적 해저드(Structual Hazard)

1) Instruction memory와 Data memory를 분리시킨다.

2) 포트를 추가한다.

3) stall

 

데이터 해저드(Data Hazard)

1) Fowarding

2) stall

 

제어 해저드(Control Hazard)

1) Prediction

2) Delayed branch

3) stall

 

 

Code.zip