This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I have a question about cache operations.

The system has been set up to be software coherent. A single coherent domain contains two A15 cores and L2. When cores 0 and 1 are reading/writing the same cache line, what happens if core 0 does a cache flush / invalidate on that cache line?

Parents
  • Partly depends on what you mean by broadcast.

    In a strict sense, "no".  Some operations can be broadcast (such as TLB invalidates), but data cache ops like this are not.

    However, data cache operations by one core affect other core(s) due to the coherency rules (subject to factors such as the Shareability and which domain each core is in).  So in the example above, the DCCIMVAC would affect both core 0 and core 1, because its an operation on a shareable address and both cores are in the same inner shareable domain.

    One way to think of this is that D cache ops are sort of data memory accesses.  If an equivalent STR would be coherent, then D cache op will also be coherent.  It's not a perfect analogy, but its helped me.


    Note: This doesn't apply to Set/Way operations, for which the rules are different.

Reply
  • Partly depends on what you mean by broadcast.

    In a strict sense, "no".  Some operations can be broadcast (such as TLB invalidates), but data cache ops like this are not.

    However, data cache operations by one core affect other core(s) due to the coherency rules (subject to factors such as the Shareability and which domain each core is in).  So in the example above, the DCCIMVAC would affect both core 0 and core 1, because its an operation on a shareable address and both cores are in the same inner shareable domain.

    One way to think of this is that D cache ops are sort of data memory accesses.  If an equivalent STR would be coherent, then D cache op will also be coherent.  It's not a perfect analogy, but its helped me.


    Note: This doesn't apply to Set/Way operations, for which the rules are different.

Children