Processor Core Spatial Array Reconfiguration
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
3Productivity
If a separate spatial array system is implemented, then high parallel processing is achieved, but device complexity and cost increase
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
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
Data Source
Figure 1
Figure 2
Figure 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.