[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Coop. vs preemptive multitasking



toddpw@cco.caltech.edu (Todd P. Whitesel) writes:

>bazyar@teal.csn.org (Jawaid Bazyar) writes:

>>  Try copying files over an AppleTalk connection; try formatting a 
>>floppy disk.  Any time a Mac or IIgs does a disk access or otherwise
>>takes its attention away from the serial ports, it will lose data
>>big-time.

>Actually on the Mac this still works because of a lot of low-level hacking
>to keep polling the serial ports no matter what. When you have a lot of
>built-in hardware, this not such a bad idea because you can make it work.
>However, it is virtually impossible when you use a truly modular device
>system (like GS/OS does) -- which is vastly superior for everything else.

>The real solution is to do what the IIfx did and have real coprocessors
>on the I/O so you don't even _have_ these interrupt blackouts, since the
>main CPU is not the one working with the floppy or the serial ports.

That works, but you don't even have to go that far.  Simply providing
a multi-channel DMA controller would be sufficient.  The SCC (8530)
chip used by the GS and Macs provides direct support for DMA.  A
separate disk controller processor would be nice though since Apple's
software-controlled floppy systems eat CPU time.  The Mac could have
been designed with DMA in mind; the Apple II design would have been
rather hard to change by the time DMA controllers were cheap enough.
-- 
Jerry Penner   jpenne@ee.ualberta.ca   Try a 1-line .sig today.