嵌入式计算系统设计原理(第2版)
作者 : (美) Wayne Wolf 著
译者 : 李仁发 等译
丛书名 : 计算机科学丛书
出版日期 : 2009-06-17
ISBN : 978-7-111-27068-3
定价 : 55.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 317
开本 : 16
原书名 : Computers as Components: Principles of Embedded Computing System Design, Second Edition
原出版社: Elsevier
属性分类: 教材
包含CD :
绝版 :
图书简介

本书从组件技术的视角出发,讲述了嵌入式计算的基本原理和技术。书中以实际芯片TI TMS320C55xTM(C55x) DSP和软件系统FreeRTOS.org为例,一章一个重点,涉及构造嵌入式系统相关的指令系统、CPU、基于总线的计算机系统、程序设计与分析、进程和操作系统、多处理器、网络、系统设计技术等主要方面。

图书特色

嵌入式计算系统设计原理 第2版 
Computers as Components
Principles of Embedded Computing
System Design 
Second Edition
(美) Wayne Wolf 著 李仁发 等译

本书从组件技术的视角出发,介绍了嵌入式系统设计技术和技巧。本书第1版已被广泛应用于教学,可以说在很大程度上引发了嵌入式系统课程的创立,并为实践设计提供了宝贵指南。第2版根据最先进的技术发展进行了更新。不论是进行软硬件设计的研究人员、学生还是专家,都能从Wayne Wolf的集成化工程设计方法中获益匪浅。
本书特色
以实际芯片(ARM芯片和TI C55x DSP)为例,进行相关设计技术和技巧的说明,向读者介绍如何将这些理论付诸于设计实践。
在所有关键课题讨论中都尤为强调现实中的设计实践,从而为学生和设计人员提供了最先进技术的指导。
对设计实践中所必需的基本应用技术进行重点讨论,帮助读者在实际工作中熟练地设计大型的、复杂的嵌入式系统。

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

图书前言

第2版前言
  相对2000年本书第1版出版的时候,如今嵌入式计算更为重要。更多的产品中使用了嵌入式处理器,从玩具到飞机都有应用。片上系统现在使用几百个CPU。手机朝着新的标准计算平台方向发展。就像2006年9月《IEEE Computer》杂志上我的专栏中所指出的那样,当今世界至少有50万嵌入式系统程序员,可能接近80万。
  在这一版中,我尽力做了更新和补充。本书的一个主要改变是使用TI TMS320 C55xTM(C55x) DSP。我慎重地重写了关于实时调度的讨论。尝试将性能分析主题在尽可能多的抽象层次上扩展。指出多处理器在甚至最平凡的嵌入式系统中的重要性,此版对硬/软件协同设计和多处理器也进行了更普通化的介绍。
  计算机教学领域内的一个改变是,本教材成为了越来越低年级的课本。过去用于研究生的教材现在用于高年级本科生;在可预见的未来,本书的部分内容将可作为大学二年级教材。我认为可以选取本书的部分内容去覆盖更先进和更基础的课程。一些高年级学生可能不需要前面章节的背景知识,这样可以花更多时间在软件性能分析、调度和多处理器上。当开设介绍性课程时,软件性能分析可作为探索微处理器体系结构和软件体系结构的一个可选方案;这样的课程可以关注前几章的内容。
  本书和我的其他书的新网站是http://www.waynewolf.us。在这个网站里,可以找到本书相关材料的概括、实验建议,还可找到关于嵌入式系统的更多信息的网站链接。
  感谢
  感谢许多帮助我完成第2版的人。德州仪器的Cathy Wicks和Naser Salameh在理解C55x上给了我非常有价值的帮助。FreeRTOS.org的Richard Barry不仅慷慨地允许我引用他的操作系统中的源码,还帮我澄清代码的解释。本书的编辑是Morgan Kaufmann出版社的Chuck Glaser,他知道何时需要耐心,何时需要鼓励,何时需要诱导。当然,还要感谢Nancy和Alec耐心为我录入。本书的任何问题,不管是大是小,自然都是我个人的责任。
  Wayne Wolf
  
  第1版前言
  微处理器早已成为我们生活的一部分,然而,微处理器足够强大以致能执行真正复杂的功能还是近几年的事。根据摩尔定律,微处理器飞速发展的结果是嵌入式计算作为一门学科出现。在微处理器的早期阶段,所有组件相对较小也较简单,需要且期望把一些单独的指令和逻辑门集中在一起。今天,当系统包含了几千万个晶体管和数万行高级语言代码时,我们必须使用有助于我们处理复杂性的设计技术。
  本书试图捕捉嵌入式计算这一新学科的某些基本原理和技术。嵌入式计算的某些挑战在台式机计算世界中是众所周知的。例如,为从带流水线的高速缓存体系结构中获得最高性能,经常需要仔细分析程序轨迹。类似地,随着嵌入式系统的复杂性不断增长,在软件工程中针对特定复杂系统开发的技术变得十分重要。另外一个例子是设计多进程系统。对于台式机,通用操作系统的需求与实时操作系统的需求是截然不同的;过去30年针对大型实时系统开发的实时技术如今已普遍用于基于微处理器的嵌入式系统中。
  嵌入式计算还面临一些新的挑战。一个较好的例子是功耗问题。在传统计算机系统中功耗已经不是一个主要考虑因素,但是对于用电池供电的嵌入式计算机,这是一个基本考虑因素,而且在功耗容量受重量、成本或噪声等限制的情况下是十分重要的。另外一种挑战是截止时限驱动的程序设计。嵌入式计算机常常对程序完成的期限做硬性限制;这种形式的限制在台式机世界里是罕见的。随着嵌入式处理器越来越快,高速缓存和其他CPU单元也使得执行时间越来越难以预测。然而,通过仔细分析和巧妙编程,我们可以设计可预测执行时间的嵌入式程序,甚至面对高速缓存等不可预测的系统部件也如此。
  幸运的是,有许多工具可用来处理复杂嵌入式系统所面临的挑战:高级语言、程序性能分析工具、进程和实时操作系统,等等。但是理解这些工具如何协调地一起工作本身就是一项很复杂的任务。本书提供了一种自底向上的方法来理解嵌入式系统设计技术。通过先理解微处理器硬件和软件的基础知识,我们就能获得有助于创建复杂系统的强有力的抽象能力。
  对于嵌入式系统专业人员的忠告
  本书不是一本用来理解某种特定微处理器的手册。为什么在这里呈现的技术你会感兴趣呢?有两个理由:第一,诸如高级语言编程和实时操作系统这样的技术对于构造大型实际的复杂嵌入式系统是非常重要的。生产会因为不能工作的错误系统设计而被弄得杂乱无章,系统之所以不能工作是因为它们的设计者试图从出现的问题中寻求解决方法而不是从问题中走出来换个更大的视角研究问题。第二,用于建造嵌入式系统的组件是经常变化的,但其原理不变。一旦你掌握了创建复杂嵌入式系统所涉及的基本原理,就可以迅速地学习一种新的微处理器(或编程语言),并且把同样的基本原理用于新的组件。
  系统的微处理器系统设计起源于20世纪70年代,当时微处理器的种类相对有限。传统课程强调定制硬件和软件来构建一个完整系统。因此,它只强调某一特定微处理器的特性,包括其指令系统、总线接口,等等。
  本书采用更抽象的途径研究嵌入式系统。本书利用一切机会讨论实际组件和应用,但本质上它不是一本微处理器数据手册,因此它的论述方法初看起来是新奇的。本书不是集中于某种特定微处理器,而是试图用一般性的例子来推出更一般的应用原理。本人认为这种方法对于教学更有利,而从长远角度来看对于学生也更有用。对于教学更有利是因为不必太过于依赖复杂的实验室装置,而只需花费一些时间在纸上练习、模拟和编程练习。对于学生更有用是因为他们在这一领域的最终工作所使用的组件和设施与学校的肯定是不同的。一旦学生掌握了基础知识,他们学习新组件的细节就会容易得多。
  对于获得有关嵌入式系统的物理直觉,实践经验特别重要。某些硬件设计经验是非常宝贵的;我认为每一个学生都应该知道烧制塑封集成电路块的气味。但我强烈建议你避免专注于硬件设计。如果你花费太多的时间去构建硬件平台,你将没有足够的时间去编写有趣的程序。一个实际问题是,大多数课程没有时间让学生用高性能I/O设备和可能的多处理器来建造复杂的硬件平台。多数学生可以通过测量和评价一个现有的硬件平台来学习硬件知识。编制复杂嵌入式系统程序的实践也可以教给学生相当多的硬件知识,调试中断驱动代码是学生基本不会忘记的一种经验。
  本书的主页(www.mkp.com/embed)中包括本书相关材料的概括、教师手册、实验材料、到相关Web站点的链接以及与包含习题解答的有口令保护的ftp站点的链接。
  感谢
  感谢许多帮助我准备这本书的人。一些人给了我关于本书各个方面的建议:关于规格说明的Steve Johnson(印第安那大学),关于程序跟踪的Louise Trevillyan和Mark Charney(均在IBM研究所),关于高速缓存未命中的Margaret Martonosi(普林斯顿大学),关于低功耗的Randy Harr(Synopsys),关于低功耗的Phil Koopman(卡内基-梅隆大学),关于低功耗计算与累加器的Joerg Henkel(NEC C&C实验室),关于实时操作系统的Lui Sha(伊利诺伊大学),关于ARM体系结构的John Rayfield(ARM),关于编译器和SHARC的David Levine(Analog Devices),以及关于SHARC的Con Korikis(Analog Devices)。许多人员在各阶段对本书进行了审阅:David Harris(哈维姆德学院);Jan Rabaey(加州大学伯克利分校);David Nagle(卡内基-梅隆大学);Randy Harr(Synopsys);Rajesh Gupta、Nikil Dutt、Frederic Doucet和Vivek Sinha(加州大学欧文分校);Ronald D. Williams(弗吉尼亚大学);Steve Sapiro(SC 协会);Paul Chow(多伦多大学);Bernd G. Wenzel(Eurostep);Steve Johnson(印第安那大学);H. Alan Mantooth(阿肯色大学);Margarida Jacome(得克萨斯大学奥斯汀分校);John Rayfield(ARM);David Levine(Analog Devices);Ardsher Ahmed(马萨诸塞大学/达特茅斯大学);Vijay Madisetti(佐治亚理工学院)。还要特别感谢编辑Denise Penrose,Denise费了很大精力寻找本书的潜在用户并和他们交流,帮助我们了解读者想要学什么。特别感谢她的直觉和坚持。Cheri Palmer和她的出版团队在无法想象的紧迫日程内作了出色的工作。当然,所有的错误和失误都是我的。

上架指导

计算机\嵌入式编程

封底文字

本书从组件技术的视角出发,介绍了嵌入式系统设计技术和技巧。本书第1版已被广泛应用于教学,可以说在很大程度上引发了嵌入式系统课程的创立,并为实践设计提供了宝贵指南。第2版根据最先进的技术发展进行了更新。不论是进行软硬件设计的研究人员、学生还是专家,都能从Wayne Wolf的集成化工程设计方法中获益匪浅。
本书主要特点
? 以实际芯片(ARM芯片和TI C55x DSP)为例,进行相关设计技术和技巧的说明,向读者介绍如何将这些理论付诸于设计实践。
? 在所有关键课题讨论中都尤为强调现实中的设计实践,从而为学生和设计人员提供了最先进技术的指导。
? 对设计实践中所必需的基本应用技术进行重点讨论,帮助读者在实际工作中熟练地设计大型的、复杂的嵌入式系统。

图书序言

数字系统设计已经进入一个新的时代。当微处理器设计转向一种典型的优化工作时,只把微处理器作为其部件的嵌入式计算系统设计已经成为一种广阔的科技前沿。无线系统、可穿戴系统、网络系统、智能家电、工业过程系统、先进汽车系统以及生物接口系统由于与这个新领域产生了交叉而提供了一些例子。
  受传感器、转换器、微电子学、处理器性能、操作系统、通信技术、用户接口和封装技术进步的推动以及对于人类的需要和市场潜能更深入的理解,正在涌现出大量新的系统和应用。现在系统设计师和嵌入式系统设计人员的责任是把这些可能变成现实。
  然而,在现阶段,嵌入式系统设计仍处于一种手工阶段。虽然有关硬件组件和软件子系统的知识是很清楚的,但是还没有协调整个设计过程的通用系统设计方法,在大多数项目中嵌入式系统的设计仍然采用某种特定方法。
  嵌入式系统设计所面临的某些挑战源于基础技术的改变以及系统各部件如何能全部正确地混合和集成在一起的细微之处,另一些挑战源于新的并且常常是不熟悉的系统需求。此外,用于通信和协作的基础设施和技术的改善已经使快速设计以响应市场需求呈现出前所未有的可能性。但是,还没有有效的设计方法和相关的设计工具足以迅速应付这些挑战。
  在VLSI时代的开始阶段,晶体管和导线是基本部件,快速设计基于芯片的计算机是一种梦想。今天,CPU和各种特殊处理器以及子系统仅是一些基本部件,但快速、高效地设计极复杂的嵌入式系统却仍是一个梦想。现在不但系统规格说明极其复杂,而且它们遇到了实时期限、低功耗、有效地支持复杂实时用户界面、强劲的成本竞争以及设计的系统必须可升级等问题。
  Wayne Wolf教授编写了系统地处理大量新的系统设计需求和挑战的第一本教科书。他提出了嵌入式系统设计的形式体系和方法学,那些真正要理解跨越大量部件技术的系统设计基础、构造新型“超薄”系统的设计师可以运用这些方法。
  从分析每一种技术基础出发,Wolf教授为规范和建造系统结构及行为提供了形式化方法,然后通过一系列示例解析这些思想。他仔细研究了所涉及的复杂性以及如何系统化地处理这些复杂问题。你会提前清楚地理解这些设计问题的本质,并知道如何攻克这些难关的关键方法和工具。
  作为嵌入式系统设计的第一本教科书,本书将被证明是在这个重要和最新出现的领域里获得知识的一个无价的工具。本书亦可以作为实际设计工作的参考,并在设计过程中作为可信的指南。我强烈地向读者推荐本书。
  Lynn Conway
  密歇根大学电子工程和计算机科学系名誉教授

作者简介

(美) Wayne Wolf 著:Wayne Wolf 拥有斯坦福大学电子工程博士学位,曾执教于普林斯顿大学电子工程系,现任职于Georgia Tech公司。在1989年加入普林斯顿大学之前,他曾在AT&T贝尔实验室工作。他是IEEE和ACM会员、IEEE计算机协会核心成员以及ASEE和SPIE成员。Wolf教授于2003年获得了ASEE Frederick E. Terman奖,于2006年获得了IEEE电路与系统教育奖。除本书外,他还著有《高性能嵌入式计算》和《基于FPGA的系统设计》等书。 英文版 影印版 中文版 ISBN 7-111-20416-6 ISBN 7-111-17267-1 ISBN 7-111-18707-5 定价:65.00元 定价:65.00元 定价:36.00元

译者简介

李仁发 等译:暂无简介

译者序

嵌入式计算及系统是信息科学与技术领域继PC机、互联网之后的第三个新趋势。
  目前有关嵌入式计算及系统的书籍甚多,但美国普林斯顿大学Wayne Wolf教授所著的《Computers as Components: Principles of Embedded Computing System Design》第1版是第一本系统讲述嵌入式计算这门学科的书,可以说在很大程度上引发了嵌入式系统课程的创立。
  在第2版中,作者进行了大量更新,以实际芯片TI TMS320C55xTM(C55x) DSP和软件系统FreeRTOS.org为例,一章一个重点,涉及构造嵌入式系统相关的指令系统、CPU、基于总线的计算机系统、程序设计与分析、进程和操作系统、多处理器、网络、系统设计技术等主要方面。尤其是在实时系统、多处理器、软硬件协同设计等方面进行了重写与拓展,介绍了各领域最新研究成果。此外,新版还更新、补充了大量习题和实验练习供读者进行实践。
  本书内容丰富,语言通俗流畅,深入浅出,讲解详细,配合了丰富的应用示例与编程示例,使得读者在进行理论学习的同时,能够很容易地联系实际,从而加深对嵌入式计算设计理念的认知与理解,获取先进的技术实践指导。
  本书特别适合作为计算机、电子信息、通信工程、自动化、机电一体化、仪器仪表及相关专业高年级本科生和研究生的教材,也适合相关的工程技术人员参考。
  参与本书翻译工作的有:李仁发(第1章)、杨柳(第2章)、刘骄(第3章)、凌纯清(第4章)、彭鑫(第5章)、黄丽达(第6章)、肖玲(第7章和第8章)、杨志邦(前言、第9章和附录),术语表由杨志邦、刘骄、彭鑫、凌纯清和黄丽达共同翻译完成。李仁发教授组织了全书的翻译工作,汇总与校订由黄丽达负责。徐成教授给予了大量的专业指导,并审阅了全书。
  由于时间与水平所限,译稿中难免存在不妥或错误之处,敬请读者指正。
  译者
  2009年2月

图书目录

出版者的话
译者序
第1版序言
第2版前言
第1版前言
第1章 嵌入式计算 1
引言 1
1.1 复杂系统与微处理器 1
1.1.1 嵌入式计算机 1
1.1.2 嵌入式计算应用的特点 3
1.1.3 为什么要使用微处理器 4
1.1.4 软件物理 5
1.1.5 嵌入式计算系统设计所面临的挑战 5
1.1.6 嵌入式计算的性能 6
1.2 嵌入式系统的设计过程 7
1.2.1 需求 8
1.2.2 规格说明 11
1.2.3 体系结构设计 11
1.2.4 设计硬件组件和软件组件 13
1.2.5 系统集成 13
1.3 系统设计的形式化方法 13
1.3.1 结构描述 14
1.3.2 行为描述 17
1.4 模型火车控制器 19
1.4.1 需求 20
1.4.2 DCC 20
1.4.3 概念性规格说明 22
1.4.4 详细的规格说明 24
1.4.5 小结 28
1.5 本书概览 28
1.5.1 第2章:指令系统 29
1.5.2 第3章:CPU 29
1.5.3 第4章:基于总线的计算机系统 29
1.5.4 第5章:程序设计与分析 30
1.5.5 第6章:进程和操作系统 31
1.5.6 第7章:多处理器 31
1.5.7 第8章:网络 32
1.5.8 第9章:系统设计技术 32
总结 32
本章学习要点 33
推荐读物 33
习题 33
实验练习 34
第2章 指令系统 35
引言 35
2.1 预备知识 35
2.1.1 计算机体系结构分类 35
2.1.2 汇编语言 37
2.2 ARM处理器 37
2.2.1 处理器和存储器组织 38
2.2.2 数据操作 38
2.2.3 控制流 43
2.3 TI C55x DSP 48
2.3.1 处理器和存储管理 48
2.3.2 寻址方式 51
2.3.3 数据操作 52
2.3.4 流程控制 53
2.3.5 C代码准则 54
总结 55
本章学习要点 55
推荐读物 55
习题 55
实验练习 57
第3章 CPU 58
引言 58
3.1 输入/输出编程 58
3.1.1 输入/输出设备 58
3.1.2 输入/输出原语 59
3.1.3 忙等I/O 60
3.1.4 中断 61
3.2 管态、异常和陷阱 70
3.2.1 管态 70
3.2.2 异常 71
3.2.3 陷阱 71
3.3 协处理器 71
3.4 存储系统机制 72
3.4.1 高速缓存 72
3.4.2 存储管理单元和地址转换 76
3.5 CPU的性能 80
3.5.1 流水线技术 80
3.5.2 高速缓存 83
3.6 CPU的功耗 83
3.7 设计示例:数据压缩器 86
3.7.1 需求和算法 87
3.7.2 规格说明 88
3.7.3 程序设计 89
3.7.4 测试 94
总结 95
本章学习要点 95
推荐读物 96
习题 96
实验练习 98
第4章 基于总线的计算机系统 99
引言 99
4.1 CPU总线 99
4.1.1 总线协议 99
4.1.2 DMA 104
4.1.3 系统总线配置 105
4.1.4 AMBA总线 106
4.2 存储设备 107
4.2.1 存储设备组织 107
4.2.2 随机存储器 108
4.2.3 只读存储器 108
4.3 I/O设备 109
4.3.1 定时器和计数器 109
4.3.2 A/D转换器和D/A转换器 110
4.3.3 键盘 110
4.3.4 发光二极管 111
4.3.5 显示器 111
4.3.6 触摸屏 112
4.4 组件接口 112
4.4.1 存储器接口 112
4.4.2 设备接口 112
4.5 用微处理器设计 113
4.5.1 系统体系结构 113
4.5.2 硬件设计 114
4.5.3 PC作为平台 115
4.6 开发和调试 117
4.6.1 开发环境 117
4.6.2 调试技术 118
4.6.3 调试难点 120
4.7 系统级性能分析 121
4.7.1 系统级性能分析 121
4.7.2 并行 124
4.8 设计示例:闹钟 125
4.8.1 需求 125
4.8.2 规格说明 126
4.8.3 系统体系结构 129
4.8.4 组件设计与测试 130
4.8.5 系统集成与测试 130
总结 130
本章学习要点 130
推荐读物 130
习题 130
实验练习 132
第5章 程序设计与分析 133
引言 133
5.1 嵌入式程序组件 133
5.1.1 状态机 133
5.1.2 面向流的程序设计和循环缓冲区 135
5.1.3 队列 136
5.2 程序模型 137
5.2.1 数据流图 137
5.2.2 控制/数据流图 139
5.3 汇编、连接和装载 140
5.3.1 汇编程序 141
5.3.2 连接 144
5.4 基本编译技术 145
5.4.1 语句翻译 146
5.4.2 过程 149
5.4.3 数据结构 149
5.5 程序优化 150
5.5.1 表达式简化 150
5.5.2 无效代码的清除 151
5.5.3 过程内嵌 151
5.5.4 循环变换 151
5.5.5 寄存器分配 153
5.5.6 调度 156
5.5.7 指令选择 157
5.5.8 理解并使用你的编译器 157
5.5.9 解释器与JIT编译器 157
5.6 程序级性能分析 158
5.6.1 程序性能的要素 159
5.6.2 测量驱动的性能分析 162
5.7 软件性能优化 164
5.7.1 循环优化 164
5.7.2 性能优化策略 166
5.8 程序级能量和功率的分析与优化 167
5.9 程序大小的分析与优化 169
5.10 程序验证与测试 170
5.10.1 白盒测试 170
5.10.2 黑盒测试 175
5.10.3 评估功能测试 176
5.11 软件调制解调器 177
5.11.1 工作原理与需求 177
5.11.2 规格说明 178
5.11.3 系统体系结构 178
5.11.4 组件设计与测试 179
5.11.5 系统集成与测试 179
总结 180
本章学习要点 180
推荐读物 180
习题 180
实验练习 185
第6章 进程和操作系统 186
引言 186
6.1 多任务和多进程 186
6.1.1 任务和进程 187
6.1.2 多速率系统 188
6.1.3 进程的时限要求 189
6.1.4 CPU量度 192
6.1.5 进程状态与调度 192
6.1.6 调度策略 193
6.1.7 运行周期性进程 194
6.2 抢占式实时操作系统 195
6.2.1 抢占 195
6.2.2 优先级 196
6.2.3 进程和上下文 197
6.2.4 进程和面向对象设计 200
6.3 基于优先级的调度 201
6.3.1 单一速率调度 201
6.3.2 截止时限最近者优先调度 203
6.3.3 RMS和EDF的比较 205
6.3.4 对建模假设的进一步分析 206
6.4 进程间通信机制 207
6.4.1 共享内存通信 207
6.4.2 消息传递 209
6.4.3 信号 209
6.5 评估操作系统性能 210
6.6 进程的功耗管理与优化 212
6.7 设计示例:电话应答机 214
6.7.1 工作原理与需求 214
6.7.2 规格说明 216
6.7.3 系统体系结构 218
6.7.4 组件设计与测试 219
6.7.5 系统集成与测试 219
总结 220
本章学习要点 220
推荐读物 220
习题 220
实验练习 224
第7章 多处理器 225
引言 225
7.1 为什么要使用多处理器 225
7.2 CPU和加速器 227
7.2.1 系统体系结构框架 228
7.2.2 系统集成和调试 229
7.3 多处理器性能分析 229
7.3.1 加速器和加速 229
7.3.2 调度和分配的性能影响 232
7.3.3 缓冲和性能 234
7.4 消费电子体系结构 235
7.4.1 用例和需求 235
7.4.2 平台和操作系统 236
7.4.3 闪存文件系统 236
7.5 设计示例:移动电话 237
7.6 设计示例:CD和DVD 238
7.7 设计示例:音频播放器 241
7.8 设计示例:数码相机 241
7.9 设计示例:视频加速器 243
7.9.1 算法和需求 243
7.9.2 规格说明 245
7.9.3 体系结构 246
7.9.4 组件设计 248
7.9.5 系统测试 248
总结 248
本章学习要点 249
推荐读物 249
习题 249
实验练习 251
第8章 网络 252
引言 252
8.1 分布式嵌入式体系结构 252
8.1.1 为什么使用分布式系统 253
8.1.2 网络抽象 253
8.1.3 硬件和软件体系结构 254
8.1.4 报文传递编程 256
8.2 嵌入式系统网络 257
8.2.1 I2C总线 257
8.2.2 以太网 260
8.2.3 现场总线 262
8.3 基于网络的设计 262
8.4 可达因特网系统 264
8.4.1 因特网 264
8.4.2 因特网应用 265
8.4.3 因特网安全 266
8.5 交通工具和网络 267
8.5.1 汽车网络 267
8.5.2 航空电子系统 270
8.6 传感器网络 270
8.7 设计示例:电梯控制器 271
8.7.1 工作原理和需求 271
8.7.2 规格说明 273
8.7.3 体系结构 274
8.7.4 测试 275
总结 275
本章学习要点 276
推荐读物 276
习题 276
实验练习 277
第9章 系统设计技术 278
引言 278
9.1 设计方法学 278
9.1.1 为什么需要设计方法学 278
9.1.2 设计流程 279
9.2 需求分析 283
9.3 规格说明 284
9.3.1 面向控制的规格说明语言 284
9.3.2 高级规格说明 286
9.4 系统分析和体系结构设计 288
9.5 质量保证 291
9.5.1 质量保证技术 293
9.5.2 验证规格说明 294
9.5.3 设计评审 295
总结 296
本章学习要点 296
推荐读物 296
习题 296
实验练习 297
附录A UML表示法 298
术语表 301
参考文献 312

教学资源推荐
作者: 孙涌 主编 陈建明 王辉 参编
作者: 王立柱 编著
作者: (美)Steven J. Leon 著 马萨诸塞大学达特茅斯分校
作者: (英)George K.Batchelor
参考读物推荐