当前: 首页 - 图书专区 - 高性能嵌入式计算(英文版·第2版)
高性能嵌入式计算(英文版·第2版)


  在线购买
[美]玛里琳·沃尔夫(Marilyn Wolf) 著
978-7-111-49930-5
79.00
500
2015年05月20日

计算机 > 计算机组织与体系结构 > 嵌入式计算机
Elsevier (Singapore) Pte Ltd
930
简体中文
16
High-Performance Embedded Computing: Applications in Cyber-Physical Systems and Mobile Computing,Second Edition
教材
经典原版书库








本书采用一种独特的量化方法来论述现代嵌入式计算系统的设计,书中根据性能、功率和能量消耗以及成本应达到的量化目标描述了在设计中亟待解决的问题。贯穿全书的实际应用使得本书对专业人员、研究人员和学生来说都是及时且非常有价值的资源。
这本书的目标是为高性能嵌入式计算这一迅速发展的领域提供一个参考框架。
—— HPCMagazine.com,2014年8月
计算机系统和工程领域的教育工作者都应该看看这本书。书中关于性能、体系结构和设计的不同视角的阐述增强了所有层次的学生对于基本概念的理解。在我看来,对于任何寻求在计算机系统领域发展的人来说,这本书已经勾画出这个领域未来的雏形。
—— Steven Johnson,印第安纳大学
本书第2版经过全面更新和扩展,涵盖了现代高性能嵌入式系统设计领域使用的广泛技术。现在智能手机、飞机、汽车、电力设备、医疗设备等许多应用都在使用嵌入式多处理器,所以让系统设计人员理解这些复杂技术必须依赖越来越复杂的硬件、软件和设计方法是非常重要的。
Wolf教授采用一种独特的量化方法来论述现代嵌入式计算系统的设计,解释如何定义和实现性能、功耗和成本的量化目标。贯穿全书的实际应用使得本书对专业人员、研究人员和学生来说都是及时且非常有价值的资源。
第2版主要特点:
包含全新的一章,讨论信息物理系统(CPS)——将控制理论和嵌入式计算相结合的新兴智能系统。
讨论嵌入式计算的高级主题,包括针对嵌入式系统的热感知设计、可配置处理器、实时约束和功耗的软件优化、异构多处理器和嵌入式中间件。
深入讨论网络、可重配置系统、软硬件协同设计、安全和程序分析。
作者简介
玛里琳·沃尔夫(Marilyn Wolf) 佐治亚理工学院教授,佐治亚研究联合会优秀学者。她分别于1980年、1981年和1984年获得斯坦福大学电子工程学士学位、硕士学位和博士学位。1984年至1989年任职于贝尔实验室,1989年至2007年执教于普林斯顿大学。她是IEEE和ACM会士、IEEE计算机协会核心成员以及ASEE和SPIE成员。她于2003年获得ASEE Frederick E. Terman奖,于2006年获得IEEE电路与系统教育奖。她的研究兴趣主要包括嵌入式计算、嵌入式视频和计算机视觉、VLSI系统。

CHAPTER 1 Embedded Computing.............................................. 1
1.1. The landscape of high-performance embedded
computing ............................................................................... 1
1.2. Cyber-physical systems and embedded computing ............... 4
1.2.1. Vehicle control and operation .................................... 4
1.2.2. Medical devices and systems..................................... 7
1.2.3. Electric power ............................................................ 9
1.2.4. Radio and networking .............................................. 11
1.2.5. Multimedia ............................................................... 15
1.3. Design methodologies .......................................................... 20
1.3.1. Why use design methodologies? ............................. 20
1.3.2. Design goals ............................................................. 21
1.3.3. Basic design methodologies..................................... 22
1.3.4. Embedded system design flows ............................... 24
1.3.5. Standards-based design methodologies ................... 27
1.3.6. Design verification and validation ........................... 29
1.3.7. A methodology of methodologies ........................... 29
1.3.8. Joint algorithm and architecture development ........ 30
1.4. Models of computation......................................................... 31
1.4.1. Why study models of computation? ........................ 31
1.4.2. The Turing machine ................................................. 32
1.4.3. Stream-oriented models ........................................... 33
1.4.4. Representations of state and control........................ 37
1.4.5. Parallelism and communication............................... 39
1.4.6. Sources and uses of parallelism............................... 43
1.5. Reliability, safety, and security ............................................ 43
1.5.1. Why reliable embedded systems?............................ 44
1.5.2. Fundamentals of reliable system design.................. 45
1.5.3. Novel attacks and countermeasures......................... 48
1.6. Consumer electronics architectures...................................... 50
1.6.1. Bluetooth .................................................................. 50
1.6.2. WiFi .......................................................................... 52
1.6.3. Networked consumer devices .................................. 52
1.6.4. High-level services ................................................... 54
1.7. Summary and a look ahead .................................................. 55
What we learned ............................................................................ 56
Further reading .............................................................................. 56
Questions........................................................................................ 57
Lab exercises ................................................................................. 58
CHAPTER 2 CPUs.....................................................................59
2.1. Introduction ........................................................................ 59
2.2. Comparing processors ........................................................ 60
2.2.1. Evaluating processors............................................. 60
2.2.2. A Taxonomy of processors..................................... 61
2.2.3. Embedded vs. general-purpose processors ............ 62
2.3. RISC processors and digital signal processors .................. 63
2.3.1. RISC processors ..................................................... 63
2.3.2. Digital signal processors ........................................ 64
2.4. Parallel execution mechanisms .......................................... 68
2.4.1. Very long instruction word processors .................. 69
2.4.2. Superscalar processors ........................................... 71
2.4.3. SIMD and vector processors.................................. 71
2.4.4. Thread-level parallelism......................................... 72
2.4.5. GPUs....................................................................... 72
2.4.6. Processor resource utilization ................................ 74
2.5. Variable-performance CPU architectures .......................... 76
2.5.1. Dynamic voltage and frequency scaling................ 77
2.5.2. Reliability and error-aware computing.................. 78
2.6. Processor memory hierarchy.............................................. 80
2.6.1. Memory component models .................................. 80
2.6.2. Register files........................................................... 85
2.6.3. Caches .................................................................... 86
2.6.4. Scratch pad memory .............................................. 89
2.7. Encoding and security ........................................................ 90
2.7.1. Code compression .................................................. 90
2.7.2. Code and data compression ................................. 102
2.7.3. Low-power bus encoding ..................................... 106
2.7.4. Security................................................................. 110
2.8. CPU simulation ................................................................ 113
2.8.1. Trace-based analysis ............................................ 116
2.8.2. Direct execution ................................................... 117
2.8.3. Microarchitecture-modeling simulators............... 117
x Contents
2.8.4. Power and thermal simulation and modeling ...... 119
2.9. Automated CPU design.................................................... 119
2.9.1. Configurable processors ....................................... 121
2.9.2. Instruction set synthesis ....................................... 129
2.10. Summary........................................................................... 135
What we learned .......................................................................... 136
Further reading ............................................................................ 136
Questions...................................................................................... 136
Lab exercises ............................................................................... 138
CHAPTER 3 Programs.............................................................139
3.1. Introduction......................................................................... 139
3.2. Code generation and back-end compilation....................... 140
3.2.1. Models for instructions .......................................... 141
3.2.2. Register allocation.................................................. 143
3.2.3. Instruction selection and scheduling...................... 146
3.2.4. Code placement...................................................... 149
3.2.5. Programming environments ................................... 152
3.3. Memory-oriented optimizations ......................................... 153
3.3.1. Loop transformations ............................................. 153
3.3.2. Global optimizations .............................................. 158
3.3.3. Buffer, data transfer, and storage management ..... 159
3.3.4. Cache- and scratch padeoriented
optimizations .......................................................... 161
3.3.5. Main memory-oriented optimizations ................... 164
3.4. Program performance analysis ........................................... 167
3.4.1. Performance models............................................... 169
3.4.2. Path analysis........................................................... 170
3.4.3. Path timing ............................................................. 173
3.5. Models of computation and programming......................... 179
3.5.1. Interrupt-oriented languages .................................. 180
3.5.2. Data flow languages ............................................... 181
3.5.3. Control-oriented languages .................................... 188
3.5.4. Java ......................................................................... 193
3.5.5. Heterogeneous models of computation ................. 194
3.6. Summary............................................................................. 197
What we have learned ................................................................. 197
Further reading ............................................................................ 197
Questions...................................................................................... 198
Lab exercises ............................................................................... 200
CHAPTER 4 Processes and Operating Systems.........................201
4.1. Introduction......................................................................... 201
4.2. Real-time process scheduling............................................. 201
4.2.1. Preliminaries........................................................... 202
4.2.2. Real-time scheduling algorithms ........................... 204
4.2.3. Multi-criticality scheduling.................................... 212
4.2.4. Scheduling for dynamic voltage and frequency
scaling..................................................................... 214
4.2.5. Performance estimation.......................................... 218
4.3. Languages and scheduling ................................................. 220
4.4. Operating system design .................................................... 225
4.4.1. Memory management in embedded operating
systems ................................................................... 225
4.4.2. Structure of a real-time operating system ............. 226
4.4.3. Operating system overhead.................................... 227
4.4.4. Support for scheduling ........................................... 227
4.4.5. Interprocess communication mechanisms ............. 229
4.4.6. Power management ................................................ 230
4.4.7. File systems in embedded devices......................... 231
4.5. Verification.......................................................................... 234
4.6. Summary............................................................................. 239
What we have learned ................................................................. 239
Further reading ............................................................................ 240
Questions...................................................................................... 240
Lab exercises ............................................................................... 241
CHAPTER 5 Multiprocessor Architectures................................243
5.1. Introduction ...................................................................... 243
5.2. Why embedded multiprocessors? .................................... 245
5.2.1. Requirements on embedded systems................... 245
5.2.2. Performance and energy....................................... 246
5.2.3. Specialization and multiprocessors...................... 247
5.2.4. Flexibility and efficiency ..................................... 249
5.3. Multiprocessor design techniques .................................... 249
5.3.1. Multiprocessor design methodologies ................. 250
5.3.2. Multiprocessor modeling and simulation ............ 250
5.4. Multiprocessor architectures ............................................ 253
5.5. Processing elements ......................................................... 256
5.6. Interconnection networks ................................................. 257
5.6.1. Models .................................................................. 258
5.6.2. Network topologies .............................................. 260
5.6.3. Routing and flow control ..................................... 263
5.6.4. Networks-on-chips ............................................... 264
5.7. Memory systems............................................................... 271
5.7.1. Traditional parallel memory systems................... 271
5.7.2. Models for memory.............................................. 272
5.7.3. Heterogeneous memory systems.......................... 273
5.7.4. Consistent parallel memory systems ................... 276
5.8. Physically distributed systems and networks .................. 279
5.8.1. CAN bus............................................................... 279
5.8.2. Time-triggered architecture.................................. 280
5.8.3. FlexRay................................................................. 282
5.8.4. Aircraft networks ................................................. 290
5.9. Multiprocessor design methodologies
and algorithms .................................................................. 291
5.10. Summary........................................................................... 297
What we have learned ................................................................. 297
Further reading ............................................................................ 298
Questions...................................................................................... 298
Lab exercises ............................................................................... 299
CHAPTER 6 Multiprocessor Software ......................................301
6.1. Introduction......................................................................... 301
6.2. What is different about embedded multiprocessor
software?............................................................................. 301
6.3. Real-time multiprocessor operating systems ..................... 303
6.3.1. Role of the operating system ................................. 303
6.3.2. Multiprocessor scheduling ..................................... 306
6.3.3. Scheduling with dynamic tasks ............................. 321
6.4. Services and middleware for embedded multiprocessors ................... 323
6.4.1. Standards-based services........................................ 324
6.4.2. System-on-chip services......................................... 327
6.4.3. Quality of service ................................................... 331
6.5. Design verification.............................................................. 336
6.6. Summary............................................................................. 337
What we have learned ................................................................. 337
Further reading ............................................................................ 337
Questions...................................................................................... 337
Lab exercises ............................................................................... 339
CHAPTER 7 System-Level Design and Hardware/Software
Co-design........................341
7.1. Introduction......................................................................... 341
7.2. Performance estimation ...................................................... 342
7.2.1. High-level synthesis ............................................... 342
7.2.2. Accelerator estimation ........................................... 347
7.3. Hardware/software co-synthesis algorithms ...................... 350
7.3.1. Program representations......................................... 351
7.3.2. Platform representations......................................... 352
7.3.3. Template-driven synthesis algorithms ................... 354
7.3.4. Co-synthesis of general multiprocessors ............... 360
7.3.5. Multi-objective optimization.................................. 366
7.3.6. Control and I/O synthesis ...................................... 372
7.3.7. Memory systems .................................................... 373
7.3.8. Co-synthesis for reconfigurable systems ............... 375
7.4. Electronic system-level design.............................. 378
7.5. Thermal-aware design ..................... 380
7.6. Reliability ........................................ 384
7.7. System-level simulation .................... 386
7.8. Summary................................... 388
What we have learned ........................ 388
Further reading ................................... 388
Questions........................................ 388
Lab exercises ...................................... 389
CHAPTER 8 Cyber-Physical Systems .......................................391
8.1. Introduction........................................... 391
8.2. Control theory and systems................................................ 391
8.3. Control/computing co-design ............................................. 393
8.4. Networked control systems ................................................ 396
8.5. Design methodologies ................................. 400
8.5.1. Model-based design ............................................... 401
8.5.2. Formal methods..................... 403
8.6. Security ............................................. 407
8.7. Summary......................................... 412
What we have learned ................................ 412
Further reading ............................... 412
Questions..................................... 413
Lab exercises ........................... 413
Glossary ....................................... 415
References....................................... 441
Index ...................................... 473
计算机/嵌入式
读者书评
发表评论



高级搜索
STM32库开发实战指南:基于STM32F4
嵌入式操作系统风云录:历史演进与物联网未来
Arduino从入门到精通:创客必学的13个技巧


版权所有© 2017  北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260
高校教师服务
华章教育微信
诚聘英才
诚聘英才