高性能嵌入式计算
作者 : (美)Wayne Wolf 著普林斯顿大学
译者 : 鞠大鹏 王海霞 汪东升 等译清华大学
丛书名 : 计算机科学丛书
出版日期 : 2010-06-07
ISBN : 978-7-111-28822-0
定价 : 65.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 344
开本 : 16
原书名 : High-Performance Embedded Computing:Architectures,Applications,and Methodologies
原出版社: Elsevier Asia
属性分类: 教材
包含CD :
绝版 :
图书简介

本书包含大量现实世界中嵌入式计算应用(比如移动电话、打印机和数字电视等)和体系结构(比如TI C5000系列DSP、Freescale Starcore处理器和TI OMAP多处理器等)的实例,涵盖嵌入式计算领域的高级主题,深入论述了网络、可重构系统、软硬件协同设计、安全性以及程序分析。

图书特色

高性能嵌入式计算 
High-Performance Embedded Computing
Architectures, Applications,
and Methodologies
(美) Wayne Wolf 普林斯顿大学  著 鞠大鹏 王海霞 汪东升 清 华 大 学 译
在过去的20年中,虽然嵌入式系统仍是许多消费电子设备、工业设备和军用设备中不可见的部分,但它作为一个整体已经脱颖而出。如今,嵌入式计算不再限于简单设备控制,它已经能以高实时处理能力和低能耗来执行复杂的处理任务。
本书采用一种独特的量化方法来论述现代嵌入式计算系统的设计,书中根据性能、功率和能量消耗以及成本应达到的量化目标描述了在设计中亟待解决的问题。贯穿全书的实际应用使得本书对专业人员、研究人员和学生来说都是及时且非常有价值的资源。

本书特色
包含大量现实世界中嵌入式计算应用 (比如移动电话、打印机和数字电视等) 和体系结构 (比如TI C5000系列DSP、Freescale Starcore处理器和TI OMAP多处理器等) 的实例。
涵盖嵌入式计算领域的高级主题,比如可配置处理器、针对实时和功率损耗的软件优化、异构多处理器以及嵌入式中间件。
深入论述了网络、可重构系统、软硬件协同设计、安全性以及程序分析。

作者简介
Wayne Wolf
拥有斯坦福大学电子工程博士学位,现为普林斯顿大学电子工程教授。在1989年加入普林斯顿大学之前,他曾在AT&T贝尔实验室工作。他是IEEE和ACM会员、IEEE计算机协会核心成员以及ASEE和SPIE成员。Wolf教授于2003年获得了ASEE Frederick E. Terman奖,于2006年获得了IEEE电路与系统教育奖。除本书外,他还著有《嵌入式计算系统设计原理》和《基于FPGA的系统设计》等书。

图书前言

本书的目标是为新兴的高性能嵌入式计算领域提供一个参考框架。计算机的发展已经远远超越了早期的8位微控制器时代。如今,嵌入式计算机由能够运行成千上万行代码的微处理器构成。它们实时运行并且功耗很低。为了适当地设计这类系统,人们已经对嵌入式硬件和软件特性展开了深入研究。现实生活中的飞机、手机和数字电视等都依赖于高性能嵌入式系统。我们对如何设计这类系统已经相当了解,但还有更多的知识需要掌握。
  实时控制实际上是计算机最初的应用之一——第1章中提到的MIT Whirlwind(旋风)计算机研制于20世纪50年代,用于武器控制。但微处理器使嵌入式计算开始在计算机应用领域中占据相对非常重要的位置。尽管复杂的嵌入式系统在1980年以前就已经开始使用,但嵌入式计算作为一个学术研究领域直到20世纪90年代才形成。即便现在,许多传统的计算机科学和工程学科在探讨嵌入式计算课题时并没有充分了解其他学科研究领域中的相关工作。
  嵌入式计算机应用非常广泛,每年售出数十亿台。成千上万的专业人员设计嵌入式系统,至少50万程序员从事嵌入式软件编程。尽管嵌入式系统在构成细节上千差万别,但应用于嵌入式计算领域的原理是通用的。有些原理几十年前就已经被发现,而另外一些则是近期刚被人们知晓的。嵌入式计算作为一个研究领域,其发展促使嵌入式系统设计从一种技术转变为一门学科,这种转变适当地使某些重要的、有时甚至是对安全至关重要的任务可以完全托付给嵌入式计算机来完成。
  关于这个领域,有理由提出这样一个问题:它与传统的计算机系统课题——例如客户端/服务器系统或科学计算——相比有什么区别?我们是否仅仅将相同的理论应用于更小的系统,还是需要研究一些新的东西?我相信,尽管嵌入式计算利用了很多计算机科学和工程技术,但它也提出了一些特有的挑战。
  首先,绝大多数嵌入式系统必须实时完成任务。这需要软件和硬件设计人员的设计思想有重大转变。其次,嵌入式计算更加侧重于能耗。能耗在计算机系统的各个方面都是十分重要的,但嵌入式应用与很多通用系统相比,更加注重能耗效率。上述两点导致要满足特定的需求,嵌入式系统与通用系统相比,需要更加复杂的设计。
  本书假设读者已经熟悉嵌入式硬件和软件的基础知识,例如在《计算机组成原理》中可能提到的内容。在此基础上,本书探讨一系列深入的课题。在要介绍的课题的选择上,我力图确保它们是在嵌入式计算领域中独有的课题和结论。我特意介绍了一些来自其他学科的背景材料,从而做好准备以便更好地探讨嵌入式系统问题。
  下面是本书简要的介绍:
   第1章为其他章提供了一些重要的背景材料。其中将定义一组嵌入式计算领域的中心课题。它着眼于方法论和设计目标。我们研究了计算模型,它是应用特性的参考框架。这一章还研究了一些基于嵌入式计算的重要应用,为全书中将要用到的一些术语提供背景。
   第2章着眼于一些嵌入式系统中使用的不同类型的处理器。我们考虑优化处理器性能的技术,例如电压调整和嵌入式CPU中的处理器内存体系。我们着眼于优化嵌入式CPU的技术,例如代码压缩和总线编码,以及模拟处理器技术。
   第3章研究程序。编译过程的后端有助于决定代码的质量,它是第一个主题。我们将在内存系统优化方面花费很多时间进行研究,因为内存特性是性能和能耗的主要决定性因素。我们考虑性能分析,包括模拟和最坏执行时间分析。我们还讨论计算模型如何反映到编程模型和编程语言中。
   第4章转向多处理器系统。我们将研究和比较调度算法,包括语言设计和调度机制之间的交互。我们评估操作系统体系结构及其导致的负载。我们还会考虑检验多处理器系统特性的方法。
   第5章集中讨论多处理器体系结构。我们考虑交通工具中使用的紧耦合的多处理器和物理分布的系统。我们描述体系结构及其组件:处理器、内存和网络。我们还将讨论多处理器的设计方法。
   第6章着眼于多处理器的软件和它们的调度算法。我们还研究多处理器中动态资源分配使用的中间件体系结构。
   第7章专注于硬件和软件的协同设计。我们研究用于描述嵌入式应用和目标体系结构的不同模型。我们将会涉及很多用于协同综合的算法,并比较这些算法使用的模型和假设。
  希望这本书能涵盖高级嵌入式计算系统的技术人员和学生感兴趣的绝大部分主题。有些主题的参考文献很少:嵌入式系统的软件测试就是一个典型例子。我试图为每个问题找到其主要解决方法的代表性文章。但是很遗憾,在很多情况下我无法充分描述一个特定的问题。
  这本书是关于嵌入式计算的;它略微涉及但没有详细阐述下面的一些相关领域:
   应用——嵌入式系统被设计用来支持例如多媒体、通信等应用。由于对应用领域有一定了解非常重要,因此第1章介绍了一些关于应用的基本概念。关于这些应用领域的深入介绍请查阅其他文献。
   VLSI——尽管片上系统是嵌入式系统的重要介质,但它们不是唯一的介质。汽车、飞机和很多其他重要系统由分布式嵌入网络控制。
   混合系统——混合系统研究连续系统和离散系统之间的交互。这是一个重要且有趣的领域,很多嵌入式系统能够利用混合系统技术,但混合系统有专门的文献进行阐述。
   软件工程——软件设计是一个内容很丰富的领域,它提供了重要的基础。但对于特定于嵌入式计算的很多问题并未回答。
  我要感谢很多在编写这本书过程中帮助过我的人:Brian Butler(Qualcomm)、Robert P Adler(Intel)、Alain Darte(CNRS)、Babak Falsafi(CMU)、Ran Ginosar(Technion)、John Glossner(Sandbridge)、Graham Hellestrand(VaSTSystems)、Paolo Ienne(EPFL)、Masaharu Imai(Osaka University)、Irwin Jacobs(Qualcomm)、Axel Jantsch(KTH)、Ahmed Jerraya(TIMA)、Lizy Kurian John(UT Austin)、Christoph Kirsch(University of Salzburg)、Phil Koopman(CMU)、Haris Lekatsas(NEC)、Pierre Paulin(ST Microelectronics)、Laura Pozzi(University of Lugano)、Chris Rowen(Tensilica)、Rob Rutenbar(CMU)、Deepu Talla(TI)、Jiang Xu(Sandbridge)和Shengqi Yang(Princeton)。
  我非常感谢我的编辑Nate McFadden以及审校人员对我的支持、指导和鼓励。审校过程有助于明确本书的角色,Nate始终带给我具有深刻见解的想法和评论。我还要感谢一直支持我的编辑——Morgan Kaufmann的Denise Penrose,她从一开始一直在指导本书。
  我还要感谢数字图书馆,尤其是那些IEEE和ACM数字图书馆。如果没有它们这本书不可能完成。如果我需要在图书馆中查找所有需要用到的论文,那我就要带着疲倦的双眼和成千上万张纸,拖着疲惫的双腿在书架间奔走。数字图书馆的确帮了我大忙。
  感谢Nancy和Alec的耐心,我最爱的亲人。
Wayne Wolf
普林斯顿,新泽西

上架指导

计算机科学及应用

封底文字

封底宣传文字同影印书。
封底加影印书信息:书号ISBN 7-111-20416-6,定价65.00元

译者简介

鞠大鹏 王海霞 汪东升 等译清华大学:暂无简介

译者序

嵌入式计算应用非常广泛,发展历史也很悠久。Wayne Wolf是这一研究领域的翘楚,本书是他在嵌入式计算系统设计方面的代表作。该书针对诸如空间、时间及功耗等关键性嵌入式系统资源,从设计方法、实现机制到优化技术提供了一整套详尽论述,同时还大量涉及了与多处理器系统相关的重要设计问题。
  尽管嵌入式计算利用了很多已有的计算机科学和工程技术,但它也提出了一些独特的挑战。首先,绝大多数嵌入式系统必须实时完成任务,需要软硬件设计人员的设计思想有重大转变。其次,嵌入式计算更加侧重于功耗。要满足这两点特定需求,更好地设计这类更加复杂的系统,有必要对嵌入式硬件和软件特性展开深入研究。本书的目标是为新兴的高性能嵌入式计算领域提供一个参考框架,包含了绝大部分技术人员和学生感兴趣的高级嵌入式计算系统的课题。在所涉及课题的选择上,Wayne Wolf力图确保它们是在嵌入式计算领域中独有的课题和结论。同时作者特意介绍了一些来自其他学科的背景材料,以此为平台更好地探讨嵌入式系统问题。
  尤为难能可贵的是,Wayne Wolf除了引经据典,竭尽所能为每个问题找到其主要解决方法的代表性文献之外,还亲自指导了书中提到的许多课题的研究工作,而且在许多他构造的嵌入式系统中实践了提出的设计方法,收到了良好的效果。
  要做好本书的中文翻译工作的确很不容易,不仅是因为书中的许多新技术、新方法,而且作者在各个相关的研究领域都有所涉猎,对于初次接触的我们来说,翻译本书也是一个经验积累、不断学习改进的过程,因此本书延迟了很长一段时间才完稿。当然,书中译文不确切的地方可能会有不少,我们表示歉意的同时也衷心恳请读者批评指正。
  在中译本行将出版之际,对参与本书翻译及校对工作的刘振宇博士等表示由衷的感谢,正是他们辛苦、细致的工作才促成今天这一成果的实现。

译者
2010年5月

图书目录

出版者的话
译者序
前言
本书赞誉
第1章嵌入式计算
11高性能嵌入式计算的前景
12示例应用
121无线电和网络
122多媒体
123车辆控制和操作
124传感器网络
13设计目标
14设计方法
141基本设计方法
142嵌入式系统设计流程
143基于标准的设计方法
144设计检验和确认
145方法论
146算法与体系结构联合开发
15计算模型
151为什么研究计算模型
152有限与无限状态
153控制流和数据流模型
154并行和通信
155并行的来源和使用
16可靠性、安全与防卫
161为什么需要可靠的嵌入式系统
162可靠系统设计的基础
163新式攻击和对策
17电子消费品体系结构
171蓝牙
172WiFi
173联网的电子消费品
174高层次服务
18小结
问题
实验练习
第2章CPU
21介绍
22处理器的比较
221评价处理器
222处理器的分类
223嵌入式处理器与通用处理器
23RISC处理器与数字信号处理器
231RISC处理器
232数字信号处理器
24并行执行机制
241超长指令字处理器
242超标量处理器
243SIMD与向量处理器
244线程级并行
245处理器资源利用率
25性能可变处理器体系结构
251电压和频率的动态调整
252“优于最坏情况”设计
26处理器存储层次结构
261存储组件模型
262寄存器堆
263cache
264片上SRAM
27附加的CPU技术
271编码压缩
272代码和数据压缩
273低功耗总线编码
274安全性
28CPU模拟
281基于执行日志的分析
282直接执行
283微系统结构建模模拟器
29CPU的自动化设计
291可配置处理器
292指令集综合
210小结
问题
实验练习
第3章编程
31介绍
32代码生成和后端编译
321指令模型
322寄存器分配
323指令选择和调度
324代码放置
325编程环境
33面向内存的优化
331循环变换
332全局优化
333缓冲区、数据传输和存储管理
334面向cache和片上SRAM的优化
335面向主存的优化
34程序性能分析
341性能模型
342路径分析
343路径计时
35计算与编程模型
351面向中断的语言
352数据流语言
353面向控制的语言
354Java
355计算异构模型
36小结
问题
实验练习
第4章进程和操作系统
41介绍
42实时进程调度
421预备知识
422实时调度算法
423动态电压调整的调度
424性能估算
43语言和调度
44操作系统的设计
441嵌入式操作系统中的内存管理
442实时操作系统的结构
443操作系统开销
444对调度的支持
445进程间通信机制
446电源管理
447嵌入式设备中的文件系统
45验证
46小结
问题
实验练习
第5章多处理器体系结构
51介绍
52为什么需要嵌入式多处理器
521嵌入式系统的需求
522性能和能耗
523专用性和多处理器
524可扩展性和效率
53多处理器的设计技巧
531多处理器设计方法
532多处理器的建模和模拟
54多处理器的结构
55处理单元
56互连网络
561模型
562网络拓扑
563路由和流控制
564片上网络
57内存系统
571传统的并行内存系统
572内存模型
573异构内存系统
574一致性并行内存系统
58物理分布式系统和网络
581时间触发的结构
582FlexRay
583飞机网络
59多处理器的设计方法和算法
510小结
问题
实验练习
第6章多处理器软件
61简介
62嵌入式多处理器软件的不同之处
63实时多处理器操作系统
631操作系统的角色
632多处理器调度
633动态任务的调度
64嵌入式多处理器系统服务与中间件
641基于标准的服务
642片上系统服务
643服务质量
65设计验证
66小结
问题
实验练习
第7章硬件/软件协同设计
71简介
72设计平台
73性能分析
731高层综合
732加速器评估
74硬件/软件协同综合算法
741程序表示
742平台描述
743模板驱动的综合算法
744通用多处理器的协同综合
745多对象优化
746控制和I/O综合
747内存系统
748可重构系统的协同综合
75硬件/软件协同模拟
76小结
问题
实验练习
术语表
参考文献

教学资源推荐
作者: [澳]杰夫瑞·艾文(Jeffrey Aven) 著
作者: 刘国忠 主编 吕勇 马牧燕 那云虓 参编
参考读物推荐
作者: (美)Jonathan Alexander 著
作者: (美)Ronald G.Ross
作者: 黄江南