Path: utzoo!utgpu!water!watmath!clyde!att!pacbell!ames!nrl-cmf!mailrus!tut.cis.ohio-state.edu!bloom-beacon!gatech!purdue!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!enea!liuida!carola!bertil
From: bertil@carola.uucp (Bertil Reinhammar)
Newsgroups: comp.arch
Subject: Re: Today's dumb question...
Message-ID: <1988May11.173323.14722@carola.uucp>
Date: 11 May 88 16:33:23 GMT
References: <503@xios.XIOS.UUCP> <2676@pdn.UUCP> <674@cernvax.UUCP>
Reply-To: bertil@carola.UUCP ()
Organization: Dept of EE, University of Linkoping
Lines: 65

In article <674@cernvax.UUCP> hjm@cernvax.UUCP (Hubert Matthews) writes:
>
>	- the cost of a computing system is primarily a function of size, 
>	  weight and the number of chips or pins;
>
From the hardware engineers point of view, yes, but not when considering
a complete system including S/W.
>
>	- to go really fast and to be efficient, the hardware should be simple;
>
As a matter of fact, pipelines can be faster and more efficient with added
delay units which don't really simplify matters...
>
>     So what am I trying to point out?  Merely that a large amount of hardware
>in present-day machines is there because of difficulties in software. ...
Hmmm.
>... Inside
>these beasts is a *lot* of hardware to keep one user away from his fellow
>hackers.  An equally large amount of hardware is provided for the demand-paged
>virtual memory system.  Add to that a healthy(?) helping of cache chippery...
>
You imply that memory management hardware can securely be replaced by a good
piece of S/W had we the appropriate tools ? The same comment on VM ! And do
you really mean that software may provide the efficiency gained from a cache !?
Either I'm pretty stupid or You must restate Your points more clearly. I don't
get ANY point...
>
>	- virtual memory is useful only when an application won't fit in
>	  physical memory.  But memory is cheap, so with lots of Mbytes
>	  who needs it, especially if the program is written well.
>
And what if I have a lot of 'concurrent' processes ? I DON'T like swap time
delays but disk is by far cheaper than RAM ( don't you know ? ) Also, I like
to provide the entire address space to each of the running processes. This
requires VM regardless of the quality of the program(mer)s.
>
>	- multi-user machines are too complicated to be both fast and simple.
>
You hit right on the usual tradeoff stuff.
>
>	- shared-memory is not necessary; it's a software issue that shouldn't
>	  be solved in hardware.
>
!!!!

My opinion:

 - A computer program is really a virtual machine. The real machine ( H/W ) 
   actually kind of interprets your object code. OK, well known stuff.
   So how do you expect it to be more efficient to execute a number of
   instructions to manage memory/protection/speed/etc problems with all
   semaphores and such, when a piece of hardware can fix it in a few cycles ? 

 - In general: The basic reason ( as I see it ) to have software at all is
   FLEXIBILITY. Special purpose hardware is ALWAYS faster than general d:o
   in solving the intended problem.
   Software is not cheap to produce ( just calculate on your own salary :-)
   So the real trick is TRADEOFF. We have a price/performance ratio to take 
   care of. Just having good software tools and languages will not solve that
   part.


-- 
Dept. of Electrical Engineering	     ...!uunet!mcvax!enea!rainier!bertil
University of Linkoping, Sweden	     bertil@rainier.se, bertil@rainier.UUCP