Multiplexer-Based Instruction Length Decoding for Boundary Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microprocessor architectures face inefficiencies in determining the length of variable length instructions, leading to suboptimal execution of computer programs due to unaligned instruction boundaries and the need for rapid and accurate instruction length decoding.

Innovation Solution

Implementing a multiplexor-based instruction length decode chain system that uses programmable logic array (PLA) circuitry to speculate and determine the start and end bytes of variable length macroinstructions, enabling efficient decoding and alignment within a single processor cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional instruction length decoding methods are used, then instruction execution can proceed, but the decoding process is slow and inefficient due to variable length instructions and unaligned boundaries

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidinstruction length determination time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores instruction length information in a lookup table during system initialization or compilation. When an instruction needs to be executed, the length is immediately retrieved from the pre-computed table rather than being calculated at runtime, eliminating the time-consuming decoding process and enabling fast instruction execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the traditional sequential mechanical decoding process with an electronic lookup mechanism using hardware circuits and memory structures. Instead of sequentially analyzing instruction bytes to determine length, the system uses parallel memory access to retrieve length information instantaneously, substituting computational mechanics with electronic retrieval.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If variable length instructions are supported, then instruction set flexibility is improved, but instruction boundary alignment becomes difficult and decoding complexity increases

Engineering Contradiction:
Improveinstruction format flexibilityVSAvoidinstruction decoding mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary instruction length lookup table that mediates between the variable length instruction format and the execution pipeline. This table acts as a buffer that translates the complex variable length formatting into simple length values, allowing the execution unit to handle instructions without directly processing the complexity of variable length boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the instruction decoding process into separate functional components: a lookup table for length determination, a boundary alignment unit, and an execution unit. This segmentation allows each component to handle specific aspects of the problem independently, reducing overall system complexity while maintaining support for variable length instructions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3798825B1Instruction length decoder system and method
Publication Date: 2025.10.15 INTEL CORP
  • EP3798825B1 patent drawingFigure 1~2
  • EP3798825B1 patent drawingFigure 3
  • EP3798825B1 patent drawingFigure 4

AI summary

A system is provided that includes an instruction buffer that stores bytes representative of one or more macroinstructions and instruction length decoder circuitry. The instruction length decoder circuitry includes a first multiplexer circuitry having first input lines receiving a first input data representative of a speculative length of a first macroinstruction of the macroinstructions, and first selector that selects from the first input lines via a one-hot selector vector. The instruction length decoder circuitry also includes a first output line communicatively coupled to second selector, wherein the first output line causes the selector to select from a second input data representative of a first location of a first ending byte for the first macroinstruction. The first multiplexer circuitry and the second selector may output start and end byte locations for the macroinstructions.