Early Branch Target Cache Lookup for Power Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data processing systems face inefficiencies in power consumption due to unnecessary instruction accesses caused by latency in branch prediction, leading to pipeline bubbles and increased energy expenditure.
Innovation Solution
The proposed solution involves initiating a branch target cache lookup at least one clock cycle before fetching an instruction from memory, allowing early prediction of branch instructions and preventing unnecessary fetches by accessing and storing prediction information ahead of time, thereby reducing power consumption and pipeline bubbles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If branch target cache lookup is performed at the same time as instruction fetch, then the system structure is simple, but pipeline bubbles are introduced and power consumption increases due to unnecessary instruction accesses
Solution Approach 1:
The patent performs branch target cache lookup in advance of the instruction fetch operation. Specifically, the lookup is initiated one or more clock cycles before the instruction fetch, allowing the system to determine whether a branch will be taken before actually fetching the instruction. This preliminary action prevents unnecessary instruction fetches and eliminates pipeline bubbles, directly resolving the contradiction between productivity and energy loss
2Loss of energy
If branch target cache lookup is delayed until instruction fetch time, then power consumption is reduced, but pipeline bubbles are introduced reducing processor performance
Solution Approach 1:
The patent initiates the branch target cache lookup one or more clock cycles before the instruction fetch operation. This timing allows the lookup to complete before the instruction is actually fetched, ensuring that pipeline bubbles are eliminated and processor performance is maintained at maximum levels, while still controlling power consumption by avoiding unnecessary fetches
3Productivity
If unnecessary instruction accesses are performed to resolve branch prediction, then processor performance is maintained, but power consumption increases significantly
Solution Approach 1:
The patent performs the branch target cache lookup in advance, one or more clock cycles before instruction fetch. This early lookup provides the branch prediction information needed to determine whether subsequent instruction fetches are necessary. By knowing the branch outcome beforehand, the prefetch unit can avoid unnecessary instruction accesses, directly reducing energy consumption while maintaining processor performance
Data Source
AI summary
A data processing apparatus including a prefetch unit for prefetching the instructions from a memory, branch prediction logic and a branch target cache for storing predetermined information about branch operations executed by the processor. The information includes identification of an instruction specifying a branch operation, a target address for said branch operation and a prediction as to whether said branch operation is taken or not. The prefetch unit accesses said branch target cache at least one clock cycle prior to fetching an instruction from said memory, to determine if there is predetermined information corresponding to said instruction stored within said branch target cache.


