VLIW Processor Special Header Expands Instruction Set Space

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programmable data processors face limitations in opcode space and 'code bloat' due to fixed instruction word lengths, making it difficult to implement additional data processing functions without significant changes or mode switching overhead.

Innovation Solution

A very long instruction word data processor uses a special header to decode instructions differently, allowing for extended opcode bits and variable instruction lengths within a fetch packet, enabling the inclusion of both normal and reduced-length instructions without mode switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the instruction word length is fixed at 32 bits, then the processor can maintain consistent decoding logic, but the opcode space becomes limited and cannot accommodate additional data processing functions

Engineering Contradiction:
Improveinstruction set expansionVSAvoidopcode space limitation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The instruction word is segmented into different functional parts: a header portion that identifies special instructions, and a body portion that contains the actual operation codes. This segmentation allows the header to carry extension information while the body maintains compatibility with existing decoding logic, effectively expanding opcode space without increasing overall instruction word length.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A header structure is introduced as an intermediary element between the instruction fetch mechanism and the decoding logic. The header contains extension opcode bits that mediate between the limited 32-bit instruction word and the need for expanded opcode space, allowing additional data processing functions to be defined without changing the fundamental instruction word length.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If mode switching is implemented to access extended instructions, then additional data processing functions can be accessed, but significant overhead is introduced in tracking and changing modes

Engineering Contradiction:
Improveextended instruction accessVSAvoidmode switching overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The header structure is prepared in advance within the instruction stream itself, containing all necessary extension opcode bits and decoding information. This preliminary action eliminates the need for runtime mode switching, as the decoding mode is predetermined and embedded in the instruction header, allowing immediate execution without tracking or changing processor modes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The mode switching overhead is extracted and eliminated by embedding the decoding mode information directly in the instruction header rather than relying on separate mode registers or state machines. This extraction of mode information into the instruction stream itself allows extended instructions to be accessed without introducing mode switching overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If variable length instructions are used, then code size is reduced and memory requirements decrease, but distinguishing between different instruction lengths becomes complex

Engineering Contradiction:
Improvememory storage requirementVSAvoidinstruction differentiation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

Different parts of the instruction stream are assigned different qualities: headers have a unique encoding pattern that locally identifies them, while instruction bodies maintain standard formatting. This local quality differentiation allows the decoder to easily distinguish between headers and regular instructions based on the header's unique encoding, simplifying variable length instruction handling.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The header uses a unique encoding pattern that acts as a visual marker or 'color change' to distinguish it from regular instructions. This distinctive header encoding allows the decoding logic to immediately identify and handle variable length instructions differently from standard 32-bit instructions, reducing the complexity of instruction differentiation.

Inventive Principle:
Principle #32Color changes

4Adaptability or versatility

If a special header with unique encoding is used to enable extended opcodes, then the instruction set can be expanded, but the decode hardware complexity increases

Engineering Contradiction:
Improveinstruction set spaceVSAvoiddecode hardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The decoding process is segmented into two independent stages: header decoding to identify extension opcode bits, and body decoding to execute the actual instruction. This segmentation allows each stage to be optimized independently, reducing overall decode hardware complexity while still enabling extended instruction set space through the header's unique encoding.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7673119B2VLIW optional fetch packet header extends instruction set space
Publication Date: 2010.03.02 TEXAS INSTRUMENTS INC
  • US7673119B2 patent drawing
  • US7673119B2 patent drawing
  • US7673119B2 patent drawing

AI summary

This invention is useful in a very long instruction word data processor that fetches a predetermined plural number of instructions each operation cycle. A predetermined one of these instructions is used as a special header. This special header has a unique encoding different from any normal instruction. When decoded this special header instructs decode hardware to decode this fetch packet in a special way. In one embodiment a bit field in the header signals the decode hardware whether to decode each instruction word normally or in an alternative way. The header may include extension opcode bits corresponding to each of the other instruction slots. In another embodiment another bit field signals whether to decode an instruction field as one normal length instruction or as two half-length instructions.