Functional Slice Processor Architecture for Metadata-Free Data Flow
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processor architectures face inefficiencies due to latency caused by instruction decoding and data retrieval from cache or memory, which hinders overall execution performance.
Innovation Solution
A processor with a functional slice architecture is introduced, where tiles are organized into slices for specific functions, allowing data and instruction flows to occur in perpendicular directions, synchronized by a compiler aware of the hardware configuration, eliminating the need for metadata and enhancing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional processor architecture is used with centralized control and sequential instruction decoding, then control logic is simpler, but execution latency increases due to instruction decoding and data retrieval operations
Solution Approach 1:
The processor is divided into multiple independent functional slices (memory slices, arithmetic logic slices, etc.), each capable of autonomous operation. This segmentation allows parallel processing of different operations simultaneously, reducing overall execution latency while distributing the complexity across independent units rather than requiring complex centralized control
Solution Approach 2:
The patent introduces a two-dimensional tile organization where data flows in one dimension and instructions flow in the orthogonal dimension. This dimensional separation enables independent data and instruction streams to proceed simultaneously without interference, eliminating the sequential decoding bottleneck and reducing execution latency
2Productivity
If data is transmitted with metadata indicating operations to be performed, then data transmission is more flexible, but transmission bandwidth is reduced and efficiency is lowered
Solution Approach 1:
Each functional slice contains its own instruction control unit that autonomously determines what operations to perform on received data based on timing information. The slices self-configure their operations without requiring external metadata tags, eliminating unnecessary data transmission overhead and maximizing bandwidth efficiency
Solution Approach 2:
The patent extracts and removes the metadata component from data transmission. By using timing information and the orthogonal instruction flow dimension, the system eliminates the need for metadata tags in data packets, thereby maximizing transmission bandwidth and efficiency
3Loss of time
If centralized instruction control is used, then control logic is more manageable, but data retrieval operations from cache or memory increase latency
Solution Approach 1:
The centralized control logic is segmented into distributed instruction control units within each functional slice. Each slice independently manages its own instruction execution and data retrieval operations, eliminating the bottleneck of centralized control while the modular architecture keeps individual control logic simple and manageable
Data Source
AI summary
A processor having a functional slice architecture is divided into a plurality of functional units (“tiles”) organized into a plurality of slices. Each slice is configured to perform specific functions within the processor, which may include memory slices (MEM) for storing operand data, and arithmetic logic slices for performing operations on received operand data. The tiles of the processor are configured to stream operand data across a first dimension, and receive instructions across a second dimension orthogonal to the first dimension. The timing of data and instruction flows are configured such that corresponding data and instructions are received at each tile with a predetermined temporal relationship, allowing operand data to be transmitted between the slices of the processor without any accompanying metadata. Instead, each slice is able to determine what operations to perform on received data based upon the timing at which the data is received


