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.12.1. Upstream Requests

Table 30.  Protocol Flow for Upstream Request from AFU to FIUThe Tx Data column identifies whether the request expects a Tx Data payload. The Rx Data column identifies whether the response returns an Rx Data payload.
Type Tx Request Tx Data Rx Response Rx Data
Memory Write WrLine_I Yes WrLine No
WrLine_M
WrPush_I
Memory Read RdLine_I No RdLine Yes
RdLine_S
Special Messages WrFence No WrFence No
Interrupt No Interrupt No
Table 31.  Protocol Flow for Upstream Request from AFU to FIU
  • WrLine_I: Requires special handling, because it must first write to the CL and then evict it from the cache. The eviction forms Phase 2 of the request.
  • RdLine_I: Recommended as the default read type.
  • RdLine_S: Use sparingly only for cases where you have identified highly referenced CLs.
  • RdCode: Updates the CPU directory and lets the FPGA cache the line in Shared state. RdCur does NOT update the CPU directory, FPGA does not cache this line. A future access to this line from CPU, does not snoop the FPGA.
CCI-P Request FPGA Cache UPI Cycle Next State CCI-P Response UPI Cycle Next State CCI-P Response UPI Cycle Next State
Hit/Miss State Phase 1 Phase 2 Phase 3
WrLine_I Hit M None M WrLine WbMtoI I      
Hit S InvItoE    
Miss I    
WrLine_M Hit M None M WrLine NA        
Hit S InvtoE    
Miss I    
WrLine_I Miss M WbMotI I   InvItoE M WrLine WbMotI I
WrLine_M    
WrPush_I WbPushMotI I
WrLine_I Miss S EvctCln I   InvItoE M WrLine WbMotI I
WrLine_M    
WrPush_I WbPushMotI I
WrPush_I Hit M None M WrLine WbPushMotI I      
S,I InvItoE    
RdLine_S Hit S,M None No Change RdLine N.A        
Miss I RdCode S RdLine      
RdLine_I Hit S,M None No Change RdLine NA        
Miss I RdCur I RdLine      
RdLine_I Miss M WbMtoI I   RdCur I RdLine    
RdLine_S RdCode S    
RdLine_I S EvctCln RdCur I    
RdLine_S RdCode S