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.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.