[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.