Some questions about A/UX

Phil Ronzone phil at Apple.COM
Thu Oct 27 04:58:48 AEST 1988


In article <941 at ccnysci.UUCP> alexis at ccnysci.UUCP (Alexis Rosen) writes:
>9) Lastly, I have asked in the past if anyone knew of a SCSI DMA board for
>   the Mac II/IIx. Phil Ronzone was kind enough to spend a few moments with
>   me explaining that DMA wouldn't be a big win. Nevertheless, all of my
>   calculations indicate otherwise. What am I missing, if anything?

Killing this misinformation on Mac II and SCSI hopefully for the last time ...

Assume you are running a typical one user I/O load of 40 to 80 1K blocks
a second. When the Apple HD80 presents the data requested, then A/UX
"yanks" the 1K, 4 bytes at a time, in a very tight loop. There is hardware
assist to make for very quick "yanking". How quick? 3.657 bytes per
microsecond. Or, 280 microseconds to "yank" the 1K block.

NOTE THAT: Both a DMA chip and the 68020 would both begin the "yanking"
of bytes at the same time. They would both finish around the same time.

A DMA CHIP CAN DO ABSOLUTELY NOTHING (REPEAT NOTHING NOTHING NOTHING ...)
TO MAKE THIS HAPPEN FASTER THAN HAVING THE 68020 TRANSFER THE BYTES. IS
THE UNIVERSE NOW AWARE OF THIS!!! :-) :-) <- tongue-in-cheek screaming.

So DMA can NOT make I/O performance improve. What it CAN do is free up
more cycles. It can save that 280 microseconds per block, or, if you are
doing 80 1K blocks per second, it can save you 22.4 milliseconds every
second. That is 2.2% of your total CPU cycles every second.

If you are doing swapping of a 160K "chunk" every second, then it will
save you 4.9% of your total CPU cycles every second.

At this point, a coomon objection is that "I/O can happen faster because
the 68020 can start it quicker because the DMA is taking off the load ...".
No - that ain't true either. Until either the DMA or 68020 is DONE transferring
the data, you CAN'T start more I/O.

Does this mean we are against DMA? NO NO NO! When you start transferring
large amounts of data (multi-megabyte images to a LaswerWriter SC) you
don't want to burn up your processor that way. Also unlikable is that
interrupts get locked out for large transfers to slower devices. A/UX
doesn't support LocalTalk on the onboard SCC's because a DataGram takes
21 milliseconds of LOCK-OUT-ALL-INTERRUPTS time. With an 8 DataGram per
ATP transaction, 170 millseconds loses too many interrupts (Ethernet,
keystrokes, mouse movements, incoming serial data etc.).

SUMMARY - A DMA chip on the Mac II can NOT increase I/O throughput. It can
free up more I/O cycles, although only 4% (predicted) / 8% (measured) for
typical heavy UNIX I/O loads. DMA buys the most in reducing interrupt
timing sensitivity, and in support the "very large data transfers" peripherals
such as LaserWriter II SC.

O.K.?

P.S. My very first reaction after examining the Macintosh II prototype
design was "What!? No DMA!!??". Just the facts, Ma'm.
+------------------------+-----------------------+----------------------------+
| Philip K. Ronzone      | A/UX System Architect | APPLELINK: RONZONE1        |
| Apple Computer MS 27AJ +-----------------------+----------------------------+
| 10500 N. DeAnza Blvd.  | If you post a bug to the net, and the manufacturer |
| Cupertino CA 95014     | doesn't read it,does that mean it doesn't exist?   |
+------------------------+----------------------------------------------------+
|{amdahl,decwrl,sun,voder,nsc,mtxinu,dual,unisoft}!apple!phil                 |
+-----------------------------------------------------------------------------+



More information about the Comp.unix.aux mailing list