오래 못 할 짓 하지 않기

[ 컴퓨터 구조 ] 12. Pipeline 제어부 (Control) 본문

2학년 2학기/컴퓨터 구조

[ 컴퓨터 구조 ] 12. Pipeline 제어부 (Control)

쫑알bot 2023. 7. 7. 13:43
728x90

Pipeline Control

 

고려할 점
: 이전까지의 Control들은 현재 돌아가고 있는 명령어가 하나밖에 없었기 때문에 그냥 제어하면 되었는데

 Pipeline에서는 여러 명령어가 돌고 있을 수 있다.

  1) 같은 명령어라도 몇 번째 CLK Cycle인지

  2) 동시에 5개의 명령어에 대한 Control이 필요함.

 

 

각 Stages ( steps ) 에서 Control 되어야 하는 것

  • IF     :  딱히 control 할 거 없음
  • ID     :  딱히 control 할 거 없음
  • EX    :  명령어에 따라 RegDst , ALUOp , ALUSrc  
  • MEM :  명령어에 따라 Branch, MemRead, MemWrite
  • WB   : 명령어에 따라 MemtoReg , RegWrite

 

그럼 어떻게 알맞게 우리가 Control 신호를 보낼 수 있을까?

 

→ 택배물류를 생각해보자. 중앙에서 한 사람이 " 그 택배 어디로 보내, 저 택배 어디로 보내. " 가 아니라

그냥 물건에 송장이 붙어있고 그거대로 물류 센터에서 송장번호에 따라 통제가 된다.

 

Pipeline 도 마찬가지다. Instruction을 보고 어떤 걸 보낼지 정한다.

ID stage에서 모든 Control 신호들을 Pipeline register에 생성한다.

 

 

 설명 :

 

  1. ID stage에서 그 뒤에 쓰일 제어 신호들을 한 번에 모두 생성한다.
  2. 그다음 EX단에서 사용되는 신호들을 거기에서 쓰이고 종료.
  3. 또 그 다음 Memory단에서 사용되는 신호들도...
  4. WB...

++ 제어신호들은 파이프라인 register에 같이 붙음.

 

위 사진 설명은  6_2번 강의 9분 40분부터 명령어 별로 설명해 주심

 

 

 

출처 : 한동대 SW중심대학