没有合适的资源?快使用搜索试试~ 我知道了~
首页ARM soc Architecture
资源详情
资源评论
资源推荐
Preface
Aims
Audience
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 con-
crete by extensive illustrations based upon the ARM.
The aim of the book is to assist the reader in understanding how SoCs and micro-
processors 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 informa-
tion 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 manufac
turer'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 This book is not intended to be an introductory text on computer architecture or
knowledge 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 sci-
ence 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,
iv Preface
California. A few hours later they were running code, and a bottle of Moet &
Chan-don 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 the 1990s, 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, ARM 10 and 'Strong-
ARM' 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 some-
where in the ARM family, and ARM has led the way in the introduction of some con-
cepts (such as dynamically decompressing the instruction stream). The inherent
simplicity of the basic 3-stage pipeline ARM core makes it a good pedagogical intro-
ductory 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 mate-
rial. It illustrates the principle of abstraction in hardware design by reviewing the
roles of logic and gate-level representations. It then introduces the important con-
cept of the Reduced Instruction Set Computer (RISC) as background for what fol-
lows, and closes with some comments on design for low power.
Chapter 2 describes the ARM processor architecture in terms of the concepts intro-
duced 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 teach-
ing 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 teach-
ing, 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 comers 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 lan-
guage (in this case, C) really needs and how those needs are met by the ARM instruc-
tion set. This chapter is based on second year undergraduate material.
Preface
V
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 lat-
eral 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 produc-
tion 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 asyn-
chronous 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 ter-
minology 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.
Co u r s e The chapters are at an appropriate level for use on undergraduate courses as follows:
relevance
Year 1: Chapter 1 (basic processor design); Chapter 3 (assembly language program-
ming); Chapter 5 (instruction binaries and reference for assembly language
programming).
Year 2: Chapter 4 (simple pipeline processor design); Chapter 6 (architectural sup-
port for high-level languages); Chapters 10 and 11 (memory hierarchy and
architectural support for operating systems).
Year 3: Chapter 8 (embedded system debug and test); Chapter 9 (advanced pipe-
lined processor design); Chapter 12 (advanced CPUs); Chapter 13 (example
embedded systems).
A postgraduate course could follow a theme across several chapters, such as proc-
essor 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).
vi
Preface
Support material
Feedback
Chapter 14 contains material relevant to a third year undergraduate or advanced
postgraduate course on asynchronous design, but a great deal of additional back-
ground 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:
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.
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 responsi-
bilities 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 Cather-
ine, who allowed me time off from family duties to write this book.
Steve Furber
March 2000
Contents
Preface in
An Introduction to Processor Design
1
1.1 Processor architecture and organization 2
1.2 Abstraction in hardware design 3
1.3 MU0 - a simple processor 7
1.4 Instruction set design 14
1.5 Processor design trade-offs 19
1.6 The Reduced Instruction Set Computer 24
1.7 Design for low power consumption 28
1.8 Examples and exercises 32
The ARM Architecture
35
2.1 The Acorn RISC Machine 36
2.2 Architectural inheritance 37
2.3 The ARM programmer's model 39
2.4 ARM development tools 43
2.5 Example and exercises 47
ARM Assembly Language Programming
49
3.1 Data processing instructions 50
3.2 Data transfer instructions 55
3.3 Control flow instructions 63
3.4 Writing simple assembly language programs 69
3.5 Examples and exercises 72
ARM Organization and Implementation
74
4.1 3-stage pipeline ARM organization 75
4.2 5-stage pipeline ARM organization 78
4.3 ARM instruction execution 82
4.4 ARM implementation 86
剩余425页未读,继续阅读
smallmelon
- 粉丝: 21
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0