grayresearch / CX

Proposed RISC-V Composable Custom Extensions Specification
Apache License 2.0
66 stars 12 forks source link

CFU-LI might add req_user and resp_user signals at all CFU-LI levels #10

Open grayresearch opened 2 years ago

grayresearch commented 2 years ago

Now that Olof has us contemplating optional signals, I propose that CFU-L2+ should have req_user and resp_user signals so that requesters may pass additional sideband data to responders, and vice versa, unchanged and uninterpreted through standard interconnect components and infrastructure.

(Perhaps not for CFU-L0 and -L1, for simplicity.)

This will allow relatively clean extended signaling without kludging sideband signal data onto other singular-purpose signals such as req_func or resp_data.

Req/resp_user signals will help CFU-LI adapt to new use cases without requiring a new CFU-LI version and thus provide an improved degree of future proofing.

Per requester / per responder user data is not particularly compositional: some CFUs might receive/send it, some not. I do not anticipate a HW-SW interface to pass custom user data from a CPU to a CFU. Rather user sideband data might be for an extended CPU + CFU suite that uses it for some other purpose (security token, tracing, hints, experimental uses) or non-CPU use cases.