Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Guide to RISC processors : for programmers and engineers
Dandamudi S., Springer-Verlag New York, Inc., Secaucus, NJ, 2005. 387 pp. Type: Book (9780387210179)
Date Reviewed: Sep 22 2005

An elementary introduction to reduced instruction set computing (RISC) processors, with an overall emphasis on the machine-level language and not on functional chip design, is presented in this book. It is split into three sections: a brief comparison of complex instruction set computing (CISC) and RISC designs, an overview of a number of current RISC chips, and a large section on assembly-level programming based on the microprocessor without interlocked pipeline stages (MIPS) RISC architecture. The book does not concern itself with advanced aspects of processor design, and only briefly mentions branch prediction. There is no discussion of cache or memory page access, and there is only a brief mention of pipelining and multiprocessing units.

The first section describes the concepts of an instruction set architecture (ISA), comparing the CISC with the RISC approach. The concepts of ISA instruction types and formats, addressing modes, and load/store architecture are introduced. The discussion continues with descriptions of flow control, unconditional and conditional branching, and branch prediction methods. The section then introduces procedure calls and parameter passing techniques, and concludes with an overview of RISC ISA principles.

The second section describes features and functions of a number of RISC processors. These include MIPS, scalable processor architecture (SPARC), PowerPC, Itanium, and ARM. The MIPS is only briefly discussed here. For the other processors, each chapter begins with a discussion of the registers, addressing modes, instruction set, and instruction format. Each chapter then describes typical instructions for arithmetic, logical, and branch operations. In the case of the Itanium processor, there are descriptions of instruction parallelism with bundles and Itanium branch prediction and elimination.

The final section, which encompasses over half of the book, incorporates an introduction to assembly-level programming based on the MIPS architecture. All of the examples are based on using a MIPS 2000 simulator called SPIM, which is freely available on the Internet and incorporates an assembler, runtime simulator with simple system calls, and a debugger. SPIM simulates the older MIPS 2000, and does not handle delayed branches. This section has chapters on procedures, addressing modes, arithmetic operations, conditional execution, logical and shift operations, recursion, and floating point operations. Each chapter describes the appropriate instruction sets, condition codes, and sample instructions, and illustrates each type with several simple examples. Illustrations include parameter passing in registers, stack operations, array handling, leaf and nonleaf procedures, and recursion. Examples include simple sums, calculating Fibonacci numbers with both nonrecursion and recursion, digit manipulation (both digit sums and converting integers to strings and visa versa), character manipulation, selection sort, quick sort, and adding floating point numbers.

Even though the MIPS processors are described as being mainly used in embedded applications, all of the examples are simple mathematical examples. No examples are given of how embedded systems work, and, although exceptions are mentioned, no information is provided about how they are handled. There is also no information about interrupts and interrupt handling, topics that are essential for embedded systems. This book is similar to a number of other books on RISC assembler programming [1,2,3]. On the other hand, it is not as comprehensive as some other books on the topic [4,5,6].

Reviewer:  J. S. Williams Review #: CR131810 (0608-0776)
1) Britton, R. MIPS assembly language programming. Prentice Hall, Upper Saddle River, NJ, 2004.
2) Dandamundi, S.P. Introduction to assembly language programming. Springer, New York, NY, 2004.
3) Waldon, J. Introduction to RISC assembly language programming. Addison-Wesley, Boston, MA, 1998.
4) Patterson, D.; Hennessy, J.L. Computer organization and design: the hardware/software interface. Morgan Kaufmann, San Francisco, CA, 2004.
5) Hennessy, J.L.; Patterson, D.A. Computer architecture: a quantitive approach. Morgan Kaufmann, San Francisco, CA, 2002.
6) Tanenbaum, A.S. Structured computer organization. Prentice Hall, Upper Saddle River, NJ, 2005.
Bookmark and Share
 
Instruction Set Design (C.0 ... )
 
 
Macro And Assembly Languages (D.3.2 ... )
 
 
RISC/ CISC, VLIW Architectures (C.1.1 ... )
 
 
System Architectures (C.0 ... )
 
 
Language Classifications (D.3.2 )
 
 
General (C.0 )
 
Would you recommend this review?
yes
no
Other reviews under "Instruction Set Design": Date
RISC/CISC development and test support
Hobbs M., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780133884142)
Nov 1 1992
A perspective on RISC
Sprunt H., Jensen D., Charles Y. I., Colwell R., McGraw-Hill, Inc., New York, NY, 1986. Type: Book (9789780070425859)
May 1 1988
The RISC II micro-architecture
Katevenis M., Robert W. J., Patterson D., Séquin C. (ed) Advances in VLSI and Computer Systems 1(2): 138-152, 1984. Type: Article
Jun 1 1985
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