kuznia-rdzeni / coreblocks

RISC-V out-of-order core for education and research purposes
https://kuznia-rdzeni.github.io/coreblocks/
BSD 3-Clause "New" or "Revised" License
33 stars 13 forks source link

Remove conflicts from Pipe and Forwarder #700

Closed tilk closed 1 month ago

tilk commented 1 month ago

This PR removes the conflicts on the clear method from Pipe and Forwarder. The conflicts are known to reduce performance. It should be noted that the read methods would still be executed in the clearing cycle - is this a problem? Do we need to have a lighter mechanism than conflicts to prevent method execution when clear is called?

Also, clean method on Pipe is renamed to clear to comply with naming conventions.

Edit: after some thoughts, I'm not certain that the conflicts on clear are that bad. This needs investigation.