Lookup Circuitry for Parallel Control Flow Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Control flow prediction in data processing faces inefficiencies when handling loops that span multiple blocks of instructions, as existing methods either require larger hardware and increased power consumption or lead to alignment issues and inefficiencies.

Innovation Solution

A data processing apparatus and method that uses lookup circuitry to provide prediction data for pairs of instruction blocks, allowing these blocks to collectively define a prediction block, with a single reference to the block used as an index for both prediction data sets, enabling parallel operation and reducing hardware size and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the size of instruction blocks is increased to achieve high bandwidth control flow prediction, then prediction bandwidth is improved, but alignment issues arise and efficiency decreases when loops span multiple blocks

Engineering Contradiction:
Improveprediction bandwidthVSAvoidhandling of loops spanning multiple blocks
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent divides the instruction stream into multiple instruction blocks (first block and second block) that can be independently predicted. Each block has its own prediction data stored in separate lookup circuitry, allowing the system to handle loops that span across block boundaries by maintaining independent prediction states for each block while still achieving high bandwidth through parallel prediction operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the number of input ports is increased to handle multiple instruction blocks, then control flow prediction capability is improved, but hardware size and power consumption increase

Engineering Contradiction:
Improvecontrol flow prediction capabilityVSAvoidhardware size and power consumption
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the prediction operations for multiple instruction blocks by using a single shared lookup circuitry structure that receives a combined index formed from references to multiple blocks. This allows the system to generate predictions for both the first and second instruction blocks simultaneously using shared hardware resources, thereby improving prediction capability without proportionally increasing hardware size or power consumption.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If separate prediction data structures are used for each instruction block, then prediction accuracy is improved, but hardware resources and circuit size increase

Engineering Contradiction:
Improveprediction accuracyVSAvoidcircuit size
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a universal lookup circuitry structure that serves multiple prediction functions simultaneously. The same lookup circuitry is used to generate prediction data for both the first instruction block and the second instruction block by accepting different index inputs. This multi-functional approach maintains prediction accuracy for each block while avoiding the need for separate dedicated prediction hardware for each block, thereby reducing overall circuit size.

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

Data Source

PatentUS10963258B2Apparatus and method for performing multiple control flow predictions
Publication Date: 2021.03.30 ARM LTD
  • US10963258B2 patent drawing
  • US10963258B2 patent drawing
  • US10963258B2 patent drawing

AI summary

A data processing apparatus is provided that includes lookup circuitry to provide first prediction data in respect of a first block of instructions and second prediction data in respect of a second block of instructions. First processing circuitry provides a first control flow prediction in respect of the first block of instructions using the first prediction data and second processing circuitry provides a second control flow prediction in respect of the second block of instructions using the second prediction data. The first block of instructions and the second block of instructions collectively define a prediction block and the lookup circuitry uses a reference to the prediction block as at least part of an index to both the first prediction data and the second prediction data.