Home | | Advanced Computer Architecture | Hardware versus Software Speculation Mechanisms

Chapter: Advanced Computer Architecture : Multiple Issue Processors

Hardware versus Software Speculation Mechanisms

Hardware Speculation: Dynamic runtime disambiguation of memory addresses is done using Tomasulo’s algorithm. This disambiguation allows us to move loads past stores at runtime.

Hardware versus Software Speculation Mechanisms


Hardware Speculation

 

Dynamic runtime disambiguation of memory addresses is done using Tomasulo’s algorithm. This disambiguation allows us to move loads past stores at runtime.

 

Hardware-based speculation works better when control flow is unpredictable, and when hardware-based branch prediction is superior to software-based branch prediction done at compile time.

 

Hardware-based speculation maintains a completely precise exception model even for speculated instructions

 

Hardware-based speculation does not require compensation or bookkeeping code.

 

The ability to see further in the code is very poor in Hardware based speculation

 

 

Software Speculation

 

Dynamic runtime disambiguation of memory addresses is difficult to do at compile time for integer programs that contain pointers

 

Hardware-based branch prediction is superior than software-based branch prediction done at compile time.

 

Software-based approaches have added special support to allow this as well.

 

Software-based speculation require compensation or Bookkeeping

 

Compiler-based approaches may benefit from the ability to see further in the code sequence, resulting in better code scheduling than a purely hardware-driven approach.

 

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Advanced Computer Architecture : Multiple Issue Processors : Hardware versus Software Speculation Mechanisms |


Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.