From: bgilbert@cs.washington.edu (Ben Gilbert)
Subject: Re: Co-operating processors on the Falcon
Organization: Computer Science & Engineering, U. of Washington, Seattle
Date: Fri, 13 Nov 92 21:22:06 GMT

In article <721574179.11857@minster.york.ac.uk> andrew@minster.york.ac.uk writes:
>If the Falcon is multitasking how will the operating system
>ensure that memory access by the DSP are safe?  Will programs running in the
>DSP get swapped in and out or is it used like a 'dumb' peripheral which 
>processes have to contend for?  I wonder how machines like the NeXT do it?

No, programs running on the DSP run in their own private memory.  The DSP
has its own bus and 32 KWords of memory, in which it can run many processes
concurrently (well, give them shared time anyway).  The DSP cannot do memory
accesses to main main memory, so there is no conflict with the memory
management of the 68030.

>
>Will this also mean that two assemblers are needed too?  One which
>programs for the 68030 CPU are written/compiled and one which is used for
>the 56001 DSP.  Writing programs for the Falcon will be complicated.  First
>I'd write a program in C for the CPU and then one for the DSP(?) and somehow
>link the two so that the DSP program is downloaded into the DSP where it is
>initiated by the main program?

Yes, there are separate assemblers/compilers for writing DSP code and normal
68030 code.  I believe the developers have been sent the DSP compilers and
docs quite a while ago.  Your linking idea is on the right track, but I
imagine it to be more like using assembly code in your C programs : you
write your normal interface and all in C, for example, then write the 
super-duper high-speed compression algorithm in DSP code, then your normal
code sets up the DSP with the appropriate data and sets it loose.  Kind
of like you call the SDMA sound engine to play a sound (hands off as far
as your program is concerned), you'll call the DSP with a bunch of parameters
and let it go to work.

>
>I'm sorry if this all sounds a little naive but I've never explored co-
>processor systems but when I get my Falcon I'll have to.
>
>-Andrew.
>
>P.S.
>Will it be possible to perform JPEG conversions on the Falcon using the DSP
>so that they are 'super' fast?  The conversion programm will obviously have
>to read and write from main memory which is where my question about security
>on memory access comes in for multiprocessing systems.
>

They have mentioned this, and it probably will be able to do these in real
time.  Like I said, the DSP can't access main memory, I think it has to 
request a DMA transfer or something to get to memory.  A previous poster
said that the DSP-68030 bus interface was capable of 1 MB/sec or so, but
this spec could be off.  At any rate, it will be fast enough to allow the 
things you were mentioning. (JPEG, virtual FAX, etc)

>---------------
>
> Andrew Hague - Researching Computer Aided Learning & On-Line Lectures.
> Department of Computer Science.
> University of York,			"To get that all over tan stand
> YORK.					 still at the north pole during
> Y01 5DD				 the summer." A. Hague 6-Nov-92
> Tel: (+44/0)904 432762
>
> E-MAIL: andrew@minster.york.ac.uk 

Cheers,
-- 
Ben Gilbert				e-mail : bgilbert@cs.washington.edu
Department of Computer Science
University of Washington