HP Vectra XU 6/XXX HP Vectra XU 6/xxx, Guide to Optimizing performance - Page 58

Out-of-order Execution, Speculative Execution

Page 58 highlights

2 Technical Reference The Intel Pentium Pro Processor Out-of-order Execution When executing x86 family instructions, previous generations of processors had to be faithful to the order in which the instructions were received. This meant that if a particularly slow or complicated instruction was being executed, the processor was obliged to stall its pipeline until the instruction had completed. By breaking instructions down into micro-ops, the Pentium Pro is able to change the order in which it executes instructions. When a particular instruction requires longer than average to execute, the Pentium Pro will fetch and execute another instruction while waiting for the first instruction to complete. The status of the first instruction is stored in registers while the new instruction is executed, ensuring that no conflicts arise. This facility is called out-of-order execution, and ensures that the Pentium Pro's three pipelines are used to their greatest effect. Speculative Execution All programs contain branches. These are produced by conditional instructions which can change the thread of instruction execution. Depending on the conditions when a conditional instruction is executed, different instructions will be required next by the program. Like the Pentium processor, the Pentium Pro provides a branch prediction unit that can identify program branches and load their instructions into the level-one instruction cache memory. However, unlike the Pentium, the Pentium Pro is also able to execute these instructions in case they are needed. This feature is called speculative execution, and it can significantly reduce the time required for program branches. 52 English

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75

2
Technical Reference
The Intel Pentium Pro Processor
52
English
Out-of-order Execution
When executing x86 family instructions, previous generations of
processors had to be faithful to the order in which the instructions were
received. This meant that if a particularly slow or complicated
instruction was being executed, the processor was obliged to stall its
pipeline until the instruction had completed.
By breaking instructions down into micro-ops, the Pentium Pro is able
to change the order in which it executes instructions. When a
particular instruction requires longer than average to execute, the
Pentium Pro will fetch and execute another instruction while waiting
for the first instruction to complete. The status of the first instruction
is stored in registers while the new instruction is executed, ensuring
that no conflicts arise. This facility is called out-of-order execution, and
ensures that the Pentium Pro’s three pipelines are used to their
greatest effect.
Speculative Execution
All programs contain branches. These are produced by conditional
instructions which can change the thread of instruction execution.
Depending on the conditions when a conditional instruction is
executed, different instructions will be required next by the program.
Like the Pentium processor, the Pentium Pro provides a branch
prediction unit that can identify program branches and load their
instructions into the level-one instruction cache memory. However,
unlike the Pentium, the Pentium Pro is also able to execute these
instructions in case they are needed. This feature is called speculative
execution, and it can significantly reduce the time required for
program branches.