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