Adding Symmetric Multiprocessing to Amiga UNI

Steve Warren swarren at convex.com
Thu Jan 31 05:12:08 AEST 1991


In article <SCOTT.91Jan29193042 at texnext.gac.edu> scott at texnext.gac.edu (Scott Hess) writes:
                           [...]
>I suspect that the best solution, that is, if you're considering this,
>is to put the X server on the _040_.  Yes, I know, blasphemy.  But,
>when it comes right down to it, an 030 running application code only
>(no X server, in other words) could probably keep the 040 running X
>fairly busy.  Put io processing and everything on the '040, too, and
>the '030 can run unconstrained.  Look at the NextDimension (and many
                           [...]
This setup might lead to reduced throughput on the A3000.

I am assuming that an '040 board would include on-board memory designed
to function optimally with an '040.  In this case you would want the '040
to favor the coprocessor ram over the motherboard ram.  You would also
want the '040 to release the bus on the motherboard when it is operating
out of coprocessor ram.

Either processor could write to memory physically located next to the other
processor, but the other processor would of course be blocked from any
memory accesses until that bus was released.  In other words, as long as
the '040 is operating on coprocessor memory and the '030 is operating out
of motherboard memory, they can both run at full speed simultaneously.  As
soon as one processor crosses over into the other's memory, only one
processor can access memory at a time (which may not hurt the '040 performance
as much, with its larger cache, but it would slow the '030 down
significantly).

Since the "frame buffer" is in the 1-2 Mbytes of chip ram on the motherboard
(unless you are using an alternate display card), it makes since to put the
X-server application on the processor that is "closer", in terms of
performance, to this memory.  This does not mean that the '040 would not be
able to perform just as fast or faster than the '030 as an X-server.  The
problem is that the '030 would be stalled frequently in that configuration.

On the other hand, by putting the X-server on the '030 you would still have
a 32-bit port into the display memory.  The '030 would not perform as well
as the '040 but it would still do quite well.  And the '040 would not be
stalled very often because it would tend to work out of the coprocessor
memory whenever possible.

I/O processing should also be performed on the '030.  The SCSI controller is
on the motherboard, and it just makes sense to put all the housekeeping out
on the secondary processor.

It would be nice if some utilization of the custom chips were possible, since
they do have line drawing and other capabilities.


--
            _.
--Steve   ._||__      DISCLAIMER: All opinions are my own.
  Warren   v\ *|     ----------------------------------------------
             V       {uunet,sun}!convex!swarren; swarren at convex.com



More information about the Comp.unix.amiga mailing list