[comp.arch] Books to read before thinking about computer architecture

mash@mips.COM (John Mashey) (09/25/89)

Occasionally, people send e-mail asking for  references  on  good
books  in  computer  architecture and design.  (That might make a
good discussion topic: what are your choices  for  the  top  5-10
such books? and why?)

Following is NOT my list for that topic, but for a list of  books
to  read  BEFORE thinking about computer architecture and design.
None of them look like they have anything to do with such design,
but I think they have useful lessons in:

critical thinking: GAR81a, PAUL88a, RAN86a
good design and bad design, other areas of  engineering:  BLA74a,
NOR88a, PAP73a, PAP74a, PET82a
clear expression of ideas, in English or graphics: STR79a, TUF83a

All are well-written, often amusing, and  are  generally  written
not  for  an expert in the field, but for the intelligent layper-
son.  (What's missing is an equally good  book  on  basic  logic;
maybe someone can suggest one; also, "Lies, Damn Lies, and Stat-
istics should be hera, but I can't find mine).

[BLA74a]
   Peter Blake, Form  Follows  Fiasco,  Why  Modern  Architecture
   Hasn't  Worked.   Little,  Brown, and Company, Boston/Toronto,
   1974.
   Architectural fantasies that  haven't  produced  liveable  and
   useable designs, and why.

[GAR81a]
   Martin Gardner, Science,  Good,  Bad,  and  Bogus,  Prometheus
   Books, Buffalo, NY, 1981.
   Pseudoscience; ESP; famous fakes and unmasking thereof; margi-
   nal  cases;  many lessons in critical thinking and the differ-
   ences between good science, bad  science  (i.e.,  honest,  but
   poorly-controlled  experiments),  and  outright  fakery.  Goes
   with [RAN86a]; if you like either of these, consider subscrib-
   ing ($22.50/year) to:
   The Skeptical Inquirer
   Box 229
   Buffalo, NY 14215-0229
   This is put out by the Committee for the Scientific Investiga-
   tion  of  Claims of the Paranormal (CSICOP), whose Fellows in-
   clude such folks as: Isaac Asimov, Murray  Gell-Mann,  Douglas
   Hofstadter,  Carl  Sagan, B. F.  Skinner, and many other sharp
   folks.

[NOR88a]
   Donald A. Norman, The Pyschology  of  Everyday  Things,  Basic
   Books, New York, 1988.
   A readable introduction to human-usability design,  with  many
   examples  (good  and  bad)  from everyday life, including many
   computer-related ones.

[PAP73a]
   Victor Papanek, Design  for  the  Real  World,  Bantam  Books,
   Toronto, 1973.
   Appropriate design.

[PAP77a]
   V. Papanek and J. Hennessey, How Things Don't  Work,  Pantheon
   Books, New York, 1977.
   Good thoughts for designers of anything.  See Chapter 7  espe-
   cially.

[PAUL88a]
   John Allen Paulos, INNUMERACY, Mathematical Illiteracy and its
   Consequences, Hill and Wang, New York, 1988.
   An excellent book about critical thinking  about  numbers  for
   the the non-mathematician.

[PET82a]
   Henry Petroski, To Engineer Is Human, The role of  failure  in
   successful design.  St. Martin's Press, New York, 1982.
   Most examples come  from  civil  engineering,  i.e.,  bridges,
   buildings,   but  other areas of engineering are included.  Of
   course, failures in this area are amongst the most spectacular
   in all of engineering.

[RAN86a]
   James Randi, Flim-Flam - Pyschics, ESP,  Unicorms,  and  Other
   Delusions, Prometheus Books, Buffalo, NY, 1986.
   "The Amazing Randi" looks at the history of some of  the  sil-
   lier  cases;  amusing tales of the many contenders for Randi's
   $10K reward for provable psychic events (yet to be  won);  why
   scientists  should always include a magician in the group when
   studying such things.  (Scientists are often good  at  experi-
   mental  design when studying the universe, but they aren't use
   to the universe trying to hoax them; magicians seem better  at
   experimental design for detecting hoaxes.)

[STR79a]
   W. Strunk, Jr., E. B. White, The Elements of Style,  3rd  Edi-
   tion, MacMillan, New York, 1979.
   Anyone who writes in the English language should have this.

[TUF83a]
   Edward R. Tufte, The Visual Display of  Quantitative  Informa-
   tion, Graphics Press, Cheshire, CT, 1983.
   A wonderful book on how to tell the truth well,  with  graphs,
   and how to recognize graphical gimmickry, as well.  Chapter 2,
   ``Graphical Integrity'' is especially useful.
   Also, how not to get carried away with the ``chartjunk''  made
   possible by current desktop publishing systems....
-- 
-john mashey	DISCLAIMER: <generic disclaimer, I speak for me only, etc>
UUCP: 	{ames,decwrl,prls,pyramid}!mips!mash  OR  mash@mips.com
DDD:  	408-991-0253 or 408-720-1700, x253
USPS: 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086

rod@venera.isi.edu (Rodney Doyle Van Meter III) (09/26/89)

I'll stick my neck out and toss up a nice fat one for people to shoot
down. Keep in mind that I'e only just begun graduate work in computer
engineering, and that before that my experience was very much colored
by working with VAXen (and VMS, no less).

_Computer Engineering_, Gordon Bell and friends, 1978?
Keeping in mind that it's over ten years old and is a broad case study
on the DEC way of doing things, this is an interesting book. Pre-RISC,
it takes the viewpoint that the VAX is sort of the high point of
comp[uter architecture up to that point in time. NOT a book on how to
design a computer today. Good historical book going all the way back
to the beginning of DEC.

_Computer Architecture and Parallel Processing_, Kai Hwang and Faye'
A. Briggs, McGraw-Hill, 1984
A good book on the theory of high-level design. Hwang is at USC and is
interested in supercomputing, and the book reflects that, though cost
issues occassionally come in. They do take a sort of narrow view of
SIMD machines, seeing them mainly as vector processors. It seems to be
strong on pipelining, which is an important topic in microprocessors
these days. It does occassionally reach down to the gate level for
such matters as HW implementation of cache replacement policies. It
doesn't cover such issues as instruction set design, which I'm
interested in, but other than that most of its flaws are that it's
already five years old. Work on a second edition has reportedly begun,
but it's likely to be a while before it's out.

Other than that, I read the SIGARCH notes, and every detailed
processor reference I can get my hands on.

Here's a question for you:

Should the instruction set be the same on different types of
multiprocessors as it is on a uniprocessor? Why or why not? 

Some of the hypercube-esque machines have been built around things
like the 68020. It's fast, it's easy, somebody else is out there
making the processor faster without you having to do a thing, but is
it really, fundamentally, the right idea?

		--Rod

haynes@ucscc.UCSC.EDU (Jim Haynes) (09/26/89)

Well, if we're going to talk about oldies, how about "Planning a Computer
System, Project Stretch" ed. by Buchholz.  Even though the machine is
ancient it's always a pleasure to read something by the designers on why
they designed it the way that they did - a kind of literature that is
too rare, in my opinion.
haynes@ucscc.ucsc.edu
haynes@ucscc.bitnet
..ucbvax!ucscc!haynes

"Any clod can have the facts, but having opinions is an Art."
        Charles McCabe, San Francisco Chronicle

les@unicads.UUCP (Les Milash) (09/26/89)

In article <9858@venera.isi.edu> rod@venera.isi.edu.UUCP (Rodney Doyle Van Meter III) writes:
>and every detailed processor reference I can get my hands on.
yeah!  and then try to write a digital synth on 'em.

my personal list would always include:
	Communicating Sequential Processes, C.A.R.Hoare, Prentice Hall 
	International, ???

	Intro to VLSI Systems, Conway and Mead, ???, old

	The Connection Machine, D Hillis, MITPress (or maybe ACM), ???

the most influential books&people have affected me not by communicating
_information_ so much as _perspective_.  perspective isn't explicitly
discussed usually, but you soak it up indirectly.

i'm not sure these are "to read *before* thinking [...]", they spoke 
to me after years of groping in the dark.

+	+	+	+	+	+	+	+	+	+
|	"We close our eyes / and the					|
|	processor-we-were-gearing-up-to-use has come and gone..."	|
+	+	+	+	+	+	+	+	+	+

mmm@cup.portal.com (Mark Robert Thorson) (09/28/89)

One of my personal favorites is ELECTRONIC BRAINS by Edmund C. Berkeley.
Written in the late 1940's, it covers the problems in data storage and
computation which were faced at that time, and the mechanisms which had
been developed to solve those problems.  When I say "mechanisms", I mean
both electronic and mechanical, as well as things in between.  Fascinating
stuff!

BTW, Edmund C. Berkeley was one of the founders of the ACM, and I believe
he was a co-author or the editor of the Lisp 1.0 manual.  Does anyone
know if he's still alive?

mmm@cup.portal.com (Mark Robert Thorson) (09/29/89)

Oops, the title of that old computer book is GIANT BRAINS, not what I
said in my earlier posting.

haynes@ucscc.UCSC.EDU (Jim Haynes) (09/29/89)

In article <22580@cup.portal.com> mmm@cup.portal.com (Mark Robert Thorson) writes:
>One of my personal favorites is ELECTRONIC BRAINS by Edmund C. Berkeley.
Ah, my first computer book too!  Believe the title is GIANT BRAINS.  And
Berkeley wrote a series of articles in the early 1950s Radio-Electronics
magazine, giving circuits for gates and boolean algebra and a description
of SEAC.

>BTW, Edmund C. Berkeley was one of the founders of the ACM, and I believe
>he was a co-author or the editor of the Lisp 1.0 manual.  Does anyone
>know if he's still alive?
Believe I read he died this year.


haynes@ucscc.ucsc.edu
haynes@ucscc.bitnet
..ucbvax!ucscc!haynes

"Any clod can have the facts, but having opinions is an Art."
        Charles McCabe, San Francisco Chronicle