<aside> 💡 선 요약 수퍼스칼라 WAR, WAW 종속성 OoO Execution 실 사례집
</aside>
하나의 프로그램에서, 최대 몇개의 instruction을 동시에 실행 할 수 있는가이다.
만약 하나의 Processing Element가 한 사이클에 inst 하나 실행한다면 PE가 여러개면 동시에 실행 가능하다. 또한 True Dependency 존재하면 순서대로 처리된다(종속성)
Average ILP = (# of inst)/(# of cycles required by Infinite PEs)
PE 제한을 두지 않았을 때를 가정한다. ILP가 높을 수록 좋다!

ILP와 IPC의 관계를 살펴보자.
우선 지금까지 봐 왔던 그냥 파이프라이닝은 inst당 5사이클이 걸린다.
최대 IPC = 1이다.
따라서 ILP ≥1이어야지 최대 성능이 나올 것이다!

하나의 stage를 여러 사이클로 쪼갠다.
하나를 M minor cycles로 쪼갠다고 했을 때 (superpipelined degree=M)
최대 IPC = M (per baseline cycle), 1 per minor cycle
따라서 ILP ≥ M이어야지 최대 성능이다.
