Transcript PPT

OOE v.s. EPIC
Hridesh Rajan
Zhendong Yu
Weilin Zhong
Outline
Introduction
EPIC
OOE
Comparison
ILP, Power Consumption, Code Size,
Performance, Compiler techniques
Performance Evaluation
Conclusion
Introduction - EPIC
EPIC (Explicit Parallelism Instruction
Computing)
An evolution of VLIW
Can be considered more as “philosophy”,
than “architecture”.
Introduction - EPIC (2)
Instruction example (IA-64):
Long instruction contains multiple operations
and a template specifying dependencies
between instructions.
Op1
Op1
Op2
Op2
Op3
Op3
template
template
Introduction - OOE
OOE (Out of Order Execution) superscalar
Not an explicit way to demonstrate
dependencies between instructions.
Comparison - Complexity
OOE:
 Complexity = Complexity(bpred) + Complexity (Register
Renaming) + Complexity(Dependency Checking)+
Complexity(Alias Detection)
EPIC:
 Complexity = Complexity(Nat) + Complexity (ALAT) +
Complexity (CFM) + Complexity (RSE)
Comparison – power
consumption
OOE:
Less power consumption
EPIC:
More power consumption
Code Size
OOE:
Compact code (more branches)
EPIC
Sparse code (code bloat)
It depends on compilers
Comparison - ILP
OOE: (disadvantages)
Parallelism at the level of machine instructions: which
can be issued in a single cycle in a processor.
Limited ILP, ILP is not evenly distributed
Data dependency, control dependency
Resource dependency
#
#
#
#
#
of
of
of
of
of
registers,
ports to registers and memory
parallel instruction decoders,
function units
data paths between various CPU components
Comparison – ILP(2)
OOE (advantages)
Predicted path
Dynamic adjustment of instruction schedule
based on the actual execution path and cache
miss results
It can deal with stalls smartly
Comparison - ILP (3)
EPIC (Disadvantage)
Dynamic path tends to be longer
Static decisions based on compiler
What if the program stalls?
Recovery Code
Comparison – ILP(4)
EPIC: (advantages)
Massive resources
Larger register sets, more function units, etc.
Predication reduces branch penalties
Speculation reduces cache miss
Role of Compiler vs.
Hardware
OOE:
Parallelism detection and scheduling: Hardware
More powerful hardware, less powerful compiler
EPIC:
Parallelism detection and scheduling:
Compiler/Hardware
More powerful compiler, less powerful hardware
Comparison - frequency
OOE:
High frequency
EPIC:
Low frequency due to:
Focus on CPI
Performance compares and dependent branches
in the same cycle.
Predicated Execution
Power Consumption
Performance
Methodologies in performance comparison
CPI, CPU frequency, and the tradeoffs.
However, Itatium does not show great
improvement over Alpha 21264 or
Pentium IV.
Conclusion
EPIC seems to be a good alternate to
OOE (can OOE use EPIC techniques?)
But there is no explicit proof in the
performance gain.
Tradeoffs are always there. It depends on
what kind of processor behavior we need.
Time will prove everything.
References
A Critical look at IA-64, M. Hopkins
Is Out-of-Order Out of Date?, W. S.
Worley, J. Huck
EPIC: An Architecture for Instruction-level
Parallel Processors, M. S. Schlansker, B. R.
Rao
Thank you!
Questions?