But in-order for the CPU is not enough - it also needs to make sure all
written data is visible for DMA accesses to memory from the outside, which
is why the writebuffer needs to be flushed by a SYNC as well. From the
definition of "SYNC":
"A store is completed when the stored value is visible to every other
processor in the system".
Which presumably also includes DMA I/O devices...
/Hartvig
Dominic Sweetman writes:
>
>
> Kevin D. Kissell (kevink@mips.com) writes:
>
> > > Note that SYNC on TX39/H and TX39/H2 does not flush a write buffer.
> > > Some operation (for example, bc0f loop) are required to flush a write
> > > buffer.
> >
> > That is, I would say, a bug in the TX39 implementation of SYNC.
>
> That's only a problem if the CPU permitted reads to overtake buffered
> writes. [Early R3000 write buffers did that (with an address check to
> avoid the disaster of allowing a read to overtake a write to the same
> location).]
>
> But my recollection is that the TX39 does all memory operations in
> order: so SYNC has very little to do, but it isn't a bug.
>
> Dominic Sweetman
> Algorithmics
>
--
_ _ _____ ____ Hartvig Ekner Mailto:hartvige@mips.com
|\ /| | |____)(____ Direct: +45 4486 5503
| \/ | | | _____) MIPS Denmark Switch: +45 4486 5555
T E C H N O L O G I E S http://www.mips.com Fax...: +45 4486 5556
|