Digital Processor Mixed Pointer Size Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional digital processors are limited by the use of fixed-size pointers, which unnecessarily increase memory capacity and bandwidth requirements, as all pointers must be the same size regardless of the address range needed, leading to inefficient memory usage.

Innovation Solution

Implementing a digital processor capable of storing both long and short pointers of different sizes, where long pointers reference the full logical address space and short pointers reference a subset, with the processor converting between these formats as needed for efficient memory access and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed-size pointers are used, then instruction set architecture is simplified, but memory capacity and bandwidth requirements are artificially increased

Engineering Contradiction:
Improveinstruction set architecture complexityVSAvoidmemory capacity
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments pointers into different sizes (short pointers for small address spaces, long pointers for large address spaces) based on the actual address range requirements. This segmentation allows the system to use only the necessary pointer size for each memory region, avoiding the need to allocate full-size pointers throughout the entire address space, thereby reducing overall memory capacity requirements while maintaining ISA simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different pointer sizes in different memory regions. Instead of using uniform fixed-size pointers everywhere, the system uses short pointers in regions with small address spaces and long pointers only where full address range is needed. This local differentiation optimizes memory usage while keeping the instruction set architecture simple through a single load/store instruction format.

Inventive Principle:
Principle #3Local quality

2Device complexity

If fixed-size pointers are used, then pointer format is simplified, but memory bandwidth is increased

Engineering Contradiction:
Improvepointer format complexityVSAvoidmemory bandwidth
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent segments the memory address space into regions that can be accessed using different pointer sizes. By dividing the address space, the system can transfer fewer bits per pointer operation in regions where full address range is not needed, thereby reducing memory bandwidth requirements and energy consumption while maintaining simple pointer format through a unified load/store instruction set.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by using different pointer sizes in different memory regions. This allows the system to optimize memory bandwidth by transferring only the necessary number of bits for each region's address range requirements, reducing overall memory bandwidth consumption and energy usage while keeping the pointer format simple through a single instruction format.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If long pointers are used everywhere, then full address range is covered, but memory usage is increased

Engineering Contradiction:
Improveaddress range capabilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the address space and uses long pointers only in regions requiring full address range coverage. In regions with smaller address spaces, short pointers are used instead. This segmentation allows the system to maintain full adaptability where needed while significantly reducing memory usage in regions where full address range is not required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by using long pointers only in specific regions where full address range capability is needed, rather than uniformly throughout all memory. This localized application of long pointers maintains adaptability where required while minimizing overall memory usage by using shorter, more space-efficient pointers in other regions.

Inventive Principle:
Principle #3Local quality

4Quantity of substance

If short pointers are used, then memory usage is reduced, but address range capability is limited

Engineering Contradiction:
Improvememory usageVSAvoidaddress range capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent segments the memory address space and uses short pointers in regions where limited address range is sufficient. This segmentation allows the system to reduce memory usage in regions with small address spaces while maintaining the capability to use long pointers in other regions where full address range is needed, thus balancing memory efficiency with adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by using short pointers in specific regions where memory usage optimization is prioritized and address range requirements are limited. In other regions, long pointers are used to maintain full address range capability. This localized differentiation allows the system to reduce overall memory usage while preserving adaptability where required.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8656139B2Digital processor for processing long and short pointers and converting each between a common format
Publication Date: 2014.02.18 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US8656139B2 patent drawing
  • US8656139B2 patent drawing
  • US8656139B2 patent drawing

AI summary

A digital processor stores pointers of different sizes in memory. The processor, specifically, executes instructions to store a long or short pointer. Long pointers reference any address in the memory's logical address space, while short pointers merely reference any address in a subset of that space. However, short pointers are smaller in size as stored in memory than long pointers. Long pointers thus support relatively large address range capabilities, while short pointers use less memory. The processor also executes instructions to load a long or short pointer into the register file, and does so in a way that does not require the processor to distinguish between the different pointers when executing other instructions. Specifically, the processor converts long and short pointers into a common format for loading into the register file, and converts pointers in the common format back into long or short pointers for storing in the memory.