Multi-mode Register File for Branch Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The integration of branch prediction logic in processors increases area and power consumption due to the need for additional components like branch history tables and branch target caches, which can lead to inefficiencies in processing and energy waste, especially when dealing with mispredicted branches and instruction streams.

Innovation Solution

A multi-mode register file system where each thread has its own register file that can switch between modes to store either operands or auxiliary branch prediction information, allowing for the storage of branch history tables and target caches only when necessary, thereby minimizing unnecessary processing and energy consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If branch prediction logic including branch history table and branch target cache is integrated in the processor, then branch prediction accuracy is improved, but processor area and power consumption increase

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidprocessor area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The register file is designed to operate in multiple modes: thread mode for storing thread-specific data and auxiliary mode for storing branch prediction information. This multi-functionality allows the same hardware structure to serve dual purposes, eliminating the need for separate dedicated branch prediction structures and thereby reducing processor area while maintaining prediction accuracy

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The register file can dynamically switch between thread mode and auxiliary mode based on operational requirements. When branch prediction is needed, the register file transitions to auxiliary mode to store branch history and target cache data. This dynamic reconfiguration allows the system to allocate resources flexibly, reducing the need for permanently allocated branch prediction structures and thus reducing overall processor area

Inventive Principle:
Principle #15Dynamics

2Reliability

If branch prediction logic including branch history table and branch target cache is integrated in the processor, then branch prediction accuracy is improved, but power consumption increases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidprocessor power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The register file serves dual purposes by operating in either thread mode or auxiliary mode, eliminating the need for separate dedicated branch prediction structures. This consolidation reduces the total number of active circuit components, thereby reducing power consumption while maintaining branch prediction accuracy

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system dynamically switches the register file between modes based on whether branch prediction is currently needed. This dynamic operation allows the system to power down or idle portions of the register file when not needed for branch prediction, reducing overall power consumption compared to having permanently active branch prediction structures

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If register file switches between storing thread data and branch prediction information, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidregister file control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system pre-allocates the register file structure to support both thread mode and auxiliary mode operations. Control logic is prepared in advance to handle mode switching based on simple mode indication signals. This preliminary preparation simplifies the switching process during operation, as the infrastructure is already in place and requires minimal complex control during actual mode transitions

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2304551B1Multi-mode register file for use in branch prediction
Publication Date: 2017.03.29 QUALCOMM INC
  • EP2304551B1 patent drawing
  • EP2304551B1 patent drawing
  • EP2304551B1 patent drawing

AI summary

A multi-mode register file for each thread of a multi-thread system is described. In one embodiment, the multi-mode register file includes an operand for the thread in a first mode. The multi-mode register file further includes branch prediction information which replaces the operand in a second mode.