新书报道
当前位置: 首页 >> 电类优秀教材 >> 正文
High performance embedded computing : applications in cyber-physical systems and mobile computing
发布日期:2016-04-18  浏览

[Book Description]

"High-Performance Embedded Computing, Second Edition," combines leading-edge research with practical guidance in a variety of embedded computing topics, including real-time systems, computer architecture, and low-power design. Author Marilyn Wolf presents a comprehensive survey of the state of the art, and guides you to achieve high levels of performance from the embedded systems that bring these technologies together.
The book covers CPU design, operating systems, multiprocessor programs and architectures, and much more. Embedded computing is a key component of cyber-physical systems, which combine physical devices with computational resources for control and communication. This revised edition adds new content and examples of cyber-physical systems throughout the book, including design methodologies, scheduling, and wide-area CPS to illustrate the possibilities of these new systems. 
Revised and updated with coverage of recently developed consumer electronics architectures and models of computingIncludes new VLIW processors such as the TI Da Vinci, and CPU simulation Learn model-based verification and middleware for embedded systems Supplemental material includes lecture slides, labs, and additional resources"
[Table of Contents]
Preface to the Second Edition
Preface to the First Edition
Acknowledgments
CHAPTER 1 Embedded Computing
1.1. The landscape of high-performance embedded puting
1.2. Cyber-physical systems and embedded puting
1.2.1. Vehicle control and operation
1.2.2. Medical devices and systems
1.2.3. Electric power
1.2.4. Radio and working
1.2.5. Multimedia
1.3. Design methodologies
1.3.1. Why use design methodologies?
1.3.2. Design goals
1.3.3. Basic design methodologies
1.3.4. Embedded system design flows
1.3.5. Standards-based design methodologies
1.3.6. Design verification and validation
1.3.7. A methodology of methodologies
1.3.8. Joint algorithm and architecture development
1.4. Models of putation
1.4.1. Why study models of putation?
1.4.2. The Turing machine
1.4.3. Stream-oriented models
1.4.4. Representations of state and control
1.4.5. Parallelism and munication
1.4.6. Sources and uses of parallelism
1.5. Reliability. safety. and security
1.5.1. Why reliable embedded systems?
1.5.2. Fundamentals of reliable system design
1.5.3. Novel attacks and countermeasures
1.6. Consumer electronics architectures
1.6.1. Bluetooth
1.6.2. WiFi
1.6.3. Networked consumer devices
1.6.4. High-level services
1.7. Summary and a look ahead
What we learned
Further reading
Questions
Lab exercises
CHAPTER 2 CPUs
2.1. Introduction
2.2. Comping processors
2.2.1. Evaluating processors
2.2.2. ATaxonomy of processors
2.2.3. Embedded vs. general-purpose processors
2.3. RISC processors and digital signal processors
2.3.1. RISC processors
2.3.2. Digital signal processors
2.4. Parallel execution mechanisms
2.4.1. Very long instruction word processors
2.4.2. Superscalar processors
2.4.3. SIMD and vector processors
2.4.4. Thread-level parallelism
2.4.5. GPUs
2.4.6. Processor resource utilization
2.5. Variable-performance CPU architectures
2.5.1. Dynamic voltage and frequency scaling
2.5.2. Reliability and error-aware puting
2.6. Processor memory hierarchy
2.6.1. Memory ponent models
2.6.2. Register files
2.6.3. Caches
2.6.4. Scratch pad memory
2.7. Encoding and security
2.7.1. Code pression
2.7.2. Code and data pression
2.7.3. Low-power bus encoding
2.7.4. Security
2.8. CPU simulation
2.8.1. Trace-based analysis
2.8.2. Direct execution
2.8.3. Microarchitecture-modeling simulators
2.8.4. Power and thermal simulation and modeling
2.9. Automated CPU design
2.9.1. Configurable processors
2.9.2. Instruction set synthesis
2.10. Summary
What we learned
Further reading
Questions
Lab exercises
CHAPTER 3 Programs
3.1. Introduction
3.2. Code generation and back-end pilation
3.2.1. Models for instructions
3.2.2. Register allocation
3.2.3. Instruction selection and scheduling
3.2.4. Code placement
3.2.5. Programming environments
3.3. Memory-oriented optimizations
3.3.1. Loop transformations
3.3.2. Global optimizations
3.3.3. Buffer. data transfer. and storage management
3.3.4. Cache- and scratch pad-oriented optimizations
3.3.5. Main memory-oriented optimizations
3.4. Program performance analysis
3.4.1. Performance models
3.4.2. Path analysis
3.4.3. Path timing
3.5. Models of putation and programming
3.5.1. Interrupt-oriented languages
3.5.2. Data flow languages
3.5.3. Control-oriented languages
3.5.4. Java
3.5.5. Heterogeneous models of putation
3.6. Summary
What we have learned
Further reading
Questions
Lab exercises
CHAPTER 4 Processes and Operating Systems
4.1. Introduction
4.2. Real-time process scheduling
4.2.1. Preliminaries
4.2.2. Real-time scheduling algorithms
4.2.3. Multi-criticality scheduling
4.2.4. Scheduling for dynamic voltage and frequenc5 scaling
4.2.5. Performance estimation
4.3. Languages and scheduling
4.4. Operating system design
4.4.1. Memory management in embedded operating systems
4.4.2. Structure of a real-time operating system
4.4.3. Operating system overhead
4.4.4. Support for scheduling
4.4.5. Interprocess munication mechanisms
4.4.6. Power management
4.4.7. File systems in embedded devices
4.5. Verification
4.6. Summary
What we have learned
Further reading
Questions
Lab exercises
CHAPTER 5 Multiprocessor Architectures
5.1. Introduction
5.2. Why embedded multiprocessors?
5.2.1. Requirements on embedded systems
5.2.2. Performance and energy
5.2.3. Specialization and multiprocessors
5.2.4. Flexibility and efficiency
5.3. Multiprocessor design techniques
5.3.1. Multiprocessor design methodologies
5.3.2. Multiprocessor modeling and simulation
5.4. Multiprocessor architectures
5.5. Processing elements
5.6. Interconnection works
5.6.1. Models
5.6.2. Network topologies
5.6.3. Routing and flow control
5.6.4. Networks-on-chips
5.7. Memory systems
5.7.1. Traditional parallel memory systems
5.7.2. Models for memory
5.7.3. Heterogeneous memory systems
5.7.4. Consistent parallel memory systems
5.8. Physically distributed systems and works
5.8.1. CAN bus
5.8.2. Time-triggered architecture
5.8.3. FlexRay
5.8.4. Aircraft works
5.9. Multiprocessor design methodologies and algorithms
5.10. Summary
What we have learned
Further reading
Questions
Lab exercises
CHAPTER 6 Multiprocessor Software
6.1. Introduction
6.2. What is different about embedded multiprocessor software?
6.3. Real-time multiprocessor operating systems
6.3.1. Role of the operating system
6.3.2. Multiprocessor scheduling
6.3.3. Scheduling with dynamic tasks
6.4. Services and middleware for embedded multiprocessors
6.4.1. Standards-based services
6.4.2. System-on-chip services
6.4.3. Quality of service
6.5. Design verification
6.6. Summary
What we have learned
Further reading
Questions
Lab exercises
CHAPTER 7 System-Level Design and Hardware/Software
Co-design
7.1. Introduction
7.2. Performance estimation
7.2.1. High-level synthesis
7.2.2. Accelerator estimation
7.3. Hardware/software co-synthesis algorithms
7.3.1. Program representations
7.3.2. Platform representations
7.3.3. Template-driven synthesis algorithms
7.3.4. Co-synthesis of general multiprocessors
7.3.5. Multi-objective optimization
7.3.6. Control and I/O synthesis
7.3.7. Memory systems
7.3.8. Co-synthesis for reconfigurable systems
7.4. Electronic system-level design
7.5. Thermal-aware design
7.8. Reliability
7.7. System-level simulation
7.8. Summary
What we have learned
Further reading
Questions
Lab exercises
CHAPTER 8 Cyber-Physical Systems
8.1. Introduction
8.2. Control theory and systems
8.3. Control/puting co-design
8.4. Networked control systems
8.5. Design methodologies
8.5.1. Model-based design
8.5.2. Formal methods
8.8. Security
8.7. Summary
What we have learned
Further reading
Questions
Lab exercises
Glossary
References
Index

关闭


版权所有:西安交通大学图书馆      设计与制作:西安交通大学数据与信息中心  
地址:陕西省西安市碑林区咸宁西路28号     邮编710049

推荐使用IE9以上浏览器、谷歌、搜狗、360浏览器;推荐分辨率1360*768以上