Instruction Line Prefetch Control Using Branch Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrated circuits face inefficiencies due to inactive processing units during lag times while accessing non-volatile memory, leading to energy consumption and reduced data processing volume, particularly when branch instructions cause misalignment in prefetching.

Innovation Solution

Implement a method and circuit design that stores instruction lines in volatile memory only if they lack branch instructions, using reference instructions to determine branch status, and selectively access either non-volatile or volatile memory based on branch detection, minimizing inactive periods and energy waste.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the prefetch device stores the next instruction line in volatile memory to reduce lag time, then the processing unit activity is improved, but energy consumption increases due to storing and wasting power on instructions that may not be executed

Engineering Contradiction:
Improveprocessing unit activityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary detection of branch instructions in the current instruction line before deciding whether to prefetch the next instruction line. This preliminary action prevents unnecessary prefetching when branch instructions are present, thereby avoiding energy waste while maintaining productivity when prefetching is beneficial.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from the comparison result of the current instruction line with branch instructions to control the prefetching decision. When branch instructions are detected, the feedback mechanism prevents prefetching; when no branch instructions are present, prefetching is enabled, creating a closed-loop control that optimizes both energy consumption and processing activity.

Inventive Principle:
Principle #23Feedback

2Use of energy by moving object

If the processing unit waits for the next instruction line to be read from non-volatile memory, then energy consumption is reduced, but the processing unit remains inactive during the lag time

Engineering Contradiction:
Improveenergy consumptionVSAvoiddata processing volume
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system performs preliminary detection of branch instructions before the processing unit becomes inactive. This allows the system to make an informed decision about whether to prefetch, ensuring that prefetching only occurs when it will actually improve productivity by providing the next instruction line when needed, rather than wasting energy on instructions that will never be executed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the system stores all next instruction lines in volatile memory to eliminate processing unit inactivity, then productivity is improved, but energy waste increases due to storing instructions that are not executed

Engineering Contradiction:
Improveprocessing unit activityVSAvoidenergy waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary detection of branch instructions in the current instruction line before initiating the prefetch operation. This preliminary check ensures that prefetching only occurs when the next instruction line is likely to be executed, preventing energy waste on storing and discarding instructions that will not be used, while still maintaining high productivity when prefetching is beneficial.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from the branch instruction detection to control the prefetching operation. The comparison result provides feedback that enables or disables prefetching, creating a smart control mechanism that prevents energy waste on unnecessary prefetches while maintaining productivity when prefetching is needed, thus resolving the contradiction between productivity improvement and energy loss.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12561142B2Method and system for preventing prefetching a next instruction line based on a comparison of instructions of a current instruction line with a branch instruction
Publication Date: 2026.02.24 STMICROELECTRONICS (GRENOBLE 2) SAS
  • US12561142B2 patent drawing
  • US12561142B2 patent drawing

AI summary

In an embodiment a method for operating an integrated circuit includes sequentially requesting, by a processor of an integrated circuit, different instruction lines; determining, by a first comparator of the integrated circuit, while the processor processes a current instruction line supplied in response to a corresponding request, whether or not at least one of the instructions of the current instruction line is a branch instruction by comparing the at least one of the instructions to reference instructions; executing, by the processor, all instructions of the current instruction line before executing a next instruction line when the at least one instruction is a branch instruction from a program memory of the integrated circuit; and executing, by the processor, all instruction of the current instruction line before executing a next instruction line from first and second volatile memory of the integrated circuit when the at least one instruction is not a branch instruction.