Description:
- Hardware multithreading to improve utilization
- Multiplexing multiple threads on single CPU
- Each thread can be divided to do 1 function in parallel or divide a large loop to 2 and process in parallel,…
Types of multithreading

- Instruction Level Parallelism, No multi-thread
- Coarse-grain MT: has preferred thread and run work of another thread if free
- Fine-grain MT: (round robin between threads): run work of 1 thread in 1 cycle
- Simultaneous MT: Hyperthreading but more overhead for switching and solving hazard