- Paperback: 432 pages
- Publisher: Addison-Wesley Professional; 2 edition (August 14, 2000)
- Language: English
- ISBN-10: 0201675196
- ISBN-13: 978-0201675191
- Product Dimensions: 7.4 x 0.8 x 9.3 inches
- Shipping Weight: 1.6 pounds (View shipping rates and policies)
- Average Customer Review: 21 customer reviews
- Amazon Best Sellers Rank: #639,278 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
ARM System-on-Chip Architecture (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
From the Author
This book was written for professional engineers who need to get up to speed on the ARM microprocessor quickly, and for students who need a reference text for a course on ARM architecture and/or programming.
It complements the ARM datasheets and other technical documentation by providing more context and explanatory material - the datasheets give the 'what' and 'how' of the ARM technology, whereas this book explains 'why' the technology is as it is.
The ARM is widely used in system-on-chip designs as the processing 'engine' at the heart of the system. It is at the forefront of the new wave of mobile systems (mobile phones, personal organisers, digital cameras, MP3 players...) and industrial demand for people with experience in ARM-based hardware and software design experience is very high.
From the Inside Flap
This book introduces the concepts and methodologies employed in designing a system-on-chip (SoC) based around a microprocessor core and in designing the microprocessor core itself. 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 SoCs and 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 wishes to understand the design of the ARM should find that the general principles illuminate the rationale for the ARM being as it is.
Other microprocessor architectures are not described in this book. The reader who wishes to make a comparative study of 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:
Professional hardware and software engineers who are tasked with designing an SoC product which incorporates an ARM processor, or who are evaluating the ARM for a product, should find the book helpful in their duties. Although there is considerable overlap with ARM technical publications, this book provides a broader context with more background. It is not a substitute for the manufacturers data, since much detail has had to be omitted, but it should be useful as an introductory overview and adjunct to that data.
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.
On 26 April 1985, the first ARM prototypes arrived at Acorn Computers Limited in Cambridge, England, having been fabricated by VLSI Technology, Inc., in San Jose, California. A few hours later they were running code, and a bottle of Moët & Chandon was opened in celebration. For the remainder of the 1980s the ARM was quietly developed to underpin Acorns desktop products which form the basis of educational computing in the UK; over the1990s, in the care of ARM Limited, the ARM has sprung onto the world stage and has established a market-leading position in high-performance low-power and low-cost embedded applications.
This prominent market position has increased ARMs resources and accelerated the rate at which new ARM-based developments appear.
The highlights of the last decade of ARM development include:
the introduction of the novel compressed instruction format called Thumb which reduces cost and power dissipation in small systems;
significant steps upwards in performance with the ARM9, ARM10 and StrongARM processor families;
a state-of-the-art software development and debugging environment;
a very wide range of embedded applications based around ARM processor cores.
Most of the principles of modern SoC and processor design are illustrated somewhere in the ARM family, and ARM has led the way in the introduction of some concepts (such as dynamically decompressing the instruction stream). The inherent simplicity of the basic 3-stage pipeline ARM core makes it a good pedagogical introductory example to real processor design, whereas the debugging of a system based around an ARM core deeply embedded into a complex system chip represents the
cutting-edge of technological development today.
Chapter 1 starts with a refresher on first year undergraduate processor design material. It illustrates the principle of abstraction in hardware design by reviewing the roles of logic and gate-level representations. It then introduces the important concept of the Reduced Instruction Set Computer (RISC) as background for what follows, and closes with some comments on design for low power.
Chapter 2 describes the ARM processor architecture in terms of the concepts introduced in the previous chapter, and Chapter 3 is a gentle introduction to user-level assembly language programming and could be used in first year undergraduate teaching for this purpose.
Chapter 4 describes the organization and implementation of the 3- and 5-stage pipeline ARM processor cores at a level suitable for second year undergraduate teaching, and covers some implementation issues.
Chapters 5 and 6 go into the ARM instruction set architecture in increasing depth. Chapter 5 goes back over the instruction set in more detail than was presented in Chapter 3, including the binary representation of each instruction, and it penetrates more deeply into the corners of the instruction set. It is probably best read once and then used for reference. Chapter 6 backs off a bit to consider what a high-level language (in this case, C) really needs and how those needs are met by the ARM instruction set. This chapter is based on second year undergraduate material.
Chapter 7 introduces the Thumb instruction set which is an ARM innovation to address the code density and power requirements of small embedded systems. It is of peripheral interest to a generic study of computer science, but adds an interesting lateral perspective to a postgraduate course.
Chapter 8 raises the issues involved in debugging systems which use embedded processor cores and in the production testing of board-level systems. These issues are background to Chapter 9 which introduces a number of different ARM integer cores, broadening the theme introduced in Chapter 4 to include cores with Thumb, debug hardware, and more sophisticated pipeline operation.
Chapter 10 introduces the concept of memory hierarchy, discussing the principles of memory management and caches. Chapter 11 reviews the requirements of a modern operating system at a second year undergraduate level and describes the approach adopted by the ARM to address these requirements. Chapter 12 introduces the integrated ARM CPU cores (including StrongARM) that incorporate full support for memory management.
Chapter 13 covers the issues of designing SoCs with embedded processor cores. Here, the ARM is at the leading edge of technology. Several examples are presented of production embedded system chips to show the solutions that have been developed to the many problems inherent in committing a complex application-specific system to silicon.
Chapter 14 moves away from mainstream ARM developments to describe the asynchronous ARM-compatible processors and systems developed at the University of Manchester, England, during the 1990s. After a decade of research the AMULET technology is, at the time of writing, about to take its first step into the commercial domain. Chapter 14 concludes with a description of the DRACO SoC design, the first commercial application of a 32-bit asynchronous microprocessor.
A short appendix presents the fundamentals of computer logic design and the terminology which is used in Chapter 1.
A glossary of the terms used in the book and a bibliography for further reading are appended at the end of the book, followed by a detailed index.
The chapters are at an appropriate level for use on undergraduate courses as follows:
Chapter 1 (basic processor design); Chapter 3 (assembly language programming); Chapter 5 (instruction binaries and reference for assembly language programming).
Chapter 4 (simple pipeline processor design); Chapter 6 (architectural support for high-level languages); Chapters 10 and 11 (memory hierarchy and architectural support for operating systems).
Chapter 8 (embedded system debug and test); Chapter 9 (advanced pipelined processor design); Chapter 12 (advanced CPUs); Chapter 13 (example embedded systems).
A postgraduate course could follow a theme across several chapters, such as processor design (Chapters 1, 2, 4, 9, 10 and 12), instruction set design (Chapters 2, 3, 5, 6, 7 and 11) or embedded systems (Chapters 2, 4, 5, 8, 9 and 13).
Chapter 14 contains material relevant to a third year undergraduate or advanced postgraduate course on asynchronous design, but a great deal of additional background material (not presented in this book) is also necessary.
Many of the figures and tables will be made freely available over the Internet for non-commercial use. The only constraint on such use is that this book should be a recommended text for any course which makes use of such material. Information about this and other support material may be found on the World Wide Web at:
Any enquiries relating to commercial use must be referred to the publishers. The assertion of the copyright for this book outlined on page iv remains unaffected.
The author welcomes feedback on the style and content of this book, and details of any errors that are found. Please email any such information to:
Many people have contributed to the success of the ARM over the past decade. As a policy decision I have not named in the text the individuals with principal responsibilities for the developments described therein since the lists would be long and attempts to abridge them invidious. History has a habit of focusing credit on one or two high-profile individuals, often at the expense of those who keep their heads down to get the job done on time. However, it is not possible to write a book on the ARM without mentioning Sophie Wilson whose original instruction set architecture survives, extended but otherwise largely unscathed, to this day.
I would also like to acknowledge the support received from ARM Limited in giving access to their staff and design documentation, and I am grateful for the help I have received from ARMs semiconductor partners, particularly VLSI Technology, Inc., which is now wholly owned by Philips Semiconductors.
The book has been considerably enhanced by helpful comments from reviewers of draft versions. I am grateful for the sympathetic reception the drafts received and the direct suggestions for improvement that were returned. The publishers, Addison Wesley Longman Limited, have been very helpful in guiding my responses to these suggestions and in other aspects of authorship.
Lastly I would like to thank my wife, Valerie, and my daughters, Alison and Catherine, who allowed me time off from family duties to write this book. 0201675196P04062001
Browse award-winning titles. See more
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
This book is a superb introduction to the ARM architecture, and that is why you should buy this book if you do buy it. If you have had a computer architecture course of any kind, you will probably be bored silly by the discussions of pipelines and all that, but if not this would be a great book to read to get a grip on all of that. This book is kind of a sheep in wolfs clothing. Ignore the title and grab this as an excellent introduction to the ARM if you are looking for one. The book is overdue for a revision. I think they should ditch the dated SoC stuff and change the title to be "an Introduction to the ARM architecture".
Also, not to be ignored, Furber is a very clear writer -- way above most of the pack.
Unfortunately in 2014, this book dates back 14 years to 2000, but it still contains content up to ARM 9 and ARM 10, so that should be adequate for this reader. I do wonder whether the coverage of asynchronous Amulet chips in chapter 14 became the more recent several series of Cortex ARM chips in the intervening years or not. From Googling author, Professor Steve Furber, he has personally and professionally gone beyond any concerns that would produce a needed 3rd edition of this book. He is a 60 yr old honored professor with a bunch of Ph.D. graduates.
I started reading this book on Sat 8Feb14 and have read all of chapters 1, 2, 4, 8 thru Tue 18Feb. Chapters 3, 5, 7 all are about assembly language and Thumb programming, which don't really have much to do with architecture as such, and it is easily possible to skip those chapters. See the Amazon 'Look Inside' for this book to see the whole table of contents, though it is not linked for easy access to the book.
For convenience, here are some BASIC BOOK CONTENTS: 1 An Introduction to Processor Design-1 / 2 The ARM Architecture-35 / 3 ARM Assembly Language Programming-49 / 4 ARM Organization and Implementation-74 / 5 The ARM Instruction Set-105 / 6 Architectural Support for High Level Languages-151 / 7 The Thumb Instruction Set-188 / 8 Architectural Support for System Development-207 / 9 ARM Processor Cores-247 / 10 Memory Hierarchy-269 / 11 Architectural Support for Operating Systems-290 / 12 ARM CPU Cores-317 / 13 Embedded ARM Applications (now ancient devices)-347 / 14 The AMULET Asynchronous ARM Processors-374 / Appendix: Computer Logic-399 / Glossary (limited to just some acronyms)-405 / (small) Bibliography-410 / (poor) Index-413 / Back matter after the Appendix are all mighty limited.
For a great introduction that also covers the Boolean circuit symbols used a lot in the present book: Ones and Zeros: Understanding Boolean Algebra, Digital Circuits, and the Logic of Sets (IEEE Press Understanding Science & Technology Series), especially chapter 4 of the linked book. I read the whole book in 2013 and wrote a rather thorough review of it, plus some Boolean history.
Future reading plans in this book are to finish reading long chapter 8 and to read chapters 9, 10, 12. Did finish the read of chapter 8 on Tue 18Feb14 afternoon. Finished rather tedious chapter 9 early pm of Thu 20Feb, and then just 10.1 of chapter 10, and minor 12.1 and all 12.4-12.5 of chapter 12 to get my target ARM 9 versions completed, finishing my read of this book in mid afternoon of Thu 20Feb14. Later in the book, jargon does become intense, exacerbated by the junk glossary and main index in the back. All chapters 1,2,4,8,9, much 12 read 8-20 Feb-2014.
Incidentally, my pending 3rd HP50g calculator is intended to be x-rayed and/or disassembled to see what is in those complicated calculators, as my two functioning HP50g machines are plenty adequate for my advanced calculating needs. The 3rd machine is also by quite a bit the lowest price I've paid for an HP50g. Received that 3rd HP50g late day on Tue 18Feb14, and had it peeled open by 18:34 on that evening. A Samsung ARM chip inside, and from its small size it is probably an ARM 968 design, based on info at the ARM website.
This is also entirely a technical book. There is little or nothing about Arm's commercial or marketing strategies or policies.
What it does have are quite detailed discussions of the instruction set architectures, the rationale behind the features, the CPU designs, including CPU sequencing, and "bus furniture" such as caches and memory management units. There's a chapter at the end about asynchronous Arm CPUs. (These were an experiment. Several models were used commercially to control cellphone towers, because since they have no clock, they have no spectral RF emissions.)
The basics are still valid -- but to learn about newer ARM Cortex processors you need supplemental books.