Dariusz Mazur wrote:
Florian Klaempfl pisze:
DarekM schrieb:
Florian Klaempfl pisze:
An if is unimportant, more important is the number of locked operations, especially on multi core systems they might eat hundreds of clock cycles.
There are atomic operations, the should not  eat much more than ordinal
INC or ADD,

If course they are. They require no more a bus lock as in 486 times but
a synchronization of all caches for this particular memory location.
We don't need  wait to synchronize caches. It will be done by hardware.

ehm... according to your pdf:

For the P6 family processors, locked operations serialize all outstanding load and store operations (that is, wait for them to complete). This rule is also true for the Pentium 4 and Intel Xeon processors, with one exception. Load operations that reference weakly ordered memory types (such as the WC memory type) may not be serialized.

And i think synchronize cache with ram don't eat hundreads clock cycles.

I think it does, why else do we need cache ?

And CMPXCHG has automatic locking asserted, as normal instruction can't persist so long (Intel don't mention about this) This is also use to implement semaphores (suggest from Intel) , thus should be save and fast.

first, yes, second, thats relative.

Marc

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to