Speculative Memory Move via Cache State Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In RISC processor architectures, memory moves consume architected registers for an extended duration, leading to inefficiencies and decreased performance due to the need for load-store instruction pairs, which limits the availability of these scarce resources for other instructions.

Innovation Solution

Implementing copy and paste functionality, where a lower-level cache allocates state machines to service copy-type and paste-type requests, allowing speculative reading and writing of data granules, and using barrier requests to order memory access requests, thereby reducing the pressure on architected registers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load-store instruction pairs are used to perform memory moves in RISC architecture, then data can be moved between memory locations, but architected registers are occupied for extended durations reducing availability for other instructions

Engineering Contradiction:
Improveprocessor throughputVSAvoidregister availability
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory move operation into multiple granule-sized chunks, processing them in parallel through multiple state machines. This allows the memory move to be divided into independent units that can be handled concurrently, reducing the time each register is occupied and improving overall throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by allocating multiple state machines (first state machine, second state machine, third state machine) to handle different granules simultaneously. This multi-dimensional approach allows concurrent processing of multiple memory granules, effectively increasing processor productivity without proportionally increasing register occupation time.

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

2Productivity

If multiple state machines are allocated to service copy-type and paste-type requests speculatively, then memory move throughput is improved, but cache complexity increases

Engineering Contradiction:
Improvememory move throughputVSAvoidcache structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements speculative execution by allocating state machines and buffers in advance before the actual memory move is confirmed. The lower level cache speculatively services copy-type and paste-type requests by pre-allocating resources, and only commits the operation if validation succeeds. This preliminary action improves throughput by avoiding sequential processing while managing complexity through controlled speculation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces non-architected buffers as intermediary storage between the lower level cache and the destination memory location. These buffers temporarily hold granules during the speculative memory move operation, acting as mediators that decouple the cache complexity from the register pressure while enabling parallel processing through multiple state machines.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If barrier requests are processed to ensure ordering of memory accesses, then memory consistency is maintained, but processing delay increases

Engineering Contradiction:
Improvememory orderingVSAvoidbarrier processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic barrier handling by allowing memory moves to proceed speculatively through multiple state machines while maintaining the ability to enforce ordering when barriers are encountered. The system dynamically adjusts between speculative parallel execution and ordered sequential processing based on barrier presence, optimizing both reliability and time efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10042580B2Speculatively performing memory move requests with respect to a barrier
Publication Date: 2018.08.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10042580B2 patent drawing
  • US10042580B2 patent drawing
  • US10042580B2 patent drawing

AI summary

A lower level cache receives, from a processor core, a plurality of copy-type requests and a plurality of paste-type requests that together indicate a memory move to be performed, as well as a barrier request that requests ordering of memory access requests prior to and after the barrier request. The barrier request precedes a copy-type request and a paste-type request of the memory move in program order. Prior to completion of processing of the barrier request, the lower level cache allocates first and second state machines to service the copy-type and paste-type requests. The first state machine speculatively reads a data granule identified by a source real address of the copy-type request into a non-architected buffer. After processing of the barrier request is complete, the second state machine writes the data granule from the non-architected buffer to a storage location identified by a destination real address of the paste-type request.