Decoupled Crossbar for Stream Processor Data Permutation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional global crossbars in parallel processors waste power and increase execution latency by routing data even when permutation is not required, as they do not bypass unnecessary operations.
Innovation Solution
Implementing a decoupled crossbar system that determines if an instruction requires permutation, using multiple layers of N×N crossbars to perform permutations only when necessary, allowing operands to bypass the crossbar when not required, thereby reducing power consumption and latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a global crossbar is used to route data in a multi-lane pipeline, then data permutation operations can be performed, but power consumption increases and execution latency increases even when permutation is not required
Solution Approach 1:
The patent extracts the crossbar from the mandatory data path and makes it optional. By providing a bypass path that allows data to flow directly from the register file to the execution units without passing through the crossbar, the system eliminates unnecessary crossbar operations. The crossbar is only activated when permutation is actually required, reducing power consumption while maintaining permutation capability when needed.
2Adaptability or versatility
If a global crossbar is used to route data in a multi-lane pipeline, then data permutation operations can be performed, but execution latency increases even when permutation is not required
Solution Approach 1:
The crossbar is extracted from the critical data path and placed on an optional path. The bypass architecture allows data to take the direct route through the pipeline when permutation is not needed, eliminating the time penalty associated with crossbar routing. This resolves the latency issue while preserving the ability to perform permutation operations when required by the instruction.
3Adaptability or versatility
If data flows through the crossbar for every instruction, then permutation operations are always available, but power is wasted on unnecessary routing operations
Solution Approach 1:
The patent introduces dynamic routing where the data path configuration changes based on the instruction being executed. Control logic dynamically selects between the crossbar path and the bypass path based on whether permutation is required. This dynamic adaptation allows the system to maintain permutation availability when needed while avoiding unnecessary power consumption during non-permutation operations.
4Adaptability or versatility
If a global crossbar is implemented, then any lane can receive data from any other lane, but the device complexity and power consumption increase
Solution Approach 1:
The patent segments the data path into multiple routes: a crossbar path for permutation operations and a direct bypass path for non-permutation operations. This segmentation allows the crossbar to be present in the architecture for when it's needed, but not always active in the critical data path. The bypass path provides a simpler, direct route that avoids the complexity and power consumption of the crossbar when permutation is not required.
Data Source
AI summary
Systems, apparatuses, and methods for implementing a decoupled crossbar for a stream processor are disclosed. In one embodiment, a system includes at least a multi-lane execution pipeline, a vector register file, and a crossbar. The system is configured to determine if a given instruction in an instruction stream requires a permutation on data operands retrieved from the vector register file. The system conveys the data operands to the multi-lane execution pipeline on a first path which includes the crossbar responsive to determining the given instruction requires a permutation on the data operands. The crossbar then performs the necessary permutation to route the data operands to the proper processing lanes. Otherwise, the system conveys the data operands to the multi-lane execution pipeline on a second path which bypasses the crossbar responsive to determining the given instruction does not require a permutation on the input operands.


