Preface
 

    This book examines computer architecture, computability theory, and the history of
computers from the perspective of minimalist computing - a framework in which the
instruction set consists of a single instruction. This approach is different than that taken in
any other computer architecture text, and it is a bold step.
 
    The audience for this book is researchers, computer hardware engineers, software
engineers, and systems engineers who are looking for a fresh, unique perspective on
computer architecture. Upper division undergraduate students and early graduate students
studying computer architecture, computer organization, or embedded systems will also
find this book useful. A typical course title might be "Special Topics in Computer
Architecture."
 
    The organization of the book is as follows. First, the reasons for studying such an
"esoteric" subject are given. Then, the history and evolution of instruction sets is studied
with an emphasis on how modern computing has features of one instruction computing.
Also, previous computer systems are reviewed to show how their features relate to one
instruction computers.
 
    Next, the primary forms of one instruction set computing are examined. The theories of
computation and of Turing machines are also reviewed to examine the theoretical
nature of one instruction computers.
 
    Other processor architectures and instruction sets are then mapped into single
instructions to illustrate the features of both types of one instruction computers. In doing
so, the features of the processor being mapped are highlighted.
 
    In the final chapter, the applications for one instruction processors are studied, and
similar phenomena in nature and future work are discussed.
 
    For brevity, it is assumed that the reader is already familiar with digital logic,
computer architecture, assembly language programming, and a high level language like
C. In addition, some familiarity with discrete mathematics and the theory of computation
would be helpful, although it is not necessary. In any case, many suitable reference
sources, and a rather extensive glossary are provided at the end of the text. 
 
    Finally, a generic form of assembly language is used throughout the text so that
familiarity with one processor or another is not necessary. This assembly language is
similar to MOS Technologies 6502 microprocessor. Appendix A provides a summary of
the generic instruction set.