
본 게시글은서울대학교 데이터사이언스대학원 성효진 교수님의데이터사이언스 응용을 위한 시스템 컴퓨팅 강의를학습을 목적으로 재구성하였습니다지난 시간에는 CPU 아키텍처를 배우면서각 step별 pipelining을 배웠고이런 pipelining 과정에서 각 단계마다 이쁘게 딱딱 맞아떨어지면 좋지만실제로는 예외 상황들이 자주 발생해서각 pipeline step간에 병목이 발생한다이러한 병목을 hazard라고 하고이러한 hazard는 주로 data 혹은 control dependency에 의해 발생한다따라서 hazard를 해결하기 위해 크게 3가지 방법이 있다고 했는데1. stall2. bypass3. speculation이라고 했다 그 중 stall은 가장 단순한 방법으로dependency가 해결될 때 까지 기다..