Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Stack computers: the new wave
Philip J. J. (ed), Halsted Press, New York, NY, 1989. Type: Book (9789780470214671)
Date Reviewed: Jun 1 1990

This book presents another view of the RISC versus CISC controversy, and if only for its commentary on that debate, it would be worthwhile. Yet it does considerably more. It provides key insights into how stack machines work and what their strengths and weaknesses are. It presents a taxonomy of existing serial processors and shows that for over 25 years the stack architecture has been subtly influencing both hardware and software, but that major computational gains have begun only in the past few years. Although stack processors are unlikely to dominate the much-publicized engineering workstation market, they may very well fill enormously larger niches in everything from consumer electronics to high-performance military avionics.

--From the Foreword

The author of this book is very knowledgeable on stack computers. He was the chief architect for the two stack computers WISC CPU/16 and CPU/32. He introduces in this book a useful taxonomy for classifying the many different types of stack computers (chapter 2). By introducing the three axes of stack machine design space, namely number of stacks, size of each stack, and number of instruction operands, Koopman can readily place any existing or future stack computer into the correct classification and predict its capabilities along the three axes.

The book is well organized, and the preface gives a concise summary of the book’s nine chapters and four appendices. The references are fairly extensive and the index is adequate. The following paragraphs are based on the chapter summary in the preface.

Chapter 1 is a review of stacks and their use as well as an introduction to the rest of the book.

Chapter 2 presents a taxonomy of hardware support for stacks in terms of the three-axis design mentioned above. This taxonomy points out the trade-offs that are made by different classes of machines.

Chapter 3 focuses on the part of the stack computer design space that employs multiple stacks with 0-operand addressing. This chapter also presents a detailed description of a generic stack machine as a point of departure for discussing the designs in later chapters.

Chapter 4 describes four 16-bit stack machines in detail. Each of these four commercially available machines represents a wide spectrum of design decisions, and each design is described in terms of its block diagram, instruction set, architectural features, implementation technology, and intended application areas.

Chapter 5 follows the format of chapter 4 in describing three 32-bit stack machines.

Chapter 6 is a detailed discussions of the issue of stack machine design from a computer architect’s point of view. This chapter presents detailed discussions and gives experimental data to reveal how stack machines really work.

Chapter 7 discusses the software issues involved in using stack computers. The fast subroutine call is important for using a stack machine effectively and so is the uniform interface between all levels of hardware and software. This chapter also discusses issues such as choosing a programming language and how stack machines can efficiently support many different languages other than the stack-oriented language, such as FORTH.

Chapter 8 shows how stack machines can be used in a variety of application areas, especially real-time embedded control. It also describes the design alternatives and decisions that achieve an appropriate balance between system cost and performance, such as the use of 16-bit or 32-bit processors.

Chapter 9 is filled with predictions and speculation on the future of stack machines and their place in the world of computing. Stack machine designers are beginning to address issues such as dedicated hardware support for conventional languages, memory management, and the limits of memory bandwidth.

Appendix A is a survey of the stack machines included in the taxonomy of chapter 2. Appendix B provides a glossary of FORTH primitives. Appendix C gives an unabridged listing of some experimental results from chapter 6. Appendix D gives addresses for more information about the stack machines discussed in chapters 4 and 5.

In summary, this book is a good reference for both designers of stack machines and members of the general computer science audience who want to learn more about stack computers and their languages and applications.

Reviewer:  E. Y. Lee Review #: CR113904
Bookmark and Share
 
Stack-Oriented Processors (C.1.3 ... )
 
 
Hardware/ Software Interfaces (C.0 ... )
 
Would you recommend this review?
yes
no

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