Data Hazard 3가지 - RAW, WAR, WAW
1. RAW (Read After Write) 쓰고 나서 읽어야 해서 생기는 stall cycle들을 말한다. ADD r1, r2, r3 SUB r4, r1, r3 r1 레지스터의 값을 ADD에서 write한 후 SUB에서 사용하는 Dependence 상황에서 발생한다. true dependent라고도 한다. 이러한 상황은 in-order processor처럼 inst의 순서를 바꾸지 않는 프로세서에서도 발생하는 hazard이다. 2. WAR (Write After Read) 읽는 inst과 쓰는 inst이 independent하기 때문에 순서를 바꿔도 되겠구나 했는데, 막상 순서를 바꾸고 나면 문제가 생긴다. 예시를 통해 이해하는 게 좋다. SUB r4, r1, r3 ADD r1, r2, r3 SUB ..