[comp.sys.amiga.advocacy] Subject: 88000 in the Amiga

Dickson@system-m.az05.bull.com (Paul Dickson) (05/15/91)

> Run the Exec on the 88000 as well as the 68000, so that C
> programs could be compiled for the 88000 and still work.  The
> only really hairy parts would be Forbid() and Disable()...  the
> synch primitives.  I think that at first these primitives will
> have to stall both CPUs, or it'd be too hard to port stuff to
> the 88000 side.

Switching processes can be done with little to no halting if coded right
even in a multiprocessing environment.  It's not easy but it has been
done and done well.  It will have to be done if Exec is ever to run both
the 68030 and 68040 cooperatively at the same time.  Adding 88000
support at the same time would only take a significant fraction of
effort more (significant, but much much less than twice the effort).

The Multics operating system will run a user's process on the next
available CPU, even allowing the user to choose from a subset of those
available.  Taking this concept to the Amiga, after loading a program
the loader then selects which CPUs are needed to run.  Of course the
downside of this is that you've just doubled the amount of system code.
But only code for one of the CPUs needs to be in ROM at startup, the
other can be loaded into MMU protected later.