Register File Virtualization via Shadow Buffer Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current register file designs in processors face limitations due to micro-architectural constraints such as size and latency issues in data transfers between the register file and the SRAM backing store, which hinder performance, especially in multithreaded environments and large working sets.

Innovation Solution

The implementation of register file virtualization through hardware extensions that enable parallel streaming of data between SRAM and shadow buffers, allowing for dynamic partitioning of register file entries into domains with selectable modes for latching and transport, effectively increasing the functional capacity of the register file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the register file size is increased to accommodate larger working sets, then the functional capacity is improved, but the area and complexity of the register file increases

Engineering Contradiction:
Improveregister file capacityVSAvoidregister file structure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The register file is segmented into multiple domains (e.g., domain 0 and domain 1) that can be independently accessed. Each domain has its own read and write ports, allowing parallel operations. This segmentation enables the register file to function as if it has larger capacity by distributing data across domains, while each physical domain remains manageable in size and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Domain identification logic and multiplexing circuitry are introduced as intermediaries between the processor cores and the physical register file domains. These intermediaries translate virtual register file addresses into physical domain addresses, enabling the system to present a larger logical register file capacity without proportionally increasing the physical structure complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If separate read and write ports are implemented to improve performance, then the access bandwidth is increased, but the device complexity increases

Engineering Contradiction:
Improveregister file access bandwidthVSAvoidregister file port structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The register file is divided into multiple domains, each with dedicated read and write ports. This segmentation allows multiple simultaneous read and write operations to occur in parallel across different domains, significantly increasing the overall access bandwidth. The complexity is distributed across domains rather than concentrated in a single complex port structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects which domain to access based on the domain identification logic. This dynamic domain selection enables flexible routing of read and write operations to appropriate domains, optimizing performance while managing complexity through adaptive control rather than static complex interconnections.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If the register file capacity is increased to support multithreaded environments, then the working set capacity is improved, but the access latency increases

Engineering Contradiction:
Improveworking set capacityVSAvoiddata transfer latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

By segmenting the register file into multiple domains with independent ports, the system can service multiple threads simultaneously in different domains. This parallelism across domains reduces the effective access latency for multithreaded workloads, as threads can access data from different domains at the same time rather than sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The domain identification logic pre-determines which domain contains the required data based on the register file address. This preliminary identification allows the system to directly route to the correct domain without sequential searching or arbitration delays, reducing access latency while supporting large working sets across multiple domains.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230195388A1Register file virtualization : applications and methods
Publication Date: 2023.06.22 INTEL CORP
  • US20230195388A1 patent drawing
  • US20230195388A1 patent drawing
  • US20230195388A1 patent drawing

AI summary

Methods and apparatus relating to register file virtualization techniques are described. In an embodiment, a register file includes a plurality of register file cells. Each of the register file cells includes a register file entry and a shadow buffer. Logic circuitry causes storage of input data to the shadow buffer, while data stored in the register file entry is accessible to perform one or more operations. Other embodiments are also disclosed and claimed.