Compare and contrast each of the following techniques for achieving instruction-level parallelism

Why is accurate branch prediction so important to modern microprocessor designs?
March 21, 2023
A simple Dynamic Branch Prediction cache
March 21, 2023

Compare and contrast each of the following techniques for achieving instruction-level parallelism

2003 Paper 7 Question 1
Comparative Architectures
(a) Compare and contrast each of the following techniques for achieving
instruction-level parallelism:
(i) statically-scheduled super scalar;
(ii) out-of-order speculative execution;
(iii) Very Long Instruction Word (VLIW);
(iv) EPIC (as used by IA-64).
[12 marks]
(b) Discuss hardware multi-threading, and hence the different implementation
approaches that have been tried to enable a single CPU core to execute from
multiple instruction streams. How can multi-threading be used to improve
system performance? What are the pitfalls? [8 marks]