Multiscalar, Trace and Speculative Multithreaded Processors
Multiscalar: A program is statically partitioned into tasks which are marked by annotations of the CFG.
Trace Processor: Tasks are generated from traces of the trace cache.
Speculative multithreading: Tasks are otherwise dynamically constructed.
Common target: Increase of single-thread program performance by dynamically utilizing thread-level speculation additionally to instruction-level parallelism.
A „thread“ means a „HW thread“