Crossbar Multicast Routing via Port Vector Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex computing systems with multiple components, determining how to efficiently route various types of messages through the communication fabric is challenging due to the increasing complexity and power consumption, especially with a wide variety of messages to process and growing numbers of clients on modern system on chips (SoCs) and integrated circuits (ICs).

Innovation Solution

The implementation of a communication fabric that includes crossbars, arbitration points, and port vector generation circuitry, which extracts message type and recipient type indicators from messages to determine the appropriate masks and create a port vector for routing multi-cast messages effectively across multiple ports, facilitating efficient message forwarding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional routing methods are used to handle various messages through the fabric, then message routing is achieved, but device complexity and power consumption increase with the number of components and message types

Engineering Contradiction:
Improvefabric complexityVSAvoidmessage routing capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The routing function is segmented into multiple specialized components: crossbars for spatial routing, arbitration points for traffic management, and port vector generation circuitry for intelligent port selection. Each component handles a specific aspect of message routing, dividing the complex routing task into manageable segments that reduce overall fabric complexity while maintaining versatile routing capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Port vector generation circuitry acts as an intermediary between the message source and the communication fabric. It generates port vectors that specify the correct ports for message forwarding, serving as a mediator that translates high-level routing requirements into low-level port selection signals, thereby simplifying the routing process and reducing power consumption

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If more components and clients are added to the system, then system functionality increases, but power consumption and routing complexity increase

Engineering Contradiction:
Improvesystem functionalityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

Port vectors are generated in advance and stored for different message types and recipient types. When a message needs to be routed, the pre-generated port vector is simply retrieved and applied, rather than performing complex routing calculations in real-time. This preliminary action significantly reduces the computational power required during actual message transmission, allowing the system to scale with more components without proportional increases in power consumption

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes parameters by using different message type indicators and recipient type indicators to select appropriate pre-generated port vectors. Instead of using a fixed routing method, the system dynamically selects routing parameters based on the specific message being transmitted, enabling efficient power usage across diverse message types and system configurations

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12167102B2Multicast in the probe channel
Publication Date: 2024.12.10 ADVANCED MICRO DEVICES INC
  • US12167102B2 patent drawing
  • US12167102B2 patent drawing
  • US12167102B2 patent drawing

AI summary

Systems, apparatuses, and methods for processing multi-cast messages are disclosed. A system includes at least one or more processing units, one or more memory controllers, and a communication fabric coupled to the processing unit(s) and the memory controller(s). The communication fabric includes a plurality of crossbars which connect various agents within the system. When a multi-cast message is received by a crossbar, the crossbar extracts a message type indicator and a recipient type indicator from the message. The crossbar uses the message type indicator to determine which set of masks to lookup using the recipient type indicator. Then, the crossbar determines which one or more masks to extract from the selected set of masks based on values of the recipient type indicator. The crossbar combines the one or more masks with a multi-cast route to create a port vector for determining on which ports to forward the multi-cast message.