Superscalar Length Decode Unit for Variable Instruction Boundary Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures require significant resources to store and verify endbits for variable length instructions, leading to increased die area and cost, as well as complex decode mechanisms to handle corrupted endbits.

Innovation Solution

A superscalar decode mechanism that includes a length decode unit to estimate instruction lengths and store pointers for variable length instructions within a scan window, allowing for efficient decoding and boundary identification without the need for extensive circuitry to repair corrupted endbits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If endbits are stored in the instruction cache and L2 cache to identify instruction boundaries, then the instruction boundaries can be correctly identified, but the cache size and die area increase significantly

Engineering Contradiction:
Improveinstruction boundary identification accuracyVSAvoidcache size and die area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent extracts the essential function of boundary identification from the endbits data structure and implements it through a length decode unit that calculates boundaries on-the-fly. Instead of storing endbits in cache, the system stores only the instruction bytes and computes boundaries when needed, removing the redundant data storage requirement while maintaining accurate boundary identification.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a simplified copy of the boundary identification mechanism by implementing a length decode unit that replicates the boundary calculation logic. Rather than storing pre-computed endbits, the system uses the length decode unit to generate boundary information dynamically from the instruction bytes themselves, reducing cache requirements while preserving identification accuracy.

Inventive Principle:
Principle #26Copying

2Reliability

If circuitry is added to confirm and repair corrupted endbits, then the decode mechanism can handle errors, but the device complexity increases

Engineering Contradiction:
Improveendbit verification and error handlingVSAvoiddecode mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The length decode unit performs self-service by automatically verifying instruction boundaries through its own length decoding logic. When a potential boundary is identified, the unit independently verifies it by attempting to decode the instruction and checking if the length is valid. This self-verification mechanism eliminates the need for separate confirmation and repair circuitry, maintaining reliability while reducing complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback through the length decode unit's verification process. When an endbit is suspected to be corrupted, the unit uses feedback from the length decoding operation itself to detect the error and trigger recalibration. This feedback mechanism provides reliable error handling without requiring complex additional circuitry, as the verification is integrated into the normal decoding flow.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If endbits are stored and verified for each instruction, then accurate boundary identification is achieved, but the processing time increases due to verification and potential repair operations

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

Solution Approach 1:

The length decode unit performs preliminary action by pre-calculating instruction lengths and boundaries as instructions are fetched and stored in the instruction cache. This preliminary length decoding prepares the boundary information in advance, so when verification is needed, the work is already done. This eliminates the need for time-consuming verification and repair operations during the critical decoding path, maintaining both accuracy and speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7818542B2Method and apparatus for length decoding variable length instructions
Publication Date: 2010.10.19 MEDIATEK INC
  • US7818542B2 patent drawing
  • US7818542B2 patent drawing
  • US7818542B2 patent drawing

AI summary

A mechanism for superscalar decode of variable length instructions. The decode mechanism may be included within a processing unit, and may comprise a length decode unit. The length decode unit may obtain a plurality of instruction bytes. The instruction bytes may be associated with a plurality of variable length instructions, which are to be executed by the processing unit. The length decode unit may perform a length decode operation for each of the plurality of instruction bytes. For each instruction byte, the length decode unit may estimate the instruction length of a current variable length instruction associated with a current instruction byte. Furthermore, during the length decode operation, for each instruction byte, the length decode unit may estimate the start of a next variable length instruction based on the estimated instruction length of the current variable length instruction, and store a first pointer to the estimated start of the next variable length instruction.