Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Computer design and architecture (3rd ed.)
Shiva S., Marcel Dekker, Inc., New York, NY, 2000. 718 pp. Type: Book (9780824703684)
Date Reviewed: Aug 1 2000

Computer architecture is a big topic and, hence, more than a bit difficult to teach. To understand it well, a wide range of detail needs to be mastered--ranging from digital logic at its lowest level and its implementation at the gate level, up to the architecture of entire computers. Digital circuits ranging in size from only a few transistors up to millions of transistors are usually covered in a single text.

Understanding this range of detail is complicated by the constraints of the physical realization of computer hardware. These include timing considerations, the various implementation styles used (RISC, CISC, and VLIW), and commercial interests, such as the need to maintain support for older architectures in the Intel x86 line of processors.

This book presents this range of detail quite well. It is very readable and effectively conveys the author’s knowledge of the subject. Starting with basic logic, Shiva shows how components are built, from simple gates on up. At the lowest level, he covers the logical basis of the circuits, from the Boolean logic of truth tables, through the way the circuits interact (including timing considerations), to the construction of the basic components (encoders, decoders, registers, and so on) of digital hardware. At the highest level, entire computer architectures are considered.

Reading this text, I learned some new things and found new ways to consider some of the things I have seen before. I would be reluctant to use it in a class, however, even though I rather like it. The first three chapters, covering logic, sequential circuits, and memory, are excellent. After that, though, it begins to slip a bit. It is not that the information presented is not excellent, readable, and informative; rather, the author seems to assume too much knowledge on the part of the reader.

In several places, when seeking a more complete explanation of a term or abbreviation in order to more fully understand a particular point, I found that these were difficult to locate and, too often, not even explained in the text. In other places I found terms used in ways that did not seem familiar, or statements that puzzled me. As an example, an architecture is said to provide “two IEEE 1394 connections,” but the author says that this requires Windows 98 or Windows NT. Does this really mean that other operating systems cannot take advantage of this feature?

In some places, I found the coverage of topics to be a bit odd. The variance in implementation philosophy of the RISC and CISC camps is not explained in enough depth for readers to appreciate how wide a gap there has been between these camps, and how the differences in philosophy have influenced newer architectures.

The later parts of the book are further marred by poor reproductions of figures from technical manuals and by some other problems of detail. For example, a two-page diagram of registers includes an entire page of empty boxes labeled D0, D1,…D7, A0, A1… and so on. This does not seem to convey any valuable information. In another section we find the statement that the virtual address space “covers the full 231 bytes of the current user address space.” 231 bytes? I suppose that this should be 231 bytes--but I had to look at it a couple times before I realized this, and this kind of simple error is all too frequent.

To compound these problems, the index is seriously lacking, and there is no glossary of terms and acronyms to help with that lack. Several acronyms are used that seem not to be defined (at least, I could not find definitions for them).

Many of these problems are relatively minor in comparison with the book’s value, but they make it much harder to use as a text. Computer architecture is already intimidating for the average student in a computer science or computer engineering program. Readers who already know something about computer design and architecture will appreciate this book and may well learn something from it, and I might use it as supplementary reading for students. But I am not at all sure I would use it as a primary text.

Reviewer:  Jeffrey Putnam Review #: CR123014
Bookmark and Share
  Featured Reviewer  
 
Processor Architectures (C.1 )
 
 
General (B.0 )
 
Would you recommend this review?
yes
no
Other reviews under "Processor Architectures": Date
Understanding the energy efficiency of simultaneous multithreading
Li Y., Brooks D., Hu Z., Skadron K., Bose P.  Low power electronics and design (Proceeding of the 2004 Iinternational Symposium on Low Power Electronics and Design, Newport Beach, California, USA, Aug 9-11, 2004)44-49, 2004. Type: Proceedings
Nov 23 2005
Dynamic coalescing for 16-bit instructions
Krishnaswamy A., Gupta R. ACM Transactions on Embedded Computing Systems 4(1): 3-37, 2005. Type: Article
Aug 15 2006
Understanding co-running behaviors on integrated CPU/GPU architectures
Zhang F., Zhai J., He B., Zhang S., Chen W. IEEE Transactions on Parallel and Distributed Systems 28(3): 905-918, 2017. Type: Article
Aug 8 2017
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy