tmt
대표적으로 협동형(비선점형) 멀티태스킹처럼 하나의 스레드가 맡고 있는 일련의 명령어들이 먼저 다 수행한 다음에 다른 스레드가 수행하는 Coarse-grained 방식이 있고, 선점형 멀티태스킹처럼 하나의 스레드가 맡고 있는 일련의 명령어들을 먼저 다 수행하기도 전에 다른 스레드가 끼어들어 또 다른 명령어를 수행하면서 결과적으로 서로 다른 스레드들이 각자 맡고 있는 별개의 명령어들을 번갈아 수행하는 Fine-grained 방식이[1]라는 하위 방식들이 있다
, 싱글코어 싱글스레드 CPU에도 적용할 수 있는 방식이다.
coarse-grained
• CPU switches every few (100~1000) cycles to a different thread - Assume long stalls at end of each thread
• Memory Access → switch reasonable (if frequent)
• Less hardware support - but need many thread
fine grained multi-threading
• CPU switches every cycle
• Reasonable when Data Hazards, Cache misses
• Does not fully utilize resources in multi-issue architecture