ARM CPU Core SME Implementation via SVE Reuse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current implementations of ARM's Scalable Matrix Extensions (SME) instruction set require a separate SME accelerator, which is inefficient due to the need for replicating SSVE instruction hardware and additional components like load-store units and cache hierarchies.

Innovation Solution

The solution involves integrating an outer product engine and an accumulator array directly into the ARM CPU core, reusing existing SVE hardware to execute SME instructions, and employing temporal SIMD processing to reduce memory bandwidth requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a separate SME accelerator is used to process SME instructions, then matrix operation capabilities are provided, but device complexity increases due to replication of SSVE instruction hardware and additional components

Engineering Contradiction:
Improvematrix operation capabilityVSAvoidhardware replication
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the SME outer product engine functionality directly into the existing SVE vector processing pipeline, eliminating the need for a separate SME accelerator. The outer product engine shares the same vector register file, load-store unit, and cache hierarchy as the SVE unit, thereby providing matrix operation capabilities without duplicating hardware components.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The SVE vector processing unit is designed to perform multiple functions by interpreting specific instruction patterns as outer product operations. The same vector processing hardware that executes general vector instructions can also execute SME matrix multiplication instructions by detecting the outer product instruction pattern and routing it through the appropriate computational path within the unified pipeline.

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

2Productivity

If a separate SME accelerator with dedicated load-store units and cache hierarchy is implemented, then matrix operation performance is improved, but power consumption increases

Engineering Contradiction:
Improvematrix operation performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent combines the memory access subsystems of the SME and SVE units into a single shared infrastructure. The unified load-store unit and cache hierarchy serve both general vector operations and matrix multiplication operations, eliminating redundant memory controllers, cache memory, and interconnect structures that would otherwise be required in a separate accelerator.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The existing SVE memory subsystem is designed to handle both scalar and vector memory operations, and is extended to support the specific memory access patterns required by matrix multiplication. The same memory interfaces and cache structures that serve general-purpose computing are utilized for matrix operations, thereby avoiding additional power consumption from dedicated memory subsystems.

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

3Device complexity

If outer product engine is integrated into ARM CPU core reusing SVE hardware, then device complexity is reduced, but processing capability for matrix operations must be maintained

Engineering Contradiction:
Improvehardware structureVSAvoidmatrix operation capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic instruction pattern recognition within the SVE pipeline to identify outer product operations. When the decoder detects an outer product instruction, the system dynamically reconfigures the execution pipeline to perform matrix multiplication using the existing vector processing units, thereby maintaining matrix operation capability without adding dedicated hardware structures.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of the existing SVE hardware to support matrix operations. By modifying the instruction interpretation logic and data flow patterns within the unified pipeline, the same physical hardware can switch between general vector processing and specialized matrix multiplication modes, maintaining full matrix operation capability through parameter reconfiguration rather than structural modification.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250117220A1In-core implementation of advanced reduced instruction set computer machine (ARM) scalable matrix extensions (SME) instruction set
Publication Date: 2025.04.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250117220A1 patent drawing
  • US20250117220A1 patent drawing
  • US20250117220A1 patent drawing

AI summary

The present disclosure relates to systems and methods that add an outer product engine and an accumulator array to implement Advanced Reduced Instruction Set Computer Machine (ARM)'s scalable matrix extensions (SME) instruction set in an ARM central processing unit (CPU) core. The systems and methods reuse the existing SVE hardware already present in the ARM CPU core for executing the SME instruction set. The systems and methods of the present disclosure use temporal single-instruction multiple data (SIMD) processing an instruction over multiple cycles to reduce memory bandwidth needed in the ARM CPU core to process the SME instruction set.