Intel Acceleration Stack for Intel® Xeon® CPU with FPGAs Core Cache Interface (CCI-P) Reference Manual

ID 683193
Date 11/04/2019
Public
Document Table of Contents

1.3.13.2. MMIO Requests

The FIU maps the AFU's MMIO address space to a 64-bit prefetchable PCIe* BAR. The AFU's MMIO mapped registers does not have read side-effects; and writes to these registers are able to tolerate write-merging.

For more information about prefetchable BAR, refer to the PCIe Specification.

MMIO requests targeted to the AFU, are sent to the AFU in the same order they were received from the PCIe* link. Similarly, MMIO read responses are returned to the PCIe* link in the same order that the AFU sends it to the CCI-P interface. In other words, the FIU does not re-order MMIO requests or responses targeted to the AFU.

The IA processor can map the PCIe* BAR as either a UC or WC memory type. Table 39 summarizes the IA’s ordering rules for UC and WC typed BAR.

For more information about uncacheable (UC) and write combining (WC) ordering rules, refer to the Intel Software Developers Manual.

Table 39.  MMIO Ordering Rules
Request Memory Attribute Payload Size Memory Ordering Comments
MMIO Write UC 4 bytes, 8 bytes, or 64 bytes Strongly ordered Common case- software behavior
WC 4 bytes, 8 bytes, or 64 bytes (requires Intel® Advanced Vector Extensions 512 ( Intel® AVX-512)) Weakly ordered Special case
MMIO Read UC 4 bytes or 8 bytes Strongly ordered Common case- software behavior
WC 4 bytes or 8 bytes Weakly ordered Special case- streaming read (MOVNTDQA) can cause wider reads. NOT supported