How do pipelines that support in-order and out-of-order execution differ in their microarchitectural components?

A 4KB, blocking, private L1 cache with 16B lines
March 21, 2023
Why might a heterogeneous or asymmetric chip-multiprocessor be preferable to a homogeneous or symmetric one?
March 21, 2023

How do pipelines that support in-order and out-of-order execution differ in their microarchitectural components?

COMPUTER SCIENCE TRIPOS Part II – 2014 – Paper 8
Comparative Architectures (TMJ)
(a) Throughout the 1990s mainstream microprocessors were developed with ever
deeper pipelines. Since then manufacturers have scaled back to more moderate
pipeline depths.
(i) What were the benefits from implementing deep pipelines and why were
they scaled back? [4 marks]
(ii) How do pipelines that support in-order and out-of-order execution differ in
their microarchitectural components? [4 marks]
(b) Modern high-performance processors incorporate a dynamic branch predictor to
avoid stalling when branches are fetched.
(i) What is a tournament branch predictor and why might it outperform either
a global or local branch predictor alone? [4 marks]
(ii) You develop a new branch predictor that is significantly more accurate than
existing designs. However, its complexity means that it takes several cycles
to produce a prediction. How can you make use of this predictor without
always introducing a pipeline bubble? [4 marks]
(iii) If you were designing an out-of-order core, why might you decide not to
allow predicated execution? [4 marks]