The book describes the design and operation of the ARM processor, a 32-bit RISC microprocessor from ARM Ltd. Full details are given of the ARM and Thumb instructions sets and the memory management architecture. There is illustrated discussion of how the ARM instruction set supports high-level language constructs.
ARM products are described, including the ARM6, ARM7TDMI and ARM8 cores, the 600/610, 700/710, 810 and StrongARM and some information on the AMULET asynchronous ARM cores. Embedded system design using the ARM is covered, including the debug methodology, hardware system design principles and software issues. Examples include the ARM7500 NC chip, the GPS Butterfly and the VLSI Ruby II and VIP chips.
The book also includes brief details of the Apple Newton, the Acorn Archimedes and RiscPC and the ARM PIE card as illustrations of practical ARM applications.
The full Table of Contents is given below.
This book introduces the concepts and methodologies employed in designing microprocessors and in designing systems around microprocessors. The principles of microprocessor design are made concrete by extensive illustrations based upon the ARM.
The aim of the book is to assist the reader in understanding how microprocessors are designed and used, and why a modern processor is designed the way that it is. The reader who wishes to know only the general principles should find that the ARM illustrations add substance to issues which can otherwise appear somewhat ethereal; the reader who specifically wishes to understand design of the ARM should find that the general principles illuminate the rationale for the ARM being as it is.
Other commercial microprocessor architectures are not described in this book. The reader who wishes to make a comparative study of such architectures will find the required information on the ARM here but must look elsewhere for information on other designs.
The book is intended to be of use to two distinct groups of readers:
Students of computer science, computer engineering and electrical engineering should find the material of value at several stages in their courses. Some chapters are closely based on course material previously used in undergraduate teaching; some other material is drawn from a postgraduate course.
This book is not intended to be an introductory text on computer architecture or computer logic design. Readers are assumed to have a level of familiarity with these subjects equivalent to that of a second year undergraduate student in computer science or computer engineering. Some first year material is presented, but this is more by way of a refresher than as a first introduction to this material.
No prior familiarity with the ARM processor is assumed.
Figures and tables are available as gzipped PostScript files by FTP, each file containing all the figures and tables (but not photos) from a chapter arranged as one figure or table per page, each page being a titled landscape slide. The PostScript was generated from Microsoft PowerPoint v4 running on an Apple Mac and has been tested for 'ghostview' compatibility.
The figures and tables are made freely available on the understanding that any course which makes use of them will have this book as a recommended text.
Get them from here.
Please email S.B. Furber if you use these figures as I am interested in tracking their use.
The following changes have been made for the 2nd print run of the book: