Developer Guide

  • 2021.2
  • 06/11/2021
  • Public
Contents

Data Streams Supported

The data streams optimizer tunes the platform to meet specified requirements for the following data streams. This table provides a short description of each stream and links to more information in subsequent sections.
Data Stream
Description
A PCIe device is reading data from a memory buffer.
A PCIe device is writing data to a memory buffer.
A processor core is reading data from a PCIe endpoint.
A processor core responds to a message signaled interrupt (MSI) generated by a PCIe endpoint. In this guide, the term
message signaled interrupt
or
MSI
is used generically to cover both MSI and MSI-X.
A processor core is writing data to a memory-mapped I/O (MMIO) space region on a PCIe device.

PCIe from Memory (Reads)

The PCIe-from-memory stream refers to when a PCIe endpoint issues a read request to memory and a completion is generated back to the endpoint once the requested data has been retrieved. The latency of this stream is measured from the time when a PCIe read request is issued on the PCIe link targeting a data buffer in memory to when the PCIe completion with data is sent on the PCIe link.

PCIe to Memory (Writes)

The PCIe-to-memory stream refers to when a PCIe posted write with data is issued by a PCIe endpoint to when it arrives at memory. The PCIe-to-memory stream latency is estimated to be equivalent to half of the PCIe-from-memory stream latency.

Core from PCIe (MMIO Reads)

The core-from-PCIe stream for memory-mapped I/O (MMIO) reads refers to when the core generates a read request to the PCIe endpoint’s MMIO address space and then a completion with requested data is sent back to the core. The latency of this stream is measured from the time it takes the processor core to perform a load from the MMIO address space on a PCIe endpoint to the time at which the core receives a completion with the requested data. The latency depends on the overhead from the endpoint. This overhead, or turnaround time of the endpoint, is the time it takes for an inbound MMIO read request to be serviced by the endpoint and then returned to the PCIe link. Internal logic in the endpoint contributes to how quickly read request completion is returned to the PCIe link. When optimizing for the core-from-PCIe stream latency, the turnaround time of the endpoint should be comprehended.

Core from PCIe (PCIe MSI)

The core-from-PCIe stream for PCIe message-signaled interrupts (MSIs) refers to MSIs generated by a PCIe endpoint and serviced by the processor core via the interrupt service routine (ISR). The latency of this stream begins when the interrupt is triggered and ends when the endpoint is notified of the ISR completing execution.
In this guide, the term
message signaled interrupt
or
MSI
is used generically to cover both MSI and MSI-X.

Core to PCIe (MMIO Writes)

The core-to-PCIe stream refers to when a processor core generates a posted write request to the PCIe endpoint’s MMIO address space. The latency of this stream is estimated to be equivalent to half the core-from-PCIe (MMIO reads) stream latency.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.