[comp.arch] more cache/uncached ld/st

baum@apple.com (Allen Baum) (04/24/91)

In article <1991Apr23.152155.2298@zoo.toronto.edu>, henry@zoo.toronto.edu (Henry Spencer) writes:
> 
> Anybody who caches a frame buffer is crazy.  Especially if the cache isn't
> write-through, in which case your frame-buffer updates show up on the screen
> some arbitrary time later!
> 

Not so. If you can use the burst transfer into the cache, and throw away the
line (i.e. burst dump it) when finished, its a very large win. Of course,
you need cache management instructions, and your graphics algorithms have to
have a pretty good idea of how much of a cache line they're going to munge.

For moving windows around, for example, you have a very good idea, and it pays.

henry@zoo.toronto.edu (Henry Spencer) (04/25/91)

In article <51903@apple.Apple.COM> baum@apple.com (Allen Baum) writes:
>> Anybody who caches a frame buffer is crazy...
>
>Not so. If you can use the burst transfer into the cache, and throw away the
>line (i.e. burst dump it) when finished, its a very large win...

If you can't use burst transfers except by trampling on your cache, your
processor-memory interface is defective.  (More precisely, it has been
optimized for the typical case without due consideration of important
atypical cases.)  Of course, if you're using your cache as a substitute
for having an adequate number of registers in your CPU, then you may
not have a choice...
-- 
And the bean-counter replied,           | Henry Spencer @ U of Toronto Zoology
"beans are more important".             |  henry@zoo.toronto.edu  utzoo!henry

torek@elf.ee.lbl.gov (Chris Torek) (04/25/91)

In article <1991Apr24.173843.13659@zoo.toronto.edu>
henry@zoo.toronto.edu (Henry Spencer) writes:
>If you can't use burst transfers except by trampling on your cache, your
>processor-memory interface is defective.  (More precisely, it has been
>optimized for the typical case without due consideration of important
>atypical cases.)

The SparcStation-1 cannot do 16-byte bus cycles for memory => cpu except
via the cache.  (It never does anything but 4-byte bus cycles for cpu =>
memory; its cache is write-through.)

Yes, this is a pain.  (Copy-on-write in the Mach VM is done using
physical addresses, meaning that you have you map both pages in
somewhere---there is a pair of special virtual addresses for this---
and do a block copy.  For speed, the source page should be cached,
which mean you potentially blow away one cache page.)  On the other
hand, SparcStation-1s cost less because of it.
-- 
In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 415 486 5427)
Berkeley, CA		Domain:	torek@ee.lbl.gov