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 94086rod@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 Chronicleles@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