Bulk Register Access Circuit Reducing Processor Fabric Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor communication protocols are inefficient due to high overhead in accessing multiple registers, especially when registers are not located at incremental addresses, leading to reduced fabric efficiency and increased latency in operations like power state transitions.

Innovation Solution

The introduction of bulk read and write messages that allow multiple registers to be accessed with a single message, using a compacted address format and a single header, reducing overhead and optimizing bus utilization by enabling efficient communication of register context between agents.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If individual register access packets are used for each register read/write operation, then register access functionality is provided, but packet-based fabric overhead increases significantly reducing fabric efficiency

Engineering Contradiction:
Improvefabric efficiencyVSAvoidoverhead consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent combines multiple individual register access packets into a single bulk access packet that can read or write multiple registers simultaneously. This merging approach consolidates what would otherwise be multiple separate transactions with individual headers into one unified transaction, thereby reducing the total overhead consumption and improving fabric efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The bulk access packet structure is designed to serve multiple register access operations within a single packet. The packet can accommodate multiple register addresses and data transfers, making it a universal solution that replaces multiple specialized individual access packets with one multi-functional packet.

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

2Loss of time

If registers are accessed individually through packet-based communication, then register read/write operations are enabled, but latency increases for operations like power state transitions

Engineering Contradiction:
Improveaccess latencyVSAvoidpower state transition speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

By merging multiple register accesses into a single bulk packet operation, the patent reduces the cumulative latency that would result from sequential individual packet transmissions. This consolidation enables faster completion of time-sensitive operations such as power state transitions by performing multiple register reads or writes in parallel rather than sequentially.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If standard packet headers are used for each register access, then routing and packet identification is provided, but communication overhead increases

Engineering Contradiction:
Improverouting capabilityVSAvoidheader information volume
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent segments the packet structure into a single shared header portion and multiple data portions. The header is reused for all register accesses within the bulk packet, eliminating the need for duplicate headers for each register. This segmentation maintains routing and identification capabilities while significantly reducing the total volume of header information transmitted.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3722963B1System, apparatus and method for bulk register accesses in a processor
Publication Date: 2022.04.27 INTEL CORP
  • EP3722963B1 patent drawingFigure 1
  • EP3722963B1 patent drawingFigure 2
  • EP3722963B1 patent drawingFigure 3

AI summary

In one embodiment, an apparatus includes a bulk write circuit to generate a bulk write message to send to a destination agent to cause the destination agent to write data comprising register contents into a plurality of registers, at least some of the plurality of registers comprising non-consecutive registers. The bulk write message may include a first message header, a first chunk header including an address of a first register of a first subset of the plurality of registers, and a first payload portion having the register contents for the first subset of the plurality of registers. Other embodiments are described and claimed.