Compact Storage of Embedded Constants via Bit Field Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face inefficiencies in storing and managing variable-sized and variable-number embedded constants, which can lead to increased space requirements and reduced performance in handling instructions with immediate and displacement values.

Innovation Solution

A microarchitecture that constructs and stores constant operands by referencing bit fields within a window of operations, allowing for compact storage and efficient representation of constants through compression and packing techniques, enabling flexible handling of both small and large constant values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed-size embedded constants are stored with operations, then storage structure is simple, but space requirement increases significantly

Engineering Contradiction:
Improvestorage structureVSAvoidstorage space
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments the constant storage into two parts: a compact index field in each operation (pointing to constant pools) and the actual constant data stored separately in pools. This segmentation allows operations to reference constants without embedding full fixed-size constants, reducing per-operation storage space while maintaining simple operation structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The constant pools serve multiple operations simultaneously through indexing. Instead of each operation having its own dedicated constant storage, multiple operations share common constant data through the index mechanism, achieving space efficiency while maintaining access functionality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If variable-sized constants are stored with operations, then storage efficiency improves, but management complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmanagement complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces constant pools as intermediary structures between operations and actual constant data. The pools are managed by a constant manager that handles allocation, deallocation, and indexing. This intermediary layer abstracts the complexity of variable-sized constant management from individual operations, providing uniform access through fixed-size indices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the parameter representation from direct constant values to indices pointing to constant pools. This parameter transformation allows variable-sized constants to be referenced using fixed-size indices, simplifying the management interface while maintaining storage efficiency.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If opcode fields are expanded to accommodate large constants, then constant representation capability improves, but instruction processing performance decreases

Engineering Contradiction:
Improveconstant representation capabilityVSAvoidinstruction processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the constant data from the operation fields and stores it separately in constant pools. Only the index (pointer) to the constant pool is embedded in the operation, keeping the operation structure compact and unchanged. This extraction allows large constants to be represented without expanding opcode fields, as the full constant data is retrieved from external pools during execution.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7389408B1Microarchitecture for compact storage of embedded constants
Publication Date: 2008.06.17 ORACLE AMERICAN INC
  • US7389408B1 patent drawing
  • US7389408B1 patent drawing
  • US7389408B1 patent drawing

AI summary

An instruction stream having variable length instructions with embedded constants (e.g. immediate values and displacements) is translated into a stream of operations and a corresponding stream of bit fields, enabling advantageous compact storage of the embedded constants. The operations and the compact constants are optionally stored in entries in a trace cache and/or processed by execution pipelines. The compact constants are optionally formulated as a small constant field, a pointer, or both. The pointer of a particular one of the operations optionally references one of the bit fields within a window of the operations associated with the particular operation. A full-sized constant is constructed from one or more contiguous ones of the bit fields, starting with the referenced bit field, by unpacking and uncompressing information from the contiguous bit fields. An operation optionally includes a plurality of small constant fields and pointers to specify a respective plurality of constants.