Shaped Register File Reads via Crossbar Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional register files in processors require multiple clock cycles to handle variable-sized data reads, such as 64-bit or 128-bit operands, due to their 32-bit slot configuration, leading to inefficiency and increased complexity when implementing larger slots to address this issue.

Innovation Solution

A method for performing shaped access of a register file that configures a crossbar to allow threads to access variable-sized data directly, using a caching system to manage operands and reduce bandwidth between the register file and operand collector, enabling concurrent caching and selection of storage elements for efficient data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional register files with 32-bit slots are used, then the register file structure is simple and cost-effective, but multiple clock cycles are required to read variable-sized data (64-bit or 128-bit operands)

Engineering Contradiction:
Improvedata read speedVSAvoidclock cycles required
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The register file is divided into multiple 32-bit slots, where each slot can be independently accessed. For variable-sized data reads, the system selectively activates only the necessary slots (e.g., 2 slots for 64-bit data, 4 slots for 128-bit data) through the crossbar switch, avoiding the need to read unnecessary data and reducing the number of clock cycles required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The crossbar switch dynamically reconfigures the connection between register slots and output channels based on the size of the data being read. This dynamic switching allows the system to adapt the data path configuration in real-time, enabling efficient variable-sized data reads without requiring multiple fixed clock cycles.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If larger register slots (64-bit or 128-bit) are implemented, then variable-sized data reads can be performed in a single clock cycle, but the register file cost and overall processor complexity increase significantly

Engineering Contradiction:
Improveclock cycles requiredVSAvoidregister file structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Instead of implementing large 64-bit or 128-bit register slots, the system segments the register file into multiple 32-bit slots. The crossbar switch then combines the necessary segments dynamically based on the data size requirement, achieving the same functional result with simpler, smaller storage elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The 32-bit register slots serve multiple functions: they can individually store 32-bit operands, or be combined in pairs or quadruples to form 64-bit or 128-bit operands respectively. This multi-functionality allows the same physical register structure to handle variable-sized data without requiring dedicated large slots for each data size.

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

3Device complexity

If multiple 32-bit values are read and transposed to form 64-bit or 128-bit values, then the register file can maintain simple 32-bit slots, but the transposition process requires several clock cycles

Engineering Contradiction:
Improveregister file slot sizeVSAvoiddata preparation speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The crossbar switch provides dynamic routing that allows multiple 32-bit register slots to be simultaneously connected to the output channel in a single clock cycle. This eliminates the sequential transposition process by enabling parallel data aggregation, where the required number of 32-bit values are fetched and combined in one operation rather than requiring multiple sequential clock cycles.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9626191B2Shaped register file reads
Publication Date: 2017.04.18 NVIDIA CORP
  • US9626191B2 patent drawing
  • US9626191B2 patent drawing
  • US9626191B2 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for performing a shaped access of a register file that includes a set of N registers, wherein N is greater than or equal to two. The technique involves, for at least one thread included in a group of threads, receiving a request to access a first amount of data from each register in the set of N registers, and configuring a crossbar to allow the at least one thread to access the first amount of data from each register in the set of N registers.