书籍详情
《高性能嵌入式计算》[42M]百度网盘|亲测有效|pdf下载
  • 高性能嵌入式计算

  • 出版社:机械工业出版社自营官方旗舰店
  • 出版时间:2016-06
  • 热度:10928
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

  本书从性能、功率和能耗以及成本等方面讲述现代嵌入式计算系统的设计方法。第1章概述嵌入式计算,第2章介绍各种处理器,第3章讲述编程,第4章讨论进程、操作系统,第5章介绍多处理器体系结构,第6章讲述多处理器软件,第7章介绍系统级设计和软硬件协同设计,第8章讲述物理信息系统的设计。本书包含大量实例,涵盖嵌入式计算领域的高级主题,适合对嵌入式系统感兴趣的专业人员和师生阅读。

目录

High-Performance Embedded Computing: Applications in Cyber-Physical Systems and Mobile Computing,Second Edition
出版者的话
译者序
第2版前言
第1版前言
第1章 嵌入式计算1
1.1 高性能嵌入式计算的现状1
1.2 信息物理系统和嵌入式计算3
1.2.1 交通工具控制和操作3
1.2.2 医疗设备和系统5
1.2.3 电力6
1.2.4 无线电和网络7
1.2.5 多媒体10
1.3 设计方法12
1.3.1 为什么使用设计方法13
1.3.2 设计目标13
1.3.3 基本设计方法14
1.3.4 嵌入式设计流程15
1.3.5 基于标准的设计方法16
1.3.6 设计验证和确认18
1.3.7 方法学18
1.3.8 算法和体系结构联合开发19
1.4 计算模型19
1.4.1 为什么学习计算模型20
1.4.2 图灵机20
1.4.3 面向流模型21
1.4.4 状态和控制的表示23
1.4.5 并行性和通信24
1.4.6 并行的来源和使用26
1.5 可靠性、安全性和保密性27
1.5.1 为什么需要可靠的嵌入式系统27
1.5.2 可靠系统设计的基础28
1.5.3 新型攻击和对策30
1.6 消费类电子产品体系结构31
1.6.1 蓝牙31
1.6.2 WiFi32
1.6.3 网络化消费类电子设备33
1.6.4 高层次服务33
1.7 小结和展望35
本章所学内容35
进一步阅读35
习题35
实验练习36
第2章 CPU37 2.1 引言37
2.2 处理器的比较37
2.2.1 评价处理器37
2.2.2 处理器的分类38
2.2.3 嵌入式处理器与通用处理器39
2.3 RISC处理器和数字信号处理器39
2.3.1 RISC处理器40
2.3.2 数字信号处理器40
2.4 并行执行机制44
2.4.1 超长指令字处理器44
2.4.2 超标量处理器45
2.4.3 SIMD和向量处理器45
2.4.4 线程级并行性46
2.4.5 GPU46
2.4.6 处理器资源的利用47
2.5 性能可变CPU体系结构48
2.5.1 动态电压和频率缩放49
2.5.2 可靠性和错误感知计算49
2.6 处理器存储层次结构50
2.6.1 存储器组件模型50
2.6.2 寄存器文件54
2.6.3 缓存54
2.6.4 暂存存储器56
2.7 编码和安全56
2.7.1 代码压缩56
2.7.2 代码和数据压缩65
2.7.3 低功率总线编码66
2.7.4 安全性69
2.8 CPU模拟71
2.8.1 基于跟踪文件的分析73
2.8.2 直接执行74
2.8.3 微体系结构建模模拟器74
2.8.4 功耗和热度的模拟与建模75
2.9 自动化CPU设计75
2.9.1 可配置处理器76
2.9.2 指令集综合82
2.10 小结86
本章所学内容86
进一步阅读86
习题86
实验练习87
第3章 程序88
3.1 引言88
3.2 代码生成和后端编译88
3.2.1 指令模型89
3.2.2 寄存器分配90
3.2.3 指令选择和调度92
3.2.4 代码放置93
3.2.5 编程环境95
3.3 面向存储的优化96
3.3.1 循环变换96
3.3.2 全局优化99
3.3.3 缓冲区、数据传输和内存管理100
3.3.4 面向缓存和暂存的优化102
3.3.5 面向主存的优化104
3.4 程序性能分析106
3.4.1 性能模型107
3.4.2 路径分析108
3.4.3 路径计时110
3.5 计算与编程模型114
3.5.1 面向中断的语言115
3.5.2 数据流语言116
3.5.3 面向控制的语言120
3.5.4 Java123
3.5.5 计算异构模型124
3.6 小结126
本章所学内容126
进一步阅读126
习题127
实验练习128
第4章 进程和操作系统129
4.1 引言129
4.2 实时进程调度129
4.2.1 预备知识129
4.2.2 实时调度算法131
4.2.3 多关键级调度136
4.2.4 动态电压和频率缩放调度138
4.2.5 性能估计141
4.3 语言和调度142
4.4 操作系统设计146
4.4.1 嵌入式操作系统的内存管理146
4.4.2 实时操作系统结构146
4.4.3 操作系统开销147
4.4.4 对调度的支持148
4.4.5 进程间通信机制149
4.4.6 功耗管理149
4.4.7 嵌入式设备中的文件系统150
4.5 验证153
4.6 小结155
本章所学内容156
进一步阅读156
习题156
实验练习157
第5章 多处理器体系结构158
5.1 引言158
5.2 为什么需要嵌入式多处理器159
5.2.1 嵌入式系统需求159
5.2.2 性能和能量160
5.2.3 专用性和多处理器161
5.2.4 灵活性和效率162
5.3 多处理器设计技术162
5.3.1 多处理器设计方法162
5.3.2 多处理器的建模和模拟163
5.4 多处理器体系结构简介164
5.5 处理单元167
5.6 互连网络167
5.6.1 模型168
5.6.2 网络拓扑169
5.6.3 路由和流控制171
5.6.4 片上网络172
5.7 存储系统177
5.7.1 传统并行存储系统177
5.7.2 存储模型178
5.7.3 异构存储系统178
5.7.4 一致性并行存储系统180
5.8 物理分布式系统和网络182
5.8.1 CAN总线183
5.8.2 时间触发架构183
5.8.3 FlexRay184
5.8.4 航空网络189
5.9 多处理器设计方法和算法190
5.10 小结193
本章所学内容194
进一步阅读194
习题194
实验练习195
第6章 多处理器软件196
6.1 引言196
6.2 嵌入式多处理器软件有何不同196
6.3 实时多处理器操作系统197
6.3.1 操作系统的角色197
6.3.2 多处理器调度199
6.3.3 动态任务的调度209
6.4 嵌入式多处理器的服务和中间件210
6.4.1 基于标准的服务211
6.4.2 片上系统服务213
6.4.3 服务质量216
6.5 设计验证219
6.6 小结220
本章所学内容220
进一步阅读220
习题220
实验练习222
第7章 系统级设计和软硬件协同设计223
7.1 引言223
7.2 性能估计223
7.2.1 高层综合223
7.2.2 加速器估计226
7.3 软硬件协同综合算法228
7.3.1 程序表达229
7.3.2 平台表达230
7.3.3 模板驱动的综合算法230
7.3.4 通用多处理器的协同综合235
7.3.5 多目标优化239
7.3.6 控制和I/O综合242
7.3.7 存储系统243
7.3.8 可重构系统的协同综合244
7.4 电子系统级设计245
7.5 热度感知设计247
7.6 可靠性249
7.7 系统级模拟250
7.8 小结252
本章所学内容252
进一步阅读252
习题252
实验练习253
第8章 信息物理系统254
8.1 引言254
8.2 控制理论和系统254
8.3 控制/计算协同设计255
8.4 网络化控制系统257
8.5 设计方法学260
8.5.1 基于模型的设计260
8.5.2 形式化方法261
8.6 安全性264
8.7 小结267
本章所学内容267
进一步阅读268
习题268
实验练习268
术语表269
参考文献287
索引314

前言/序言

  High-Performance Embedded Computing: Applications in Cyber-Physical Systems and Mobile Computing,Second Edition在第2版中,我试图用新的眼光来看待嵌入式计算和可以用于设计高性能嵌入式系统的各种技术。当前各种应用使用嵌入式多处理器和复杂的软件栈:智能手机、飞机、汽车、电力设备等。这些复杂的应用需要复杂的硬件、软件和设计方法。
  我更新了每一章,部分章节进行了较多的修改。新增关于信息物理系统(CPS)的一章(第8章)。CPS在本书第1版出版后作为控制理论和嵌入式计算的一种综合体出现。虽然CPS影响了本书其他章节所描述的许多技术,但许多新的结果又应用在CPS的设计之中。我试图概述这些结果,并强调它们与其他章节所描述结果之间的关系。
  本书编辑Todd Green和Nate McFadden给了我非常重要的帮助和建议。我要感谢匿名审稿人的真知灼见。书中任何疏漏(包括概念上、技术上或者文体上的)均由我负责。
  ——Marilyn Wolf第1版前言High-Performance Embedded Computing: Applications in Cyber-Physical Systems and Mobile Computing,Second Edition本书旨在为新兴的高性能嵌入式计算领域提供一个参考框架。嵌入式计算机的发展已经远远超越了早期8位微控制器的时代。如今,嵌入式计算机更成为可以运行成千上万行代码的多处理器。它们实时运行并且功耗水平很低。为了更好地设计这类系统,人们对嵌入式软件和硬件特性有关的问题进行了大量持续的研究。现实生活中的飞机、移动电话和数字电视等均依赖于高性能嵌入式系统。我们对如何设计此类系统已有了解,但仍有更多的知识需要掌握。
  实时控制实际上是计算机初的应用之一——第1章中提到的研制于20世纪50年代的MIT Whirlwind计算机就用于武器控制。但微处理器使得嵌入式计算占据了计算机应用领域中较为重要的位置。尽管早在1980年就开始应用复杂的嵌入式系统,但嵌入式计算作为一个学术研究领域直到20世纪90年代才形成。直到今天,许多传统的计算机科学和工程学科在探讨嵌入式计算议题时并未充分了解其他学科研究领域中的相关工作。
  嵌入式计算机应用广泛,每年售出数十亿台。大量专业人员设计嵌入式系统——超过50万程序员从事嵌入式软件编程。尽管各种嵌入式系统在细节上有很多不同,但也有一些应用于嵌入式计算领域的通用原理。有些原理早已发现,有些则近期刚被人们知晓。嵌入式计算作为一个研究领域的发展促使嵌入式系统设计从一种技术转变为一门学科,鉴于某些重要的(安全关键的)任务完全交由嵌入式计算机执行,这一转变非常合乎时宜。
  对于此领域有理由提出一个问题:它与传统计算机系统的主题有何不同,如客户/服务器系统或者科学计算?我们是否仅仅将相同的理论应用于较小的系统,还是需要做一些新的工作?我相信,尽管嵌入式计算使用了计算机科学和工程中的很多技术,但它也提出了一些独特的挑战。首先,绝大多数嵌入式系统必须执行实时任务。这需要软件和硬件设计者的设计思想有重大转变。其次,嵌入式计算更加重视功率和能量消耗。虽然能耗对于计算机系统的各个方面都十分重要,但与很多通用应用相比,嵌入式应用更加注重功耗、效率。相对于为通用用途设计的计算机,所有这些都导致嵌入式系统需要更为复杂的设计来满足特定的需求。
  本书假设读者已经了解了嵌入式硬件和软件的基础知识,如《Computers as Components》中提到的内容。本书在此基础之上探讨一系列高级主题。在主题的选择上,我们力图找出嵌入式计算所特有的主题和结论。本书专门介绍了其他学科的背景资料以便于更好地讨论嵌入式系统的问题。
  下面是本书简要的介绍。
  第1章为本书其他章节提供一些重要的背景资料。本章试图划定嵌入式计算领域中的一组核心主题,着眼于方法学和设计目标。本章综述了各种计算模型,即应用特征的参考框架。本章也对多种依赖于嵌入式计算的重要应用进行了综述,以便于提供全书中将要用到的一些专业术语。
  第2章介绍处理器。本章考虑嵌入式系统中使用的不同类型的处理器,讨论调整处理器性能的技术,如电压调整。本章考虑嵌入式CPU中存储层次结构的角色,着眼于优化嵌入式CPU的技术,如代码压缩和总线编码。本章也考虑处理器模拟的技术。
  第3章研究程序。编译过程的后端有助于确定代码的质量,这是个主题。本章在存储系统优化上花费大量时间,因为存储行为是性能和功耗的主要决定因素。本章考虑性能分析,包括模拟和坏情况执行时间分析。本章也考虑计算模型如何反映到编程模型和编程语言中。
  第4章讨论多处理系统。本章研究和比较调度算法,包括语言设计和调度机制之间的交互。本章评估操作系统的体系结构和操作系统带来的开销,还考虑验证多处理系统行为的方法。
  第5章重点介绍多处理器体系结构。本章考虑紧耦合多处理器和车辆中使用的物理分布式系统,考虑体系结构及其组件:处理器、内存和网络。本章也着眼于多处理器设计的方法学。
  第6章着眼于多处理器软件。本章考虑多处理器的调度算法,还研究多处理器中用于动态资源分配的中间件体系结构。
  第7章重点讨论软硬件协同设计。本章研究用于描述嵌入式应用和目标平台特性的不同模型,研究很多协同综合算法,并且对这些算法使用的模型和假设进行比较。
  希望本书能够涵盖高级嵌入式计算系统的从业者和学生感兴趣的绝大部分主题。有些主题的参考文献很少,嵌入式软件测试就是一个典型例子。我试图为每个问题找到其主要解决方法的代表性论文,但是很遗憾,在很多情况下我无法充分描述一个特定的问题。
  本书是关于嵌入式计算的,它略微涉及但没有详细阐述下面的一些相关领域。
  应用。嵌入式系统支持多媒体、通信等应用。第1章介绍了一些应用涉及的基本概念,对这些应用领域有一些理解非常重要。关于这些应用领域的深入介绍请查阅其他文献。
  VLSI。虽然片上系统是嵌入式系统的重要介质,但不是唯一介质。汽车、飞机和很多其他重要系统都由分布式嵌入式网络控制。
  混合系统。混合系统研究连续和离散系统之间的交互。这是一个重要且有趣的领域,很多嵌入式系统可以使用混合系统的技术,但混合系统有专门的文献著述。
  软件工程。软件设计是一个内容丰富的领域,它提供了关键的基础,但对于嵌入式计算也遗留了很多尚未解决的问题。
  我要感谢帮助我编写本书的所有人:Robert P.Adler (Intel) Brian Butler (Qualcomm) Alain Darte (CNRS) Babak Falsafi (CMU) Ran Ginosar (Gen-Gurion University) 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) Haris Lekatsas (NEC) Frank Mueller (NCSU) Pierre Paulin (ST Microelectronics) Laura Pozzi (University of Lugano) Chris Rowen (Tensukuca) Rob Rutenbar (CMU) Deepu Talla (TI) David Whalley (FSU) Jiang Xu (Sandbridge) 以及 Shengqi Yang (Intel)。
  我非常感谢编辑Nat McFadden以及审校人员对我的支持、指导和鼓励。审校过程有助于明确本书的角色,Nat始终能给我提供深刻的见解和评论。我还要感谢一直支持我的编辑——Morgan Kaufmann出版社的Denise Penrose,他从一开始一直在关注本书的进度。
  我还要感谢数字图书馆,特别是IEEE和ACM的数字图书馆。如果没有它们的帮助本书不可能完成。如果我需要在传统图书馆中查找所用到的所有文献,那我就要身心疲惫地奔走在书架间。有了数字图书馆的帮助,我只需要擦亮双眼。
  感谢Nancy和Alec的耐心,他们是我亲爱的人。
  ——Wayne Wolf新泽西普林斯顿