Memory Select Register for Operand Mapping in Subroutines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processors face challenges in supporting generic subroutines that can access operands from any of multiple local memories without incurring expensive data movement or requiring multiple subroutine copies, due to the complexity of managing multiple local memories in application-specific processors.

Innovation Solution

The processor employs a memory select register that maps virtual memory select values to physical memory select values, allowing subroutines to operate on operands in any of the data memories by updating the memory select register during subroutine calls and returns, and using a memory control field to bypass or use the memory select mapping as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple local memories are used to store input data, then data storage capacity and flexibility are improved, but the complexity of managing operand mapping in subroutines increases

Engineering Contradiction:
Improvedata storage capacityVSAvoidoperand mapping complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a memory select register as an intermediary component that maps virtual memory select values to physical memory select values. This register acts as a mediator between the instruction stream and the multiple local memories, allowing subroutines to access operands from any local memory without complex mapping logic in the subroutine code itself. The memory select register translates generic memory access requests into specific physical memory selections, thereby reducing operand mapping complexity while maintaining support for multiple local memories.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If data is stored in different local memories for different calling programs, then data organization flexibility is improved, but data movement cost increases

Engineering Contradiction:
Improvedata organization flexibilityVSAvoiddata movement cost
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent creates a universal subroutine interface that can operate on data from any local memory without requiring data movement. The memory select register enables a single subroutine to be called with arguments in different local memories by dynamically updating the register mapping before subroutine execution. This eliminates the need for multiple subroutine copies or data movement between memories, as the same subroutine can adapt to different data locations through the memory select register configuration.

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

3Adaptability or versatility

If multiple copies of subroutines are created for different memory configurations, then subroutine functionality is improved, but code size and maintenance complexity increase

Engineering Contradiction:
Improvesubroutine compatibilityVSAvoidcode size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory selection through the memory select register, which can be updated at runtime based on the calling context. Instead of having static, hard-coded memory mappings in multiple subroutine copies, the system uses a single subroutine that dynamically adapts to different memory configurations through register updates. This dynamic approach allows one subroutine to serve multiple memory configurations, reducing code size and simplifying maintenance while maintaining full compatibility across different memory arrangements.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11886877B1Memory select register to simplify operand mapping in subroutines
Publication Date: 2024.01.30 APPLE INC
  • US11886877B1 patent drawing
  • US11886877B1 patent drawing
  • US11886877B1 patent drawing

AI summary

A processor may include a plurality of data memories storing operands that may be operated upon by the processor. Load/store operations may specify a memory location in one of the data memories to be accessed using a memory select value that selects the data memory and an address within the selected data memory. The memory select values may be mapped from virtual memory select values associated with the load/store operations to physical memory select values that may be used to access the data memory.