|
楼主 |
发表于 2008-5-1 07:04:17
|
显示全部楼层
It's written by the creater of VLIW
Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools
Praise for Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools
There is little doubt that embedded computing is the new frontier of computer research.
There is also a consensus that VLIW technology is extremely powerful in this domain.
This book speaks with an authoritative voice on VLIW for embedded with true technical
depth and deep wisdom from the pioneering experiences of the authors. This book will
find a place on my shelf next to the classic texts on computer architecture and compiler
optimization. It is simply that good.
Tom Conte Center for Embedded Systems Research, North Carolina State University
Written by one of the field¡¯s inventors with his collaborators, this book is the first complete
exposition of the VLIW design philosophy for embedded systems. It can be read as a
stand-alone reference on VLIW¡ªa careful treatment of the ISA, compiling and program
analysis tools needed to develop a new generation of embedded systems¡ªor as a series
of design case studies drawn from the authors¡¯ extensive experience. The authors¡¯ style
is careful yet informal, and the book abounds with ¡°flames,¡± debunked ¡°fallacies¡± and
other material that engages the reader in the lively interplay between academic research
and commercial development that has made this aspect of computer architecture so
exciting. Embedded Computing: A VLIW Approach to Architecture, Compilers, and
Tools will certainly be the definitive treatment of this important chapter in computer
architecture.
Richard DeMillo Georgia Institute of Technology
This book does a superb job of laying down the foundations of VLIW computing and conveying
how the VLIW principles have evolved to meet the needs of embedded computing.
Due to the additional attention paid to characterizing a wide range of embedded applications
and development of an accompanying toolchain, this book sets a new standard
both as a reference and a text for embedded computing.
Rajiv Gupta The University of Arizona
A wealth of wisdom on a high-performance and power-efficient approach to embedded
computing. I highly recommend it for both engineers and students.
Norm Jouppi HP Labs
TEAM LinG - Live, Informative, Non-cost and Genuine !
Praise for Embedded Computing continued
Josh, Paolo, and Cliff have devoted most of their professional lives to developing and
advancing the fundamental research and use of VLIW architectures and instruction
level parallelism. They are also system-builders in the best and broadest sense of the
term. This book offers deep insights into the field, and highlights the power of these
technologies for use in the rapidly expanding field of high performance embedded computing.
I believe this book will become required reading for anyone working in these
technologies.
Dick Lampman HP Labs
Embedded Computing is a fabulous read, engagingly styled, with generous research
and practical perspective, and authoritative, since Fisher has been responsible for this
paradigm of simultaneously engineering the compiler and processor. Practicing engineers¡ª
both architects and embedded system designers¡ªwill find the techniques they
will need to achieve the substantial benefits of VLIW-based systems. Instructors will value
the rare juxtaposition of advanced technology with practical deployment examples, and
students will enjoy the unusually interesting and mind-expanding chapter exercises.
Richard A. Lethin Reservoir Labs and Yale University
One of the strengths of this book is that it combines the perspectives of academic
research, industrial development, as well as tool building. While its coverage of embedded
architectures and compilers is very broad, it is also deep where necessary. Embedded
Computing is a must-have for any student or practitioner of embedded computing.
Walid Najjar University of California, Riverside TEAM
Content and Structure
When we first wrote the outline for this book, the chapters fell into three major categories:
hardware, software, and applications. Thus, the outline of the book correspondingly
had three major parts. As we have written and rewritten, the organization has changed,
pieces have migrated from one chapter to another, and the clean three-part organization
has broken down into a set of chapters that only roughly matches the original tripartite
structure. The unfortunate truth of modern computer architecture is that one cannot
consider any of hardware, software, or applications by themselves.
This book really has two introductory chapters. Chapter 1 describes the world of
embedded processing. It defines embedded processing, provides examples of the various
types of embedded processors, describes application domains in which embedded cores
are deployed, draws distinctions between the embedded and general-purpose domains,
and talks about the marketplace for embedded devices. The second introductory chapter,
Chapter 2, defines instruction-level parallelism (ILP), the primary technique for extracting
performance in many modern architectural styles, and describes how compilation is
crucial to any ILP-oriented processor design. Chapter 2 also describes the notion of an
architectural style or design philosophy, of which VLIW is one example. Last, Chapter 2
describes how technology has evolved so that VLIW and embedded, once vastly separate
domains, are now quite suited to each other.
Chapters 3 through 5 constitute the purely ¡°hardware¡±-related part of the book.
Chapter 3 describes what we mean when we say architecture or instruction-set architecture
(ISA), defines what a VLIW ISA looks like, and describes in particular how
VLIW architectures have been built for embedded applications. Chapter 3 also describes
instruction set encoding at two levels. From a high-level perspective, Chapter 3 revisits
the notion of design philosophy and architectural style with respect to how that style
affects the way operations and instructions are encoded under each design philosophy.
TEAM LinG - Live, Informative, Non-cost and Genuine !
Preface xxix
At a detailed level, Chapter 3 describes the particular issues associated with VLIW
operation and instruction encoding.
Chapter 4 might be seen as a continuation of the previous chapter, but instead of
describing ISA design as a whole (with a view across various ISA styles), Chapter 4
examines the hardware structures (such as the datapath, memory, register files, and
control units) necessary to all modern processors. Chapter 4 pays particular attention
to how these structures differ in the embedded domain from their general-purpose
counterparts.
The next chapter explores microarchitecture, the implementation of techniques
within a given ISA. Chapter 5 can be seen as largely paralleling Chapter 4 in subject
matter, but it considers how to implement each piece of functionality rather than how
to specify that work be done within an ISA. Chapter 5 is informed by the technological
constraints of modern design; that is, wires are expensive, whereas transitors are cheap.
The chapter also (very briefly) considers power-related technological concerns.
Chapter 6 fits poorly into either the hardware and software categories, as both topics
occur in each of its sections. Chapter 6 begins with a description of how a system-on-achip
(SoC) is designed. Most modern embedded systems today are designed using the
SoC methodology. Chapter 6 continues with how processor cores integrate with SoCs.
Then it describes simulation methodologies for processor cores, followed by simulation
techniques for entire systems. Last, Chapter 6 describes validation and verification of
simulators and their systems. It might be best to view Chapter 6 as a bridge between
the hardware and software areas, or perhaps its integration of the two serves as a good
illustration of the complexities involved in building hardware/software systems.
The next three chapters emphasize the software area, although reading them will
make it clear that they are infused with hardware-related topics in a number of ways.
Chapter 7 describes the entire toolchain: the suite of software programs used to analyze,
design, and build the software of an embedded system. Chapter 7 also describes a number
of embedded- and DSP-specific code transformations.
Chapter 8 describes a subset of the compiler optimizations and transformations in an
industrial-strength ILP-oriented compiler. This book is not a compiler textbook. Our goal
in this chapter is to paint a balanced picture of the suite of optimizations ¡ª including
their uses, complexities, and interactions ¡ª so that system designers will understand
the nature of compilation-related issues, and so that compiler designers will know where
else to look.
Chapter 9 covers a broad range of topics that often fall between the cracks of traditional
topics, but are nonetheless important to building a working system. Chapter 9
details issues about exceptions, application binary interfaces (ABIs), code compression,
operating systems (including embedded and real-time variants), and multiprocessing.
Many of these topics have a strong software component to them, but each also interacts
strongly with hardware structures that support the software functionality.
The last two chapters focus on applications. Chapter 10 begins by discussing
programming languages for embedded applications, and then moves on to performance,
benchmarks, and tuning. Then it continues to scalability and customizability
in embedded architectures, and finishes with detail about customizable processors.
TEAM LinG - Live, Informative, Non-cost and Genuine !
Chapter 11 visits a number of embedded applications at a variety of levels of detail.
We spend the most time on digital printing and imaging, and telecommunications, and
less time on other areas, such as automotive, network processing, and disk drives.
While writing this book, it became clear that there are a large number of terms
with overlapping and conflicting meanings in this field. For example, instruction can
mean operation, bundle, parallel issue group, or parallel execution group to different
subcommunities. Wherever possible, we use the terms as they are used in the architecture
field¡¯s dominant textbook, John Hennessy and Dave Patterson¡¯s Computer Architecture:
A Quantitative Approach. The Glossary lists alternate definitions and synonyms, and
indicates which terms we intend to use consistently.
[ 本帖最后由 yimingxn 于 2008-5-5 12:29 编辑 ] |
|