ARM System Architecture

By: S.B. Furber
Published by: Addison Wesley Longman
ISBN: 0-201-40352-8


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:

oPrerequisite knowledge

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.

oTable of Contents

Preface v

1 An Introduction to Processor Design 1

2 The ARM Architecture 37

3 ARM Assembly Language Programming 51

4 ARM Organization and Implementation 77

5 The ARM Instruction Set 109

6 Architectural Support for High-Level Languages 159

7 The Thumb Instruction Set 199

8 Architectural Support for System Development 219

9 ARM Processor Cores 243

10 Memory Hierarchy 271

11 Architectural Support for Operating Systems 287

12 ARM Processor Chips 309

13 ARM Systems 339

14 Embedded ARM Processor Cores 369

Appendix: Computer Logic 389

Glossary 397

Bibliography 405

Index 409


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:

page 4, 1st para, line 5:

page 57, MUL and MLA instruction examples:

page 64, Figure 3.2:

page 68, 1st code example, 2nd line:

page 168, Equation 12:

page 203, Figure 7.2:

page 256, last para, 1st line:

page 385, Table 14.2:

page 409, AMBA index entry: