🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #21526

Re: DMA on RISC-based systems

#21526
From: Robert Cousins
Date: Thu, 01 Jun 1989 14:34
83 lines
4896 bytes
In article <1989May31.163057.543@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes:
>In article <181@dg.dg.com> rec@dg.UUCP (Robert Cousins) writes:
>>There are some basic requirements, IMHO, which must be met to be considered
>>state-of-the art:  I/O which does not involve the CPU for moving every
>>byte, graphics which does not require total CPU dedication for normal
>>operations such as line drawing or bit blitting, dedicated LAN controllers
>>to handle the low levels of the LAN protocol...
>>
>>I make this point to begin discussion.  What are some of the minimum
>>standards which should be applied to these classes of machines and which
>>machines fail to meet them?
>
>The three obvious ones are:
>
>1. A serious assessment of what performance in each of these areas is
>	necessary to meet the machine's objectives, and what fraction of
>	the CPU would be necessary to do so with "dumb" hardware.  It is
>	not likely to be cost-effective to add hardware to save 1% of
>	the CPU.  10% might be a different story.  50% definitely is.

Your point is well taken.  However, it is clear from reading about some
products on the market that the sum total of the penalty considered in the
calculations is the number of bus cycles required to do the copy.  In fact,
many of these copies will take place with interrupts disabled or at some
spl() level which restricts some interrupts.  Secondly, some copies will
require additional interrupt service which will require additional overhead
for context switches.  Thirdly, some of the management will require task
activation which can take a long time under traditional Unix.  When these
are considered, the cost function should be computed based upon 

	       Cost of smarter peripherals
   cost/MIPS = -----------------------------------
               MIPS freed up by better peripherals

If this number comes out lower than the price of your CPU, the odds are
that you would be better off using the smarter peripherals.  

>2. A serious assessment of the overheads of adding smart hardware, like
>	the extra memory bandwidth it eats and the software hassles that
>	all too often are necessary.

As a rule, smarter peripherals require less memory bandwidth than dumb ones.
For example, copying data from a dedicated disk buffer to main memory using
software entails not only the instruction bandwidth but also a read and
a write for each word or two bus cycles per word.  DMA on the other hand
should be able to perform the same operation with a single cycle per word.

As for the software hassels, I've written drivers for both smart and dumb
devices.  It is true that some classes of smart devices can be more difficult
to program than their dumb counterparts.  However, in my experience, this is
not the rule but is the exception.  In fact, if you graph the software
hassel factor (if one can truely be quantified), my experience shows that
as hardware goes from brain dead to genius the curve is "U" shaped.  Managing
very stupid hardware can be as difficult as the most sophisticated.  

>3. A serious assessment of whether the added performance can be had in a
>	more versatile and cost-effective way by just souping up the CPU.

Agreed.  As was pointed out in the equation above, the real issue is 
getting the end user the most bang for the buck.

>Simply saying "we've got to have smart i/o, and smart graphics, and smart
>networks" without justifying this with numbers is marketingspeak, not
>a sound technical argument.  As RISC processors have shown us, taking things
>*out* of the hardware can result in better systems.
>-- 
>You *can* understand sendmail, |     Henry Spencer at U of Toronto Zoology
>but it's not worth it. -Collyer| uunet!attcan!utzoo!henry henry@zoo.toronto.edu

I disagree.  There are certain requirements for a product to be considered
useful.  It is possible to design 500 Mhz Z80s.  There are also a number
of users who would find this an attractive product, though many people
would mutter that this is waste of technology.  There are certain things
which users have a right to demand:  quality software, state of the
art hardware, reasonable performance for the price, dependable support.
I would suggest that provision of non-braindead peripherals is in this
class almost (but not quite) by default.

Robert Cousins
Dept. Mgr, Workstation Dev't.
Data General Corp.

Speaking for myself alone.
Technical Details
Message-ID: <183@dg.dg.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!dg!rec
References: <46500067@uxe.cso.uiuc.edu> <181@dg.dg.com> <1989May31.163057.543@utzoo.uucp>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!dg!rec
From: rec@dg.dg.com (Robert Cousins)
Newsgroups: comp.arch
Subject: Re: DMA on RISC-based systems
Message-ID: <183@dg.dg.com>
Date: 1 Jun 89 14:34:51 GMT
References: <46500067@uxe.cso.uiuc.edu> <181@dg.dg.com> <1989May31.163057.543@utzoo.uucp>
Reply-To: uunet!dg!rec (Robert Cousins)
Organization: Data General, Westboro, MA.
Lines: 83