U3.1 Concepts and Challenges[1] (1)
U3.1 Concepts and Challenges[1] (1)
Instruction-Level Parallelism:
Concepts and Challenges
Introduction
• All processors since about 1985 have used pipelining to
overlap the execution of instructions and improve
performance.
• This potential overlap among instructions is called
instruction-level parallelism (ILP), because the instructions
can be evaluated in parallel.
• There are two largely separable approaches to exploiting ILP:
(1) an approach that relies on hardware to help discover and exploit the
parallelism dynamically, and
(2) an approach that relies on software technology to find parallelism
statically at compile time.
Processors using the dynamic, hardware-based approach,
including all recent Intel and many ARM processors, dominate
in the desktop and server markets
• The value of the CPI (cycles per instruction) for a
pipelined processor is the sum of the base CPI and all
contributions from stalls:
Pipeline CPI = Ideal pipeline CPI + Structural stalls +
Data hazard stalls + Control stalls