An introduction to computer architecture for the SPARC® reduced instruction set architecture, this text teaches how to evaluate compilers, data strucures, and control structures in order to write efficient programs in a high-level language.
Written from a programmer's perspective, this book introduces the SPARC assembly language to readers early on. Other introductory material encompasses making use of UNIX® tools (the m4 macro processor, the assembler, the gnu emacs editor, and the gdb debugger). Further coverage includes a formal definition of the von Neumann machine, its relationship to programmable calculators, and to the JAVA™ bytecode and JAVA virtual machine. This book's loyal audience has been anticipating a revision of a very successful book for this growing market. Not only is this book suitable for introductory computer architecture courses, but for programmers who will be programming SPARC architecture machine in languages such as C and C++.
RICHARD P. PAUL received a Ph.D. degree in Computer Science from Stanford University. His career as an educator and researcher has spanned three decades, beginning with his development of the WAVE robot language. He was one of the first researchers to demonstrate the use of programmable robots for assembly. He went on to join the faculty at Purdue University as a professor of Electrical Engineering and the Ransburg Professor of Robotics. Dr. Paul currently teaches at the University of Pennsylvania in Computer and Information Science. His expertise extends his contributions into major U.S. robot manufacturers, researching the field of robot programming language development. He has served as one of the founding editors of the International Journal of Robotics Research, as well as a President of the IEEE Council on Robotics and Automation. This year Dr. Paul will become emeritus. His current research and development interests include time-delayed teleoperation and the development of the teleprogramming system.--This text refers to an alternate Paperback edition.
First explaining different stack concepts, by chapter 2 you're already able to write simple programs doing arithmetic calculations and do/while/for loops.
Explaining piplines, von-neumann cycles, macro assembly, debuggers, binary arithmetic, digital logic (boolean) is all presented by chapter 4.
By chapter 5 onwards the actual details of the SPARC chip are discussed: how the stack handles data structures and arrays, subroutines, stack pointers, frame pointers, traps, memory alignment, IO, FPU calculations.
Even though its published in 1993 - its a good grounding for 64-bit computing or understanding other load/store ALU's.
If nothing else - you'll understand difficulties compiler programmers have.
For SPARC developers/system administrators/engineers - its a must.
The book really delivers what its rather verbose title implies. That is, a really outstanding feature of the text is the way in which the author translates the standard C/C++ constructs to their low-level counterparts. He does this in stages - creating a variety of examples that progress from functional but grossly inefficient code fragments up to superbly succinct variants. I have used this book in a one semester undergraduate course at the University of Delaware for three years and have also used excerpts from it when I have taught the MIPS Architecture. There is no other book that treats RISC (or CISC) architecture from Professor Paul's relational premise, with which I totally agree. Having taught INTEL stuff for 10+ years, I firmly believe that much of its content could be effectively utilized in CISC courses. The book is also used as the secondary text in the graduate compiler course at U.D.
The book is not without flaws, most of which are because of an incredible number of typographical errors - I have counted over 60 just involving commas! Hopefully the new edition which I believe is due to be published soon will have been edited/typeset with more care. Also, there are some minor changes to the gnu software (gdb and gcc) that need to be upgraded.