Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Fundamentals of computer architecture and design
Bindal A., Springer International Publishing, New York, NY, 2017. 533 pp. Type: Book (978-3-319258-09-6)
Date Reviewed: Jan 25 2018

Computer architecture is a vast subject that encompasses a variety of topics such as logic design, digital circuits, arithmetic, data path, memory, and input/output (I/O). While logic design is fundamental to computer architecture, memory and I/O are up in the level of abstraction. In the 1980s and 1990s, computer architecture witnessed tremendous improvements both in technology and implementation. Now, this is a mature field in which improvements are mostly incremental. Considering the vastness of the subject, it is very challenging to cover all the topics in one book. Fundamentals of computer architecture and design succeeds in including most of the topics.

This book can be part of computer engineering and electrical engineering graduate coursework and can be a reference book for engineers. It takes a bottom-up approach in which the author has covered basic principles before going into the breadth and depth of complex topics. It can broadly be divided in three sections: logic design, I/O, and central processing unit (CPU) design. The first three chapters, dedicated to logic design, provide an overview of various topics and issues related to digital logic design. Chapters 4 and 5 discuss bus architecture and memory implementations. Chapter 6 covers microprocessor design. Chapter 7 sums up the overall system architecture along with communication modes with the CPU, including interrupts and direct memory access (DMA) transfers. The last chapter is dedicated to the design and use of field-programmable gate arrays (FPGAs) and data-driven processors.

Readers may find it overwhelming that such a wide variety of topics are covered in the book. However, the subject matter is presented concisely, and each chapter and topic is supplemented with examples and diagrams that make it very easy to understand the concepts. The author takes a practical approach and focuses more on design and implementation than on theoretical aspects. With this approach, Bindal manages to cover a variety of topics effectively.

Apart from just talking about basics, the author goes the extra mile by touching upon various complex topics without compromising clarity. For example, in the first chapter, along with the basic building blocks such as gates and multiplexers, a detailed view of various adder and multiplier architectures is presented. While describing sequential circuit design, apart from discussing flip-flops and state machines, timing methodology is also discussed. To explain the protocols of various types of memories, examples with timing waveforms are used, making them easier to understand.

Microprocessor design fundamentals with reduced instruction set computer (RISC) methodology are also covered. Different instruction formats and data paths required to execute various instructions, such as fixed-point (integer) addition and multiplication, various logical instructions, load/store instructions, and branch instructions, are described. Two pipeline design examples with four- and eight-integer instructions are presented. Further, topics such as hazards and floating-point data paths are also covered. In the section for cache, direct mapped and set associative implementation examples are given. System design has been effectively summarized with interrupt controller and peripheral device protocol design examples. Although data hazards are touched upon, readers will need to refer to other material for topics such as instruction scheduling algorithms, branch prediction, and translation lookaside buffer (TLB), which are fundamental to modern processor design.

FPGAs and data-driven processors, which are gaining popularity for contemporary high-performance applications, are described in a way that will evoke a reader’s interest. FPGA building blocks, namely look-up tables (LUTs), are given importance. Similarly, data-flow graphs, which form the basis of data-driven processors, are explained concisely.

The exercises and projects at the end of each chapter are challenging. They will not only serve as practice material, but also will strengthen the reader’s understanding of the material.

Overall, Fundamentals of computer architecture and design is well written, and the focus on design and implementation is evident. It creates a foundation before delving into complex topics, and presents the concepts of microprocessor design in a structured manner by using examples to its advantage. Barring a few topics, most bases have been covered.

Reviewer:  Krishna Nagar Review #: CR145807 (1804-0157)
Bookmark and Share
  Reviewer Selected
 
 
General (C.1.0 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Computer architecture
Baer J. Computer 17(10): 77-87, 1984. Type: Article
May 1 1985
Computer organization
Andrews M., Computer Science Press, Inc., New York, NY, 1987. Type: Book (9789780881751147)
Dec 1 1987
Computer organization: hardware/software (2nd ed.)
Gorsline G., Prentice-Hall, Inc., Upper Saddle River, NJ, 1986. Type: Book (9789780131653252)
Nov 1 1986
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