Vector Processor Memory Buffer Switch for Coherent SIMD Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current vector processing systems face challenges in efficiently executing computationally intensive Single Instruction Multiple Data (SIMD) codes due to limitations in memory coherence and synchronization among vector processor lanes, leading to potential memory conflicts and reduced performance.

Innovation Solution

A Vector Processing System (VPS) is implemented with a System-On-a-Chip (SOC) technique, featuring a vector processor that operates in conjunction with scalar processors, utilizing a Memory Buffer Switch (MBS) to manage memory transactions and ensure coherent memory access across multiple lanes, while employing synchronization instructions to guarantee program correctness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple vector processor lanes operate independently to execute SIMD codes, then processing throughput is improved, but memory coherence and synchronization deteriorate leading to memory conflicts

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory coherence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A Memory Buffer Switch (MBS) is introduced as an intermediary component between the vector processor lanes and the memory subsystem. The MBS manages memory access requests from multiple lanes, ensuring coherent memory operations by buffering and coordinating accesses to prevent conflicts while allowing parallel processing to proceed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory access management function is segmented into separate buffer manager components that handle different memory operations independently. This allows the system to maintain coherence by managing read and write operations separately while still enabling parallel execution across multiple lanes.

Inventive Principle:
Principle #1Segmentation

2Speed

If memory access is optimized for performance, then processing speed is improved, but memory conflicts increase reducing reliability

Engineering Contradiction:
Improvememory access speedVSAvoidmemory conflict freedom
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The Memory Buffer Switch performs preliminary buffering of memory requests before they reach the memory subsystem. By preparing and coordinating access requests in advance, the MBS can optimize memory access patterns while preventing conflicts through pre-established synchronization mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the Memory Buffer Switch monitors memory access patterns and adjusts buffering strategies accordingly. This allows the system to optimize access speed by learning from previous operations while maintaining reliability through adaptive conflict prevention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7543119B2Vector processor
Publication Date: 2009.06.02 HESSEL RICHARD
  • US7543119B2 patent drawing
  • US7543119B2 patent drawing
  • US7543119B2 patent drawing

AI summary

A vector processing system provides high performance vector processing using a System-On-a-Chip (SOC) implementation technique. One or more scalar processors (or cores) operate in conjunction with a vector processor, and the processors collectively share access to a plurality of memory interfaces coupled to Dynamic Random Access read/write Memories (DRAMs). In typical embodiments the vector processor operates as a slave to the scalar processors, executing computationally intensive Single Instruction Multiple Data (SIMD) codes in response to commands received from the scalar processors. The vector processor implements a vector processing Instruction Set Architecture (ISA) including machine state, instruction set, exception model, and memory model.