Skip to content

perf: fix too strict restriction on FLU write-back

Eclipse Webmaster requested to merge github/fork/cathales/perf-flu-conflict into master

Created by: cathales

Context

This PR modifies a restriction in the issue stage. The role of the restriction is to avoids contentions in the flu result bus (functional unit -> scoreboard) as MULT duration is 2 cycles and other flu operations are 1 cycle-long (except div which has a stall signal and is not actually fixed latency).

Issue fixed

While not all functional units use this same result bus, the issue stage was inserting a bubble after each MULT (except if the subsequent instruction is a MULT too) even when not needed. This PR fixes this too restrictive behavior.

Example

LOAD uses another result bus so there are no contentions with MULT. A bubble was inserted in a MULT -> LOAD sequence even if it was not needed.

Merge request reports

Loading