Memory Architecture for SIMD Matrix Transposition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory architectures face inefficiencies due to disparities in microprocessor and memory operating speeds, leading to stalls and slowed system performance, particularly in implementing algorithms like matrix transposition and scatter/gather operations, which are costly and complex in advanced SIMD devices.

Innovation Solution

A memory architecture comprising a basic SIMD device with a single bank and an advanced SIMD device with multiple banks, coupled through a communication facility, allowing for efficient scatter/gather operations and matrix transposition with reduced silicon area and power consumption by using a shared address space and pipelining.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If advanced SIMD devices with multiple memory banks are used to support scatter/gather operations, then the capability to perform parallel operations and algorithms like matrix transposition is improved, but the silicon area and power consumption increase substantially

Engineering Contradiction:
Improvecapability to perform scatter/gather operationsVSAvoidsilicon area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The memory system is segmented into multiple banks (first memory bank, second memory bank, third memory bank) that can be independently accessed. This segmentation enables parallel read/write operations to different banks simultaneously, supporting scatter/gather operations without requiring a single large complex memory structure, thereby reducing overall silicon area while maintaining functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory architecture provides multi-functionality by supporting both sequential access modes (for basic SIMD operations) and random access modes (for advanced SIMD scatter/gather operations) through a unified interface. The same memory banks serve multiple purposes: they can be accessed sequentially for simple data loading or randomly for complex algorithms, eliminating the need for separate specialized memory structures.

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

2Adaptability or versatility

If advanced SIMD devices with multiple memory banks are used to support scatter/gather operations, then the capability to perform parallel operations and algorithms like matrix transposition is improved, but the power consumption increases substantially

Engineering Contradiction:
Improvecapability to perform scatter/gather operationsVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The memory system is segmented into multiple banks (first memory bank, second memory bank, third memory bank) that can be independently accessed. This segmentation enables parallel read/write operations to different banks simultaneously, supporting scatter/gather operations without requiring a single large complex memory structure, thereby reducing overall silicon area while maintaining functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory architecture provides multi-functionality by supporting both sequential access modes (for basic SIMD operations) and random access modes (for advanced SIMD scatter/gather operations) through a unified interface. The same memory banks serve multiple purposes: they can be accessed sequentially for simple data loading or randomly for complex algorithms, eliminating the need for separate specialized memory structures.

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

3Area of stationary object

If basic SIMD devices with single bank memory are used, then the silicon area and power consumption are reduced, but the capability to perform parallel operations and algorithms like matrix transposition is limited

Engineering Contradiction:
Improvesilicon areaVSAvoidcapability to perform parallel operations
Core Design Contradiction:
Area of stationary objectVSAdaptability or versatility

Solution Approach 1:

The memory system is segmented into multiple banks (first memory bank, second memory bank, third memory bank) that can be independently accessed. This segmentation enables parallel read/write operations to different banks simultaneously, supporting scatter/gather operations without requiring a single large complex memory structure, thereby reducing overall silicon area while maintaining functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory architecture provides multi-functionality by supporting both sequential access modes (for basic SIMD operations) and random access modes (for advanced SIMD scatter/gather operations) through a unified interface. The same memory banks serve multiple purposes: they can be accessed sequentially for simple data loading or randomly for complex algorithms, eliminating the need for separate specialized memory structures.

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

4Speed

If memory speed is increased to match microprocessor speed, then the disparity between microprocessor and memory operating speed is reduced, but the complexity and cost of memory architecture increases

Engineering Contradiction:
Improvememory operating speedVSAvoidmemory architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory system is segmented into multiple banks (first memory bank, second memory bank, third memory bank) that can be independently accessed. This segmentation enables parallel read/write operations to different banks simultaneously, supporting scatter/gather operations without requiring a single large complex memory structure, thereby reducing overall silicon area while maintaining functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory architecture enables continuous operation by allowing the microprocessor to initiate multiple memory operations in parallel across different banks. While one bank is being read, another can be written to, eliminating idle cycles and maintaining continuous useful action, thereby achieving high effective throughput without requiring excessively fast single-bank memory.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8135897B2Memory architecture
Publication Date: 2012.03.13 ST WIRELESS
  • US8135897B2 patent drawing
  • US8135897B2 patent drawing
  • US8135897B2 patent drawing

AI summary

A memory architecture is presented. The memory architecture comprises a first memory and a second memory. The first memory has at least a bank with a first width addressable by a single address. The second memory has a plurality of banks of a second width, said banks being addressable by components of an address vector. The second width is at most half of the first width. The first memory and the second memory are coupled selectively and said first memory and second memory are addressable by an address space. The invention further provides a method for transposing a matrix using the memory architecture comprising following steps. In the first step the matrix elements are moved from the first memory to the second memory. In the second step a set of elements arranged along a warped diagonal of the matrix is loaded into a register. In the fourth step the set of elements stored in the register are rotated until the element originating from the first row of the matrix is in a first location of the register. In the fifth step the rotated set of elements are stored in the second memory to obtain a transposed warped diagonal. The second to fifth steps are repeated with the subsequent warp diagonals until matrix transposition is complete.