Processor Core Spatial Array Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing programmable processor cores face inefficiencies in communication paths, particularly in executing repetitive processes, as conventional bypass networks are not optimized for parallel processing, limiting performance and power efficiency.

Innovation Solution

Incorporating a shared bypass network and a lightweight switched network that allows functional units to dynamically reconfigure between general and spatial array configurations, enabling efficient parallel processing by embedding control information in instructions and using a specialized compiler to optimize code execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a conventional bypass network is used for functional unit communication, then the system maintains simplicity and ease of operation, but processing efficiency and parallel performance deteriorate

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidnetwork complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically reconfigures functional units between general-purpose mode and spatial array mode based on runtime requirements. Control bits in instruction blocks enable functional units to toggle between operating configurations, allowing the same hardware to adapt its communication topology for optimal performance in different execution contexts

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The dual network architecture enables functional units to serve multiple purposes: they operate as general-purpose units using the bypass network for typical instruction execution, and reconfigure as spatial array elements using the switched network for parallel processing applications, eliminating the need for separate dedicated spatial array hardware

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

2Productivity

If functional units are reconfigured as a spatial array for parallel processing, then processing efficiency improves, but the system requires additional control mechanisms increasing complexity

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The control mechanisms for spatial array operation are merged into the existing instruction block structure. Control bits are embedded within standard instruction formats, and the switched network utilizes the same control signal infrastructure as the bypass network, allowing spatial array functionality to be managed through existing control pathways without requiring entirely separate control hardware

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The compiler performs preliminary analysis during code generation to identify loops and computational patterns suitable for spatial array execution. Control information and static execution schedules are embedded into instruction blocks during compilation, enabling runtime reconfiguration without requiring complex dynamic decision-making logic in the hardware

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a separate spatial array system is implemented, then high parallel processing is achieved, but device complexity and cost increase

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Existing functional units in programmable processor cores are made multi-functional by enabling them to operate both as general-purpose processing elements and as spatial array elements. The same physical units that execute conventional instructions can be reconfigured to form parallel processing arrays, eliminating the need for separate dedicated spatial array hardware and reducing overall system complexity

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

Solution Approach 2:

The system provides dynamic reconfiguration capability where functional units can switch between general-purpose and spatial array modes at runtime based on the execution requirements of different instruction blocks. This dynamic adaptability allows a single unified architecture to deliver both conventional processing and parallel processing capabilities without requiring separate fixed architectures

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3005139B1Incorporating a spatial array into one or more programmable processor cores
Publication Date: 2019.03.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3005139B1 patent drawingFigure 1
  • EP3005139B1 patent drawingFigure 2
  • EP3005139B1 patent drawingFigure 3

AI summary

Functional units disposed in one or more processor cores are communicatively coupled using both a shared bypass network and a switched network. The shared bypass network enables the functional units to be operated conventionally for general processing while the switched network enables specialized processing in which the functional units are configured as a spatial array. In the spatial array configuration, operands produced by one functional unit can only be sent to a subset of functional units to which dependent instructions have been mapped a priori. The functional units may be dynamically reconfigured at runtime to toggle between operating in the general configuration and operating as the spatial array. Information to control the toggling between operating configurations may be provided in instructions received by the functional units.