포워딩

CS/컴퓨터 구조

[컴퓨터 구조] 20. Pipeline MIPS (4) - 회로 개선 (Data Hazard)

Data Hazard 우선 Forwarding 이 적용되지 않은 상황에서 그냥 pipeline MIPS 회로에 그대로 위와 같은 과정으로 명령어를 실행한다고 해보자.그럼 클럭 사이클 (CC) 이 지나갈 때 회로의 흐름이 위와 같이 나타난다.그런데 첫번째 명령어인 sub의 결과로 $2 레지스터에 값이 쓰이는데, 그 다음 명령어는 곧바로 $2 레지스터의 값을 이용해 연산을 한다.즉, 데이터 의존성이 존재하는 것이다. 먼저 명령어의 흐름을 가로축으로 보았을 때, sub 명령어에 기존에는 10이라는 값이 있었고, sub 연산 결과 -20이 저장된다고 하자.그러면 WB 단계 전까지 Reg 에는 10 이 저장되어 있다가, Write Back 이 되는 전반부 쓰기 동작 이후에는 -20이 저장될 것이다. 이번엔 명령어..

에버듀
'포워딩' 태그의 글 목록