[comp.sys.amiga] General question about relative speeds of A2000 and A3000.

sutherla@qtp.ufl.edu (Scott Sutherland) (07/10/90)

	I am very naive when it comes to the details of the inner
workings of computers, so the following question may seem very 
stupid to some of you.  I hope that someone out there can give
me an enlightening answer.  Here goes.

	I just got my A3000 last week.  It is VERY FAST and I am 
very pleased with it.  I had been looking to upgrade my 2000 with
the A2620 or A2630 before the 3000 was announced since I was (and
still am) interested in doing faster ray tracing.  I read the
articles in Amiga World and other magazines (also the latest Amazing
Computing).  The results show that typical speed increases for the 
various accelerator boards are from 5-10 times w.r.t. a vanilla 2000.
Now, this is QUITE respectible, but I was wondering why the speed 
increase isn't even greater, especially for math intensive programs
like Turbo Silver and SA 3D/4D.  Let me explain.  (NOTE:  This is
my understanding of things in very simple terms (that's all I know).
I really want someone to help me see where my logic is flawed and
to correct my misunderstandings.)  

The 68000 runs at 7.14 MHz and the 68030 (A3000) runs at 25 MHz.  
This is a factor of 3.5 faster.  The 68000 is 16-bit and the 68030 
is 32-bit.  This is a factor of 2 faster.  Thus, even without a math 
processor, IN THEORY, the A3000 should be 7 times faster than the 
A2000.  Now, when I purchased an AT&T PC6300 in 1985, I got an 8 MHz 
8087 with it.  I was told and had read that the speed increases for 
math intensive programs with this chip would be from 10 to 50 times.  
So, using this information (right or wrong, this is what I have to
work with for my assumptions), the use of a 25 MHz 68882 should,
IN THEORY, speed things up AT LEAST as much for the Amiga as 
my 8 MHz 8087 did for my AT&T (I would think even more, since
it is 32-bit and 3 times as fast!).  Thus, math intensive programs,
ESPECIALLY RAY-TRACING PROGRAMS, should, IN THEORY, run 10-50 times
faster with the math chip than without.  So, IN TOTAL, with the
processor being 7 times faster and the math chip being 10-50
times faster, RAY TRACING programs should run between 70 and
350 times faster on an A3000 than on an A2000, ASSUMING THAT
THE CPU AND MATH PROCESSOR SPEED INCREASES OVER THE 2000 ARE
MULTIPLICATIVE.  Even if they are not, then a 10-50 times increase
(should be on the higher end, say 25-50 times) in speed of 
ray tracing programs should be realized.  And the use of 32-bit 
FAST RAM should make it even faster.  

	So I ask you, why are these math intensive programs only showing
a 5-10 times speed increase on a 3000 (or 2630, CSA, Hurricane, etc.) over
a stock A2000?  Please let me reiterate that this is NOT a complaint of
the speed of accelerated Amigas, but a point of naive curiosity.



Thanks.

Scott Sutherland
sutherla@qtp.ufl.edu

Chuck.Phillips@FtCollins.NCR.COM (Chuck.Phillips) (07/10/90)

>>>>> On 9 Jul 90 19:29:36 GMT, sutherla@qtp.ufl.edu (Scott Sutherland)
Scott> said: So, IN TOTAL, with the processor being 7 times faster and the
Scott> math chip being 10-50 times faster, RAY TRACING programs should run
Scott> between 70 and 350 times faster on an A3000 than on an A2000,
Scott> ASSUMING THAT THE CPU AND MATH PROCESSOR SPEED INCREASES OVER THE
Scott> 2000 ARE MULTIPLICATIVE.  Even if they are not, then a 10-50 times
Scott> increase (should be on the higher end, say 25-50 times) in speed of
Scott> ray tracing programs should be realized.  And the use of 32-bit FAST
Scott> RAM should make it even faster.

Uh, try the math again.  IN THEORY, integer calculations and jumps should
run about 7 times faster (a bit more if you consider the cache, a bit less
if you consider wait states).  IN THEORY, floating point should be 10-50
times faster.  OK, so far.  If you mix floating point and integer
operations the resulting increase should be somewhere _in between_ the
integer and the floating point speedups, IN THEORY.  IN FACT, I/O is a
great equalizer.  Writes to the disk, printing, acessing the custom chips,
etc.  will proportionaly consume a larger fraction of the time required to
accomplish a task.

	Hope this helps,
--
Chuck Phillips  MS440
NCR Microelectronics 			Chuck.Phillips%FtCollins.NCR.com
Ft. Collins, CO.  80525   		uunet!ncrlnk!ncr-mpd!bach!chuckp

mcmahan@netcom.UUCP (Dave Mc Mahan) (07/11/90)

 In a previous article, sutherla@qtp.ufl.edu (Scott Sutherland) writes:
>	I just got my A3000 last week.  It is VERY FAST and I am 
>very pleased with it.  I had been looking to upgrade my 2000 with
>the A2620 or A2630 before the 3000 was announced since I was (and
>still am) interested in doing faster ray tracing.  I read the
>articles in Amiga World and other magazines (also the latest Amazing
>Computing).  The results show that typical speed increases for the 
>various accelerator boards are from 5-10 times w.r.t. a vanilla 2000.

>Now, this is QUITE respectible, but I was wondering why the speed 
>increase isn't even greater, especially for math intensive programs
>like Turbo Silver and SA 3D/4D.

>
>The 68000 runs at 7.14 MHz and the 68030 (A3000) runs at 25 MHz.  
>This is a factor of 3.5 faster.  The 68000 is 16-bit and the 68030 
>is 32-bit.  This is a factor of 2 faster.  Thus, even without a math 
>processor, IN THEORY, the A3000 should be 7 times faster than the 
>A2000.  Now, when I purchased an AT&T PC6300 in 1985, I got an 8 MHz 
>8087 with it.  I was told and had read that the speed increases for 
>math intensive programs with this chip would be from 10 to 50 times.  
>Thus, math intensive programs,
>ESPECIALLY RAY-TRACING PROGRAMS, should, IN THEORY, run 10-50 times
>faster with the math chip than without.  So, IN TOTAL, with the
>processor being 7 times faster and the math chip being 10-50
>times faster, RAY TRACING programs should run between 70 and
>350 times faster on an A3000 than on an A2000, ASSUMING THAT
>THE CPU AND MATH PROCESSOR SPEED INCREASES OVER THE 2000 ARE
>MULTIPLICATIVE.  Even if they are not, then a 10-50 times increase
>(should be on the higher end, say 25-50 times) in speed of 
>ray tracing programs should be realized.
>
>	So I ask you, why are these math intensive programs only showing
>a 5-10 times speed increase on a 3000 (or 2630, CSA, Hurricane, etc.) over
>a stock A2000?  Please let me reiterate that this is NOT a complaint of
>the speed of accelerated Amigas, but a point of naive curiosity.

You forgot to mention the instruction and data caches that exist on the 
68030 and not the 68000, but your point is well taken.

First of all, we should assume that the ray-tracer programs you are using
are written to make use of the math processor.  If they are not, you are
out of luck until a new version comes out.  I would think that the programs
would be supplied with two versions, one for math processor equipped computers
and one that works on vanilla computers.  If the benchmarks were run without
the math processor being used, all you would see are the increases mentioned.
If I was you, I'd do my own benchmarks (since you already have the hardware
and software) and not rely on the magazine.  They may have decided to run
just the slow version to see what kind of raw thru-put increases are available
from the processor, or they may not have known how to run with the math
coprocessor.

Now, just because a machine has a 32 bit bus, it doesn't mean that the code
needs to access data 32 bits at a time.  If the program is written to test
one bit of a byte, having anything bigger than 8 bits on the data bus is not
going to help.  If the program uses 16 bit integers in lots of places, having
a wider data bus isn't going to help.   I don't know what the programs you
mention are using, but I wouldn't just assume that a data bus twice as wide
will give you twice as much speed.  If the program is written to access
a limited resource (like chip memory) quite often, and that resource has to
be shared with another thing (like chip RAM does when you have the resolution
cranked up) the 030 must wait for other thing to give up access to the
resource before it can continue.  This effect is observable on the A2000 also,
but I would think that the A3000 would be more pronounced.  I'm not sure,
but I also wonder if the 030 may have to wait a little anyway to access chip
memory on the A3000.  Someone else (like Dave Haynie at C=) would know better
if this is true.   There are many other examples of what can slow down a CPU,
but I think you get the idea that some numbers just don't multiply linearly
when trying to figure CPU speed increases.



>Scott Sutherland

   -dave

daveh@cbmvax.commodore.com (Dave Haynie) (07/18/90)

In article <1077@orange9.qtp.ufl.edu> sutherla@qtp.ufl.edu (Scott Sutherland) writes:

>Thus, even without a math processor, IN THEORY, the A3000 should be 7 times 
>faster than the A2000.  Now, when I purchased an AT&T PC6300 in 1985, I got 
>an 8 MHz 8087 with it.  I was told and had read that the speed increases for 
>math intensive programs with this chip would be from 10 to 50 times.  

You have several valid questions here, though it might just look like one.
The 68882 can indeed speed up your floating point math by a factor of 50 or
so, under the proper conditions.  However, these conditions don't alway
exist.  For example:

- What is the component of floating point math in the operation at hand?  A
  program may seem mostly floating point bound on a slower 68000 machine, but
  may turn out to have a large integer component once you speed up that math
  so much.

- What math routines is your application calling?  Most program use 
  math libraries, rather than FPU op-codes.  That'll slow things down right
  away.  Compilers can do a much better job with floating point math if they
  get to use the FPU instructions and registers than they can calling math
  library routines.  Programs that use the IEEE math libraries will take
  advantage of an FPU in the machine, but there's still an non-trivial function
  call overhead, and the lack of floating point registers, to contend with.
  Programs that normally call the Motorola FFP libraries (quite a few of them,
  since these are faster than the IEEE libraries, currently, if you're only
  concerned with 32 bit floating point) don't get any boost from the FPU 
  (though there is supposedly a PD replacement for the mathtrans.library 
  that'll convert FFP to IEEE format, perform the operation with the FPU, and
  then convert back).  If speed is really critical, you want to use a program
  that is compiled/written specifically with the FPU in mind (which of course
  won't run on a 68000 machine).

>So, IN TOTAL, with the processor being 7 times faster and the math chip 
>being 10-50 times faster, RAY TRACING programs should run between 70 and
>350 times faster on an A3000 than on an A2000, ASSUMING THAT
>THE CPU AND MATH PROCESSOR SPEED INCREASES OVER THE 2000 ARE
>MULTIPLICATIVE.  

Don't count on that.  If your program is 1/2 Integer, 1/2 FP, and you get
roughly a 10x integer speedup, roughly a 50x math speedup, the program
is at best going to run about 10x faster -- the best the FPU can do for you 
is eliminate the FP component.

In any case, you have to watch FPU claims pretty carefully.  On some systems,
math is real slow without an FPU, as the OS traps any FPU instructions.  So
in such cases, they can certainly claim a math chip may speed things up by a
factor of 50 or 100, but they're not telling you that the math you get 
without the FPU is crippled.

>	So I ask you, why are these math intensive programs only showing
>a 5-10 times speed increase on a 3000 (or 2630, CSA, Hurricane, etc.) over
>a stock A2000?  Please let me reiterate that this is NOT a complaint of
>the speed of accelerated Amigas, but a point of naive curiosity.

Quite a few of the programs out there set up to directly use the FPU will 
give you much more than a 5-10x speedup over the non-FPU versions.  But like
I said before, you really have to know just how much of your problem is 
really FPU-based.  Many ray-tracers tend to be heavily FPU bound, but the
editors, previewers, etc. that go with them are often all or mostly integer
bound.

>Scott Sutherland


-- 
Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: hazy     BIX: hazy
	"I have been given the freedom to do as I see fit" -REM