오래 못 할 짓 하지 않기
[ 컴퓨터 구조 ] 12. Pipeline 제어부 (Control) 본문
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에 생성한다.
설명 :
- ID stage에서 그 뒤에 쓰일 제어 신호들을 한 번에 모두 생성한다.
- 그다음 EX단에서 사용되는 신호들을 거기에서 쓰이고 종료.
- 또 그 다음 Memory단에서 사용되는 신호들도...
- WB...
++ 제어신호들은 파이프라인 register에 같이 붙음.
위 사진 설명은 6_2번 강의 9분 40분부터 명령어 별로 설명해 주심
출처 : 한동대 SW중심대학
'2학년 2학기 > 컴퓨터 구조' 카테고리의 다른 글
[ 컴퓨터 구조 ] 14. Control Hazard solutions (0) | 2023.07.09 |
---|---|
[ 컴퓨터 구조 ] 13. Data Hazard (0) | 2023.07.07 |
[ 컴퓨터 구조 ] 11. Pipeline DataPath (0) | 2023.07.06 |
[ 컴퓨터 구조 ] 10. Pipeline 적용 (0) | 2023.07.06 |
[ 컴퓨터 구조 ] 9. Pipeline (0) | 2023.07.05 |