Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!apple!phil From: phil@Apple.COM (Phil Ronzone) Newsgroups: comp.unix.aux Subject: Re: Some questions about A/UX Message-ID: <19528@apple.Apple.COM> Date: 26 Oct 88 18:58:48 GMT References: <941@ccnysci.UUCP> Organization: Apple Computer A/UX Group Lines: 62 In article <941@ccnysci.UUCP> alexis@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 | +-----------------------------------------------------------------------------+