Temporal Addressing for Transient Operand Storage in Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer processors face challenges in efficiently managing transient operands due to the limitations of general register machines, including increased complexity, entropy, and power requirements, while alternative architectures like accumulator and stack machines are less performant due to sequential execution and limited parallelism.

Innovation Solution

A computer processing system with a fixed-length queue logically organized by temporal addresses, allowing operands to be produced and consumed in a single cycle, and featuring a bypass network that routes operands directly from producers to consumers without the need for registers, thereby optimizing operand handling and reducing complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the number of registers is increased to hold more transient operands, then access speed to operands is improved, but device complexity and instruction entropy increase

Engineering Contradiction:
Improveaccess speed to operandsVSAvoiddevice complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the transient operand storage function from the general register file, creating a separate dedicated storage structure. This allows the register file to maintain a manageable size for fast access while the extracted transient storage handles the volume of temporary operands, resolving the contradiction between speed and complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the operand storage system into distinct components: a compact register file for frequently accessed operands and a separate transient operand storage structure for short-lived intermediates. This segmentation allows each component to be optimized independently, maintaining fast access while reducing overall device complexity.

Inventive Principle:
Principle #1Segmentation

2Speed

If the number of registers is increased to hold more transient operands, then access speed to operands is improved, but instruction entropy increases

Engineering Contradiction:
Improveaccess speed to operandsVSAvoidinstruction entropy
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent extracts transient operand management from the instruction encoding scheme, using a separate storage structure with implicit addressing. This removes the need to encode large register numbers in instructions, reducing instruction entropy while maintaining fast access through the dedicated transient storage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary transient operand storage structure that mediates between functional units and the register file. This intermediary handles transient operands with implicit temporal addressing, reducing the information content required in instructions while preserving fast access paths.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If accumulator or stack machine architecture is used to manage transient operands, then device complexity is reduced, but execution becomes sequential and parallelism is limited

Engineering Contradiction:
Improvedevice complexityVSAvoidexecution parallelism
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent creates a universal transient operand storage structure that serves multiple functional units simultaneously, enabling parallel access patterns. Unlike sequential accumulator or stack architectures, this structure allows multiple consumers to access different transient operands in parallel while maintaining a simple, unified design.

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

Solution Approach 2:

The patent transitions from the sequential one-dimensional access pattern of stacks and accumulators to a multi-dimensional addressing scheme that allows parallel access from multiple functional units. This dimensional change enables both reduced complexity and improved parallelism by allowing simultaneous operations on different transient operands.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9513921B2Computer processor employing temporal addressing for storage of transient operands
Publication Date: 2016.12.06 MILL COMPUTING
  • US9513921B2 patent drawing
  • US9513921B2 patent drawing
  • US9513921B2 patent drawing

AI summary

A computer processor including a plurality of storage elements logically organized as a fixed length queue referenced by logical temporal addresses. The fixed length queue operates over multiple cycles to temporarily store operands referenced by at least one instruction utilizing the logical temporal addresses. A plurality of functional units performs operations over the multiple cycles, wherein the operations produce and access operands stored in the logical fixed length queue. Operands can be added to the front of the logical fixed length queue according to the temporal order that operands are produced by the functional units, and operands can drop from the end of the logical fixed length queue as operands are added to the front of the fixed length queue. A plurality of operands produced by the plurality of functional units (possibly with different latencies in producing such operands) can be added to the logical fixed length queue in a single cycle. A plurality of operands operated on by the functional units can be accessed from the logical fixed length queue in a single cycle.