Comment by brucehoult

Comment by brucehoult 2 days ago

2 replies

I suppose everything that isn't a toy implementation has a store queue.

Even the U54 Core Complex (later U54-MC) manual from August 2018 states in Section 3.4 "Stores are pipelined and commit on cycles where the data memory system is otherwise idle. Loads to addresses currently in the store pipeline result in a five-cycle penalty."

It probably inherited this from Rocket.

sylware a day ago

huh, a load which happens to hit the store queue should be faster that usual since it does not even need to reach the cache fabric, shouldn't it?

  • brucehoult a day ago

    Nope. Very common. Making a FIFO also randomly content-addressable adds a lot to the complexity, and only code too unoptimised to care about loads a value within half a dozen instructions of storing it -- just use it directly from the register you stored it from.