🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #4923

Re: software ICs vs. libraries

#4923
From: Michael J. Farren
Date: Sat, 24 Oct 1987 22:33
53 lines
3835 bytes
Several people have made statements that attempt to correlate hardware
with software, usually starting with the resistor and transistor as a
basic block.  I don't feel that this analogy is appropriate.  The closest
equivalent in software to a 7408, to take a very low-level IC for an
example, is three or four AND statements in assembly language, NOT a small
library function (unless you have logical and implemented as a library
function, in which case you have my pity).  The largest piece of software
that has a hardware equivalent is probably something like BitBLT.

The current state of the hardware design art has shifted somewhat away
from general-purpose VLSI implementations of design.  More and more,
hardware designers are recognizing that a general-purpose implementation,
while possibly somewhat simpler to implement, carrys a high cost in
circuit efficiency, economy, and cost.  One of the hottest design
techniques right now is ASIC (Application Specific Integrated Circuits),
which commonly takes many low and medium level components and binds them
together in a form suitable for the specific job at hand - rather like a
high-level routine would use library functions in a specific way.

I believe that the "software IC" concept fails on just those kinds of
issues.  A routine which is simple to use, but complex in function, will
be more costly, both in storage and in speed, than one that is simply
complex, as the simple interface will, in itself, have a cost in code
and execution time.  The example has been mentioned of the difference in
implementation of window functions on the Macintosh and (I believe - I'm
not a Lisp hacker) a Lisp machine.  It was pointed out that changing
window parameters on the Lisp machine was much easier than the same
operation on the Mac.  However, what was not noted, probably because it
was fairly transparent to the end-programmer, was the cost, in bytes and
in nanoseconds, of making those parameters easy to change.  Most machines
now available just don't have enough resources to allow that level of
flexibility and still have an acceptable response for the user.  Smalltalk
is an instructive example; although its concepts made things a lot easier
for many tasks, it took considerable advances in technology before an
actual system could be constructed which wasn't painfully slow from the
user's standpoint.

There will always be a tradeoff between speed and ease of use/programming.
Currently, I strongly believe that the tradeoff favors the use of smaller,
less sophisticated routines designed for the maximum efficiency in
operation, rather than construction.  This situation may well change, but
I think that the use of more primitive constructs in order to obtain the
maximum in efficiency and machine usage will always be a preferred
alternative, whenever it is possible to make the choice.  What will change
will, more than likely, be the level of complexity considered "primitive".


-- 
----------------
Michael J. Farren      "... if the church put in half the time on covetousness
unisoft!gethen!farren   that it does on lust, this would be a better world ..."
gethen!farren@lll-winken.arpa             Garrison Keillor, "Lake Wobegon Days"
Technical Details
Message-ID: <250@gethen.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!unisoft!gethen!farren
References: <3405@ece-csc.UUCP> <638@its63b.ed.ac.uk>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!unisoft!gethen!farren
From: farren@gethen.UUCP (Michael J. Farren)
Newsgroups: comp.lang.misc
Subject: Re: software ICs vs. libraries
Message-ID: <250@gethen.UUCP>
Date: Sat, 24-Oct-87 17:33:42 EST
Article-I.D.: gethen.250
Posted: Sat Oct 24 17:33:42 1987
Date-Received: Tue, 27-Oct-87 02:54:41 EST
References: <3405@ece-csc.UUCP> <638@its63b.ed.ac.uk>
Reply-To: farren@gethen.UUCP (Michael J. Farren)
Organization: Sci-Fido - Unix in Oakland
Lines: 52