Hybrid Serial Parallel Memory Architecture for Seamless Mode Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems face inefficiencies in transitioning between serial and parallel processing modes, particularly in memory management, leading to suboptimal performance in hybrid computing environments where both modes are required.

Innovation Solution

A computing system architecture that includes a serial processor and multiple parallel processors, enabling seamless transitions between serial and parallel processing modes by ensuring memory coherence through data flushing, prefetching, and acknowledgement mechanisms, allowing efficient execution of both serial and parallel tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional separate CPU and GPU subsystems are used, then parallel processing capability is provided, but transition between serial and parallel modes is non-trivial and requires time and resources

Engineering Contradiction:
Improveprocessing mode flexibilityVSAvoidtransition time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent merges the CPU and GPU into a single hybrid processor that can operate in both serial and parallel modes. The control unit integrates both processing capabilities, allowing seamless switching between modes without requiring separate subsystems, thereby eliminating transition overhead and resource allocation delays.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The hybrid processor dynamically switches between serial and parallel processing modes based on task requirements. The control unit adjusts the operational state of processing elements in real-time, enabling adaptive performance optimization without fixed mode assignments, thus reducing transition time and improving versatility.

Inventive Principle:
Principle #15Dynamics

2Productivity

If different cache arrangements are used in serial and parallel modes, then each mode can be optimized, but transitioning between modes requires time and resources

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a unified cache hierarchy that serves both serial and parallel processing modes. The cache memory is designed to be accessible and functional in either mode, eliminating the need for separate cache arrangements. This universal cache structure reduces memory management complexity while maintaining processing efficiency through mode-specific optimization strategies.

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

3Reliability

If data is transferred from serial memory to parallel memory modules, then memory coherence is ensured, but data transfer time is required

Engineering Contradiction:
Improvememory coherenceVSAvoiddata transfer time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements prefetching mechanisms that load data into the appropriate memory space before it is actually needed for processing. By anticipating future data requirements and pre-positioning data in parallel memory modules or serial memory, the system ensures memory coherence is already established when processing begins, eliminating data transfer delays during mode transitions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8145879B2Computer memory architecture for hybrid serial and parallel computing systems
Publication Date: 2012.03.27 XMTT
  • US8145879B2 patent drawing
  • US8145879B2 patent drawing
  • US8145879B2 patent drawing

AI summary

In one embodiment, a serial processor is configured to execute software instructions in a software program in serial. A serial memory is configured to store data for use by the serial processor in executing the software instructions in serial. A plurality of parallel processors are configured to execute software instructions in the software program in parallel. A plurality of partitioned memory modules are provided and configured to store data for use by the plurality of parallel processors in executing software instructions in parallel. Accordingly, a processor/memory structure is provided that allows serial programs to use quick local serial memories and parallel programs to use partitioned parallel memories. The system may switch between a serial mode and a parallel mode. The system may incorporate pre-fetching commands of several varieties. For example, towards switching between the serial mode and the parallel mode, the serial processor is configured to send a signal to start pre-fetching of data from the shared memory.