rd/wr Speculation on TZC400 controller

Hi,

I'm looking at TZC400 datasheet and it shows that the controller enables fastpath using read speculations. However, you can disable/enable both the read and write speculation in the speculation control register mentioned in datasheet. How does the write speculation work and why don't we have it on fastpath?

Thanks,

  • Write speculation involves the write requests being sent downstream before they have been fully processed.  If the request is then deemed to have failed the access, the write data and write strobes are set to 0 for that transaction which prevents any data being changed.

    Reads are typically considered to be the most performance critical (think processors stalling whilst waiting for instructions to read back), whereas writes are not often required for forward progress by the master.  Writes can also have a buffered response, meaning their latency can be significantly less than reads.

    Hence, there is no fast path for writes.