[comp.sys.m68k] small instruction cache

geoff@desint.UUCP (Geoff Kuenning) (04/16/87)

In article <518@omen.UUCP> caf@.UUCP (PUT YOUR NAME HERE) writes:

> Does somebody have real data on how the 68020's cache improves performance
> on sieve, troff, sort, and other Unix CPU hogs?

Well, I don't know about UNIX codes, but data from the old days of
supercomputers is quite relevant.

The CDC 6600 had what was called an "instruction stack" of about 8 words,
or a maximum of 32 instructions.  The 7600 expanded this to about 25 words
(I'm sure I'm off on the exact numbers), or about 100 instructions.  These
were not true caches;  they were only useful on loops that had backwards
branches.

The "stacks" worked by saving the last n words of instructions executed.
As long as you ran straight-line code, you didn't get any advantage.  However,
if you branched backwards (looped), the machine would try to find the
branch target in the "stack" (cache) and would then run out of cache for
the duration of the loop.

There is absolutely NO question that these caches improved performance on
many useful Fortran applications programs.  In fact, the 7600's instruction
stack was one of the causes of the downfall of the CDC STAR-100, because
it turned out that an in-stack hand-coded vector loop on the 7600 could
outrun the Star's special vector instructions.
-- 

	Geoff Kuenning   geoff@ITcorp.com   {hplabs,ihnp4}!trwrb!desint!geoff

steve@edm.UUCP (Stephen Samuel) (04/23/87)

A long time ago (in a galaxy far far away) Intel came out with the 8086. I 
remember how they claimed that one of it's great advantages was the string 
instructions it had, (which the 68000 didn't) that was real good for all sorts
of things -- including gargage collection. It wasn't until years later that I actually looked at the cycle timings for the
8086 and found that the INTEL string instructions were NO FASTER, 
and often actually SLOWER (cycle count) than the 68000's DBcc equivalent. 
 This doesn't include the fact that you can unwrap long moves (MOV,MOV...DBcc)
for better speed (something you can't do with the INTEL string instructions).
  Of course, the sieve was one of the big benchmarks that proved the 80x86's
strength over the 68k.  Well- Now that Motorola has come up with a better
result on both fronts, INTEL is crying 'FOUL' and trying to change the front.
   
  Times change
  People don't.