Showing posts with label ARM Processors. Show all posts
Showing posts with label ARM Processors. Show all posts

Saturday, May 15, 2010

The Definitive Guide to the ARM Cortex M3 TI Second Edition by Joseph Yiu



Product Description

This user's guide does far more than simply outline the ARM Cortex-M3 CPU features; it explains step-by-step how to program and implement the processor in real-world designs. It teaches readers how to utilize the complete and thumb instruction sets in order to obtain the best functionality, efficiency, and reuseability. The author, an ARM engineer who helped develop the core, provides many examples and diagrams that aid understanding. Quick reference appendices make locating specific details a snap!


For Free Downloads.


Whole chapters are dedicated to:
Debugging using the new CoreSight technology
Migrating effectively from the ARM7
The Memory Protection Unit
Interfaces, Exceptions,Interrupts
...and much more!

  • The only available guide to programming and using the groundbreaking ARM Cortex-M3 processor
  • Easy-to-understand examples, diagrams, quick reference appendices, full instruction and Thumb-2 instruction sets are included 
  • T teaches end users how to start from the ground up with the M3, and how to migrate from the ARM7


Co-verification of Hardware and Software for ARM SoC Design (Embedded Technology)



Review

"Jason Andrews is one of the acknowledged world's experts in hardware/software verification. His unique knowledge, spanning both hardware design and software development, has enabled him to come up with breakthrough design tools and methodologies solving many of today's most pressing verification challenges. This is one of the most important books to come on the scene in the last ten years." Gary Smith, Chief Analyst, Design & Engineering, Gartner Dataquest .
For Free Downloads.

Book Description

Faster time to market, increased confidence in designs, and higher productivity through shorter testing times can be achieved via co-verification- this book shows you how!

Product Description

Hardware/software co-verification is how to make sure that embedded system software works correctly with the hardware, and that the hardware has been properly designed to run the software successfully -before large sums are spent on prototypes or manufacturing.

This is the first book to apply this verification technique to the rapidly growing field of embedded systems-on-a-chip(SoC). As traditional embedded system design evolves into single-chip design, embedded engineers must be armed with the necessary information to make educated decisions about which tools and methodology to deploy. SoC verification requires a mix of expertise from the disciplines of microprocessor and computer architecture, logic design and simulation, and C and Assembly language embedded software. Until now, the relevant information on how it all fits together has not been available. Andrews, a recognized expert, provides in-depth information about how co-verification really works, how to be successful using it, and pitfalls to avoid. He illustrates these concepts using concrete examples with the ARM core - a technology that has the dominant market share in embedded system product design. The companion CD-ROM contains all source code used in the design examples, a searchable e-book version, and useful design tools.

* The only book on verification for systems-on-a-chip (SoC) on the market

* Will save engineers and their companies time and money by showing them how to speed up the testing process, while still avoiding costly mistakes

* Design examples use the ARM core, the dominant technology in SoC, and all the source code is included on the accompanying CD-Rom, so engineers can easily use it in their own designs

About the Author

Jason Andrews is currently working in the areas of hardware/software co-verification and testbench methodology for SoC design at Verisity. He has implemented multiple commercial co-verification tools as well as many custom co-verification solutions. His experience in the EDA and embedded marketplace includes software development and product management at Verisity, Axis Systems, Simpod, Summit Design, and Simulation Technologies. He has presented technical papers and tutorials at the Embedded Systems Conference, Communication Design Conference and IP/SoC and written numerous articles related to HW/SW co-verification and design verification. He has a B.S. in electrical engineering from The Citadel, Charleston, S.C., and an M.S. in electrical engineering from the University of Minnesota. He currently lives in the Minneapolis area with his wife, Deborah, and their four children.


Download From 4shared


ARM System Developer's Guide: Designing and Optimizing System Software (The Morgan Kaufmann Series in Computer Architecture and Design)



Review

"The ARM architecture has enabled a rich set of new applications on increasingly powerful wireless platforms. Media-rich applications such as 3D games, camera and videophones, location-based services and connected portable music and video devices are enabled by next generation CDMA phones executing on the ARM architecture.
For Free donloads.


Developing embedded software for these platforms requires a knowledge of the underlying architecture, and programming practices which balance power, cost and performance efficient. Sloss provides a comprehensive and practical guide to the development of "hardware aware" software which meets the demanding constraints of these applications. Highlighted with practical examples, and enhanced by a thorough treatment of topics such as ISRs, code optimization, and DSP on ARM, this book is essential for every embedded software and hardware engineer alike."

-J. Scott Runner, Senior Staff Engineer/Manager, Qualcomm CMDA Technologies, Qualcomm Inc.

"This book has a place on the desk of every engineer developing software for the ARM processor; it is a thorough introduction for newcomers, and a useful reference for the ARM expert.

The technical information in this book is aimed squarely at the software developer, you'll find advice on bringing a device up from a bare board, reference information describing the characteristics of all current ARM architectures, and many valuable tips for optimizing code running on ARM cores.

I have been using this book since reviewing the first draft, and can recommend it to anyone who wants the get the best out of their ARM Powered products."

-Peter Maloy, CodeSprite Inc.

"This book provides an excellent introduction to the ARM architecture. It describes important architectural features in detail. It also makes great use of examples to illustrate those features and put them in context."

-Wayne Wolf, Princeton University

Book Description

A comprehensive guide to one of the most popular architectures in the embedded systems and SOC industry.

Product Description

Over the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based system. This text fills that gap.

This book provides a comprehensive description of the operation of the ARM core from a developer's perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software.

The book covers both the ARM and Thumb instruction sets, covers Intel's XScale Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture.

* No other book describes the ARM core from a system and software perspective.
* Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs.
* Practical, executable code is fully explained in the book and available on the publisher's Website.
* Includes a simple embedded operating system.

From the Back Cover

This book has a place on the desk of every engineer developing software for the ARM processor; it is a thorough introduction for newcomers, and a useful reference for the ARM expert. I have been using this book since reviewing the first draft, and I can recommend it to anyone who wants the get the most out of their ARM powered products.
- Peter Maloy, CodeSprite Inc.

Over the last ten years, the ARM architecture has become one of the most pervasive architectures in the world, with more than 2 billion ARM-based processors embedded in products ranging from cell phones to automotive braking systems. A world-wide community of ARM developers in semiconductor and product design companies includes software developers, system designers and hardware engineers. To date no book has directly addressed their need to develop the system and software for an ARM-based system. This text fills that gap.

This book provides a comprehensive description of the operation of the ARM core from a developer's perspective with a clear emphasis on software. It demonstrates not only how to write efficient ARM software in C and assembly but also how to optimize code. Example code throughout the book can be integrated into commercial products or used as templates to enable quick creation of productive software.

The book covers both the ARM and Thumb instruction sets, covers Intel's XScale
Processors, outlines distinctions among the versions of the ARM architecture, demonstrates how to implement DSP algorithms, explains exception and interrupt handling, describes the cache technologies that surround the ARM cores as well as the most efficient memory management techniques. A final chapter looks forward to the future of the ARM architecture considering ARMv6, the latest change to the instruction set, which has been designed to improve the DSP and media processing capabilities of the architecture.

Features

* No other book describes the ARM core from a system and software perspective.
* Author team combines extensive ARM software engineering experience with an in-depth knowledge of ARM developer needs.
* Practical, executable code is fully explained in the book and available on the publisher's Website.
* Includes a simple embedded operating system.

About the Author

By Andrew Sloss, Dominic Symes and Chris Wright

Excerpt. © Reprinted by permission. All rights reserved.

A comprehensive guide to one of the most popular architectures in the embedded systems and SOC industry.


Download From 4shared


Arm Architecture Reference Manual (2Nd Edition).pdf


Product Description

Produced by the architects that are actively working on the ARM specification, this book contains detailed information about all versions of the ARM and ThumbTM instruction sets, the memory management and cache functions, and optimized code examples. Both an architectural overview and programmer's model are presented. Coverage also includes 26-bit architectures and the System Control Coprocessor.
For Free Downloads.

From the Back Cover

About the ARM Architecture The ARM architecture is the industry's leading 16/32-bit embedded RISC processor solution. ARM Powered microprocessors are being routinely designed into a wider range of products than any other 32-bit processor. This wide applicability is made possible by the ARM architecture, resulting in optimal system solutions at the crossroads of high performance, low power consumption and low cost. About the book This is the authoritative reference guide to the ARM RISC architecture. Produced by the architects that are actively working on the ARM specification, the book contains detailed information about all versions of the ARM and Thumb instruction sets, the memory management and cache functions, as well as optimized code examples.

About the Author

David Seal is one of the chief instruction set architects working for ARM, and has worked with the ARM architecture since it was first developed in 1984-85. He received a BA in Mathematics from Cambridge University, England, and is the holder of several patents relating to the ARM architecture.


 Download From 4shared


Thursday, May 13, 2010

ARM System-on-Chip Architecture.pdf



Product Description

The future of the computer and communications industries is converging on mobile information appliances - phones, PDAs, laptops and other devices. The ARM is at the heart of this trend, leading the way in system-on-chip (SoC) development and becoming the processor core of choice for many embedded applications. System-on-chip technology is changing the way we use computers, but it also sets designers the very challenging problem of getting a complex SoC design right first time. ARM System-on-Chip Architecture introduces the concepts and methodologies
For Free Downloads.
employed in designing a system-on-chip based around a microprocessor core, and in designing the core itself. Extensive illustrations, based on the ARM, give practical substance to the design principles set out in the book, reinforcing the reader's understanding of how and why SoCs and microprocessors are designed as they are: ARM System-on-Chip Architecture: · presents and discusses the major issues of system-on-chip design, including memory hierarchy, caches, memory management, on-chip buses, on-chip debug and production test · provides an overview of the ARM processor family, enabling the reader to decide which ARM is best for the job in hand · describes the ARM and Thumb programming models, enabling the designer to begin to develop applications · covers all the latest ARM products and developments, including StrongARM, the ARM9 and ARM10 series of cores, and the ARM-based SoC components at the heart of Ericsson's Bluetooth technology, the Psion Series 5 PDA and Samsung's SGH2400 GSM handset · includes details on the AMULET asynchronous ARM cores and the AMULET3H asynchronous SoC subsystem ARM System-on-Chip Architecture is an essential handbook for system-on-chip designers using ARM processor cores and engineers working with the ARM. It can also be used as a course text for undergraduate and masters students of computer science, computer engineering and electrical engineering.

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

Aims
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.
Audience
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 manufacturer’s 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.
Prerequisite 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.
The ARM
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 Acorn’s 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 ARM’s 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.
Book structure
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.
Course relevance
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.
Support material
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:
cs.man.ac.uk/amulet/publications/books/ARMsysArch
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.
Feedback
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:
sfurber@cs.man.ac.uk
Acknowledgements
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 ARM’s 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

From the Back Cover

information appliances - phones, PDAs, laptops and other devices. The ARM is at the heart of this trend, leading the way in system-on-chip (SoC) development and becoming the processor core of choice for many embedded applications. System-on-chip technology is changing the way we use computers, but it also sets designers the very challenging problem of getting a complex SoC design right first time. ARM System-on-Chip Architecture introduces the concepts and methodologies employed in designing a system-on-chip based around a microprocessor core, and in designing the core itself. Extensive illustrations, based on the ARM, give practical substance to the design principles set out in the book, reinforcing the reader's understanding of how and why SoCs and microprocessors are designed as they are.

ARM System-on-Chip Architecture:
· presents and discusses the major issues of system-on-chip design, including memory hierarchy, caches, memory management, on-chip buses, on-chip debug and production test
· provides an overview of the ARM processor family, enabling the reader to decide which ARM is best for the job in hand
· describes the ARM and Thumb programming models, enabling the designer to begin to develop applications
· covers all the latest ARM products and developments, including StrongARM, the ARM9 and ARM10 series of cores, and the ARM-based SoC components at the heart of Ericsson's Bluetooth technology, the Psion Series 5 PDA and Samsung's SGH2400 GSM handset
· includes details on the AMULET asynchronous ARM cores and the AMULET3H asynchronous SoC subsystem

ARM System-on-Chip Architecture is an essential handbook for system-on-chip designers using ARM processor cores and engineers working with the ARM. It can also be used as a course text for undergraduate and masters students of computer science, computer engineering and electrical engineering.


0201675196B04062001

About the Author

Steve Furber has a long association with the ARM, having helped create the first ARM chips during the 1980s. Now an academic, but still actively involved in ARM development, he presents an authoritative perspective on the many complex factors that influence the design of a modern system-on-chip and the microprocessor core that is at its heart. This book represents the culmination of fifteen years of experience of ARM research and development and of teaching undergraduate, masters and industrial training courses in system-on-chip design using the ARM.0201675196AB04062001

Excerpt. © Reprinted by permission. All rights reserved.

Aims
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.
Audience
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 manufacturer’s 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.
Prerequisite 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.
The ARM
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 Acorn’s 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 ARM’s 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.
Book structure
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.
Course relevance
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.
Support material
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:
http://www.cs.man.ac.uk/amulet/publications/books/ARMsysArch
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.
Feedback
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:
sfurber@cs.man.ac.uk
Acknowledgements
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 developmen...


Copyright Disclaimer:

This site does not store any copyright contents on its server. If any, email us, we'll remove relevant links or contents immediately. email: smsumesh89@gmail.com
Twitter Delicious Facebook Digg Favorites More