Temporal Multi Threading

Creator
Creator
Seonglae Cho
Created
Created
2020 Apr 4 12:27
Editor
Edited
Edited
2023 Sep 13 7:9
Refs
Refs

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
notion image

notion image

fine grained multi-threading

• CPU switches every cycle
• Reasonable when Data Hazards, Cache misses
• Does not fully utilize resources in multi-issue architecture

Recommendations