back to memcpy eh?

Tim Olson tim at jump.net
Fri Dec 14 14:52:47 UTC 2001


>
>> Right now we use just some very basic SLANG which produces rather 
>"Nonpolluting" means that data is moved and not cached.  If you copy
>a 1-MB buffer, the cache is untouched.  I assume that late model
>Intel and PPC processors provide similar instruction.  If you are
>dynamically linked to libc, you get the platform specific library.


The PowerPC architecture has the Data Cache Block Zero (DCBZ) 
instruction, which can be used to good effect in mem* routines.  It is 
used to allocate and zero a destination cache block in the L1 cache 
without having to initially fetch its old contents from memory, which 
cuts memory traffic by 33%.

PowerPC processors with the Altivec extension provide "transient" loads, 
where the cache block is marked "most-recently-used" instead of 
"least-recently-used", to help avoid the cache pollution problem on large 
transfers.



     -- tim






More information about the Squeak-dev mailing list