엔지니어가 되고 싶은 공돌이

13. Pipelining Datapath 본문

Computer Science/Computer Architecture

13. Pipelining Datapath

Geca 2025. 5. 5. 17:05

 

13. 1. Pipelining Datapath

 

- MIPS Instructions은 5단계로 수행되므로,

 

  Pipelining을 적용시키면 최대 5개의 명령어를 동시에 실행 시킬 수 있습니다.

 

 

- Datapath는 2가지 경우를 제외하고 전부 왼쪽에서 오른쪽으로 작업을 수행합니다.

 

  1) Write Register Files: Data Hazard를 발생 시킬 수 있습니다.

 

  2) PC Value Decision: Control Hazard를 발생 시킬 수 있습니다.

 

 

 

- 여러 개의 명령어가 동시에 실행되면 메모리를 다른 명령어가 사용할 수 있으므로,

 

  각 명령어의 정상적인 동작을 위해 각 단계마다 Register를 필요로 합니다.

 

- 모든 Instructions은 Clock Cycle마다, 한 Pipeline Register에서 다음 Pipeline Register로 전진합니다.

 

- 각 Pipeline Register의 이름은 각 단계의 이름을 따서 IF/ID, ID/EX, EX/MEM, MEM/WB라 부릅니다.

 

- 그림으로 간단히 표현할 때, Read는 오른쪽 반을 강조, Write는 왼쪽 반을 강조합니다.

 

 

- lw는 5단계를 모두 수행하지만, sw는 마지막 단계인 WB를 수행하지 않습니다.

 

  어떤 명령어가 특정단계에서 아무 일을 하지 않더라도 항상 5단계는 순서대로 거쳐야 합니다.

 

  왜냐하면, 뒤따르는 명령어들이 최고속도로 현재 일을 진행하고 있기 때문입니다.

 

  또한, lw를 정상적으로 수행하기 위해서는 write register값을 마지막 5단계까지 가지고 있어야 하므로

 

  write register의 값은 Pipeline Register에 각 단계마다 계속 저장해주어야 합니다.

 


 

13. 2. Pipeline Control

 

 

 

- Pipelining을 위해서는 각 Control 값 들도 Pipeline Register에 저장해서 앞으로 보내주어야 합니다.

 

 

 

- EX단계에서 ALUSrc, ALUOp, RegDst를 필요로 하고,

 

  나머지 값은 다음단계 pipeline register로 보냅니다.

 

- MEM단계에서 MemRead, MemWrite, Branch를 필요로 하고,

 

  나머지 값은 다음단계 pipeline register로 보냅니다.

 

- WB단계에서 RegWrite, MemtoReg를 필요로 합니다.


'Computer Science > Computer Architecture' 카테고리의 다른 글

15. Control Hazard  (0) 2025.05.05
14. Data Hazard  (0) 2025.05.05
12. Pipelining  (0) 2025.05.05
11. Datapath Including Controls  (0) 2025.05.05
10. Datapath  (0) 2025.04.29
Comments