This preview shows page 1. Sign up to view the full content.
Unformatted text preview: branch will be taken, and they also predict the target address for the branch. Using a technique known as speculative execution, the processor begins fetching and decoding instructions at where it predicts the branch will go, and even begins executing these operations before it has been determined whether or not the branch prediction was correct. If it later determines that the branch was predicted incorrectly, it resets the state to that at the branch point and begins fetching and executing instructions in the other direction. A more exotic technique would be to begin fetching and executing instructions for both possible directions, later discarding the results for the incorrect direction. To date, this approach has not been considered cost effective. The block labeled Fetch Control incorporates branch prediction to perform the task of determining which instructions to fetch. The Instruction Decoding logic takes the actual program instructions and converts them into a set of primitive operations. Each of these operations...
View Full Document
- Spring '10
- The American