跳转至

TXRSP

Function Description

The TXRSP module receives requests destined for the TXRSP channel from the MainPipe and MSHR modules, arbitrates between them, buffers them using a queue, and finally sends them to the CHI TXRSP bus channel. Requests from the MainPipe output are accepted unconditionally, while requests from MSHR may be blocked. Therefore, the TXRSP module needs to apply backpressure to MSHR and flow control to the MainPipe input to ensure that requests on MainPipe can enter TXRSP without being blocked.

Feature 1: Flow Control for MainPipe Input

  1. To ensure that requests on MainPipe can enter TXRSP non-blockingly at s3/s4/s5, when [the number of requests on MainPipe that may need to enter TXRSP + the number of valid items in the queue ≥ the total number of queue items], the TXRSP module needs to apply backpressure to the MainPipe input, i.e., the s0/s1 stages.
  2. Among these, backpressure to the s1 stage is needed because snoops received by RXSNP may be processed directly on MainPipe and then enter the TXRSP channel, hence backpressure is needed for sinkB requests at s1; backpressure to the s0 stage is needed because a part of MSHR tasks needs to enter the TXRSP channel, and MSHR tasks enter the pipeline at s0, hence backpressure is needed for mshrTask at s0. Let's denote the blocking condition as noSpace.

Feature 2: Backpressure Logic for MSHR

  1. MainPipe arbitration priority is higher than MSHR, so when the request from MainPipe output is valid, backpressure needs to be applied to MainPipe.
  2. Backpressure needs to be applied to MainPipe when noSpace occurs, for the following reasons: On the cycle when MSHR issues a request, MainPipe may not have a request competing with MSHR, but MainPipe may have requests still in the s1/s2 stages. The MSHR request might preempt a free item in the queue that originally belonged to MainPipe, leading to insufficient queue items when the requests in MainPipe reach the s3/s4/s5 stages. Therefore, in this situation, MainPipe requests also need to be blocked.

Overall Block Diagram

TXRSP