On-Demand Length Marker Generation for Variable-Length Instruction Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face inefficiencies in decoding variable length instructions due to the need for precise determination of instruction length before decoding, leading to increased power consumption, latency, and reduced decode bandwidth.

Innovation Solution

The implementation of an on-demand instruction length decoder (OD-ILD) in conjunction with a predecode cache, allowing for selective generation of predecode bits only when necessary, thereby reducing power consumption and latency while maintaining decode performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional instruction length decoding is performed for every instruction, then accurate instruction boundary detection is achieved, but power consumption increases and decode bandwidth decreases

Engineering Contradiction:
Improveinstruction boundary detection accuracyVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by performing full instruction length decoding only when necessary (on-demand) rather than for every instruction. The system uses predecode bits as a first-level indicator and only activates the full instruction length decoder when predecode bits indicate ambiguity or when instruction boundaries cannot be determined from predecode information alone. This selective approach maintains accurate instruction boundary detection while significantly reducing power consumption by keeping the full decoder inactive most of the time.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements preliminary action through predecode bits that are generated in advance for instruction streams. These predecode bits provide preliminary information about potential instruction boundaries, allowing the system to prepare for decoding operations ahead of time. The predecode cache stores these preliminary results, enabling the main instruction length decoder to operate more efficiently by only processing cases where predecode information is insufficient, thus reducing overall power consumption while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If traditional instruction length decoding is performed for every instruction, then accurate instruction boundary detection is achieved, but latency increases

Engineering Contradiction:
Improveinstruction boundary detection accuracyVSAvoiddecode latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent reduces latency by performing preliminary decoding operations through predecode bits that are generated and cached in advance. When instruction streams are fetched, the predecode cache already contains preliminary boundary information, eliminating the need for full decoding operations in most cases. This allows the processor to quickly identify instruction boundaries using cached predecode data, significantly reducing decode latency compared to performing complete instruction length decoding for every instruction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system performs only partial decoding operations (using predecode bits) for most instructions, reserving full instruction length decoding for only those cases where predecode information is insufficient. This selective approach maintains accurate instruction boundary detection while reducing the time spent on decoding operations, thereby lowering overall decode latency.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If traditional instruction length decoding is performed for every instruction, then decode accuracy is maintained, but decode bandwidth decreases

Engineering Contradiction:
Improvedecode accuracyVSAvoiddecode bandwidth
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent increases decode bandwidth by performing partial decoding operations (using predecode bits) for the majority of instructions, reserving full instruction length decoding for only those cases where predecode information is insufficient. This allows the decoder to process more instructions per unit time while maintaining accurate instruction boundary detection, effectively increasing decode bandwidth without sacrificing precision.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent segments the decoding process into two distinct stages: a fast predecode stage that processes all instructions using simplified logic, and a full decoding stage that processes only those instructions requiring detailed analysis. This segmentation allows the system to handle larger volumes of instructions through the efficient predecode path while maintaining accuracy for complex cases, thereby increasing overall decode bandwidth.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12353881B2Circuitry and methods for power efficient generation of length markers for a variable length instruction set
Publication Date: 2025.07.08 INTEL CORP
  • US12353881B2 patent drawing
  • US12353881B2 patent drawing
  • US12353881B2 patent drawing

AI summary

Systems, methods, and apparatuses for power efficient generation of length markers for a variable length instruction set are described. In one embodiment, a hardware processor core includes a decoder circuit to decode instructions into decoded instructions, an execution circuit to execute the decoded instructions, an instruction cache, an instruction length decoder circuit, a predecode cache comprising a predecode bit, for each section of multiple sections of instruction data, that indicates when that section is identified as an end boundary of a variable length instruction, an incomplete decode table comprising a bit, for each proper subset of sections of instruction data, that indicates when that proper subset of sections has one or more invalid predecode bits in the predecode cache; and a fetch circuit to, for an incoming address of instruction data, perform a lookup in the instruction cache and the incomplete decode table, and, when there is a hit in the instruction cache for the instruction data at the incoming address and a hit in the incomplete decode table that indicates a proper subset of sections of the instruction data for the incoming address has one or more invalid predecode bits in the predecode cache, causes the instruction length decoder circuit to generate one or more predecode bits for the proper subset of sections of the instruction data for the incoming address that has the one or more invalid predecode bits.