Memory Control Circuitry Routing Transactions by Address Range

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing apparatuses struggle to take advantage of performance benefits from different memory interfaces without increasing programming complexity, as they either execute memory access instructions uniformly across all interfaces or require separate instructions for each interface.

Innovation Solution

A data processing apparatus with memory control circuitry that routes memory transactions through different interfaces based on memory address ranges, modifying the execution timing of memory access instructions to optimize performance without needing interface-specific instructions in the instruction set.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate memory access instructions are provided for each interface, then the processor core can internally take advantage of performance benefits from different interfaces, but programming complexity significantly increases

Engineering Contradiction:
Improveperformance benefit utilizationVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism (interface selection logic and timing control circuitry) that automatically routes memory transactions to the appropriate interface based on address ranges and transaction types. This intermediary handles the complexity of interface selection and timing adjustments, allowing the processor to utilize multiple interfaces with different performance characteristics while presenting a unified, simple instruction set to programmers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes execution parameters (timing characteristics, interface selection) based on the memory address being accessed and the type of transaction required. Different address ranges are mapped to different interfaces with optimized timing parameters, allowing the same instruction to be executed with different timing characteristics depending on the target interface, thus achieving performance optimization without increasing programming complexity.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If uniform memory access instructions are used for all interfaces, then programming complexity remains low, but the processor core cannot take advantage of performance benefits from different interfaces

Engineering Contradiction:
Improveprogramming complexityVSAvoidperformance benefit utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The memory address space is segmented into different ranges, each associated with specific interfaces having different performance characteristics. The segmentation allows the system to direct transactions to high-performance interfaces for time-critical operations while using standard interfaces for less demanding operations, thereby utilizing performance benefits without requiring programmers to write different instructions for each interface type.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects which interface to use for each memory transaction based on the address range and transaction characteristics. This dynamic selection allows the processor to adaptively utilize the most appropriate interface for each operation, capturing performance benefits from high-speed interfaces when needed while maintaining simple uniform instructions for all memory access operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8819378B2Data processing apparatus and method for performing memory transactions within such a data processing apparatus
Publication Date: 2014.08.26 ARM LTD
  • US8819378B2 patent drawing
  • US8819378B2 patent drawing
  • US8819378B2 patent drawing

AI summary

A data processing apparatus has processing circuitry for executing a memory access instruction in order to generate a memory transaction comprising at least one address transfer specifying a memory address, and at least one associated data transfer specifying data to be accessed at the specified memory address. The apparatus is arranged to route each address transfer and associated data transfer via a first interface when the specified memory address is within a first memory address range, or to route each address transfer and associated data transfer via a second interface when the specified memory address is within a second memory address range and is further configured, when using the first interface, to execute the memory access instruction so as to cause each address transfer and associated data transfer to be presented at the first interface with a first relative timing.