Muutke küpsiste eelistusi

E-raamat: Multi-Core Embedded Systems

  • Formaat: 502 pages
  • Ilmumisaeg: 08-Oct-2018
  • Kirjastus: CRC Press Inc
  • ISBN-13: 9781351834087
  • Formaat - EPUB+DRM
  • Hind: 84,50 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 502 pages
  • Ilmumisaeg: 08-Oct-2018
  • Kirjastus: CRC Press Inc
  • ISBN-13: 9781351834087

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Details a real-world product that applies a cutting-edge multi-core architecture





Increasingly demanding modern applicationssuch as those used in telecommunications networking and real-time processing of audio, video, and multimedia streamsrequire multiple processors to achieve computational performance at the rate of a few giga-operations per second. This necessity for speed and manageable power consumption makes it likely that the next generation of embedded processing systems will include hundreds of cores, while being increasingly programmable, blending processors and configurable hardware in a power-efficient manner.





Multi-Core Embedded Systems presents a variety of perspectives that elucidate the technical challenges associated with such increased integration of homogeneous (processors) and heterogeneous multiple cores. It offers an analysis that industry engineers and professionals will need to understand the physical details of both software and hardware in embedded architectures, as well as their limitations and potential for future growth.





Discusses the available programming models spread across different abstraction levels





The book begins with an overview of the evolution of multiprocessor architectures for embedded applications and discusses techniques for autonomous power management of system-level parameters. It addresses the use of existing open-source (and free) tools originating from several application domainssuch as traffic modeling, graph theory, parallel computing and network simulation. In addition, the authors cover other important topics associated with multi-core embedded systems, such as:































Architectures and interconnects

























Embedded design methodologies

























Mapping of applications
List of Figures
xiii
List of Tables
xxi
Foreword xxiii
Preface xxv
Multi-Core Architectures for Embedded Systems
1(30)
C.P. Ravikumar
Introduction
2(7)
What Makes Multiprocessor Solutions Attractive?
3(6)
Architectural Considerations
9(2)
Interconnection Networks
11(2)
Software Optimizations
13(1)
Case Studies
14(11)
HiBRID-SoC for Multimedia Signal Processing
14(2)
VIPER Multiprocessor SoC
16(1)
Defect-Tolerant and Reconfigurable MPSoC
17(1)
Homogeneous Multiprocessor for Embedded Printer Application
18(2)
General Purpose Multiprocessor DSP
20(1)
Multiprocessor DSP for Mobile Applications
21(2)
Multi-Core DSP Platforms
23(2)
Conclusions
25(1)
Review Questions
25(2)
Bibliography
27(4)
Application-Specific Customizable Embedded Systems
31(40)
Georgios Kornaros
Introduction
32(2)
Challenges and Opportunities
34(3)
Objectives
35(2)
Categorization
37(4)
Customized Application-Specific Processor Techniques
37(3)
Customized Application-Specific On-Chip Interconnect Techniques
40(1)
Configurable Processors and Instruction Set Synthesis
41(11)
Design Methodology for Processor Customization
43(1)
Instruction Set Extension Techniques
44(4)
Application-Specific Memory-Aware Customization
48(1)
Customizing On-Chip Communication Interconnect
48(1)
Customization of MPSoCs
49(3)
Reconfigurable Instruction Set Processors
52(2)
Warp Processing
53(1)
Hardware/Software Codesign
54(1)
Hardware Architecture Description Languages
55(3)
LISATek Design Platform
57(1)
Myths and Realities
58(2)
Case Study: Realizing Customizable Multi-Core Designs
60(2)
The Future: System Design with Customizable Architectures, Software, and Tools
62(1)
Review Questions
63(1)
Bibliography
63(8)
Power Optimization in Multi-Core System-on-Chip
71(40)
Massimo Conti
Simone Orcioni
Giovanni Vece
Stefano Gigli
Introduction
72(2)
Low Power Design
74(8)
Power Models
75(5)
Power Analysis Tools
80(2)
PKtool
82(5)
Basic Features
82(1)
Power Models
83(1)
Augmented Signals
84(1)
Power States
85(1)
Application Examples
86(1)
On-Chip Communication Architectures
87(3)
NOCEXplore
90(5)
Analysis
91(4)
DPM and DVS in Multi-Core Systems
95(5)
Conclusions
100(1)
Review Questions
101(1)
Bibliography
102(9)
Routing Algorithms for Irregular Mesh-Based Network-on-Chip
111(44)
Shu-Yen Lin
An-Yeu (Andy) Wu
Introduction
112(1)
An Overview of Irregular Mesh Topology
113(2)
2D Mesh Topology
113(1)
Irregular Mesh Topology
113(2)
Fault-Tolerant Routing Algorithms for 2D Meshes
115(11)
Fault-Tolerant Routing Using Virtual Channels
116(1)
Fault-Tolerant Routing with Turn Model
117(9)
Routing Algorithms for Irregular Mesh Topology
126(10)
Traffic-Balanced OAPR Routing Algorithm
127(5)
Application-Specific Routing Algorithm
132(4)
Placement for Irregular Mesh Topology
136(7)
OIP Placements Based on Chen and Chiu's Algorithm
137(3)
OIP Placements Based on OAPR
140(3)
Hardware Efficient Routing Algorithms
143(8)
Turns-Table Routing (TT)
146(1)
XY-Deviation Table Routing (XYDT)
147(1)
Source Routing for Deviation Points (SRDP)
147(1)
Degree Priority Routing Algorithm
148(3)
Conclusions
151(1)
Review Questions
151(1)
Bibliography
151(4)
Debugging Multi-Core Systems-on-Chip
155(46)
Bart Vermeulen
Kees Goossens
Introduction
156(2)
Why Debugging is Difficult
158(5)
Limited Internal Observability
158(1)
Asynchronicity and Consistent Global States
159(2)
Non-Determinism and Multiple Traces
161(2)
Debugging an SoC
163(6)
Errors
164(1)
Example Erroneous System
165(1)
Debug Process
166(3)
Debug Methods
169(5)
Properties
169(2)
Comparing Existing Debug Methods
171(3)
CSAR Debug Approach
174(4)
Communication-Centric Debug
175(1)
Scan-Based Debug
175(1)
Run/Stop-Based Debug
176(1)
Abstraction-Based Debug
176(2)
On-Chip Debug Infrastructure
178(6)
Overview
178(1)
Monitors
178(2)
Computation-Specific Instrument
180(1)
Protocol-Specific Instrument
181(1)
Event Distribution Interconnect
182(1)
Debug Control Interconnect
183(1)
Debug Data Interconnect
183(1)
Off-Chip Debug Infrastructure
184(6)
Overview
184(1)
Abstractions Used by Debugger Software
184(6)
Debug Example
190(3)
Conclusions
193(1)
Review Questions
194(1)
Bibliography
194(7)
System-Level Tools for NoC-Based Multi-Core Design
201(42)
Luciano Bononi
Nicola Concer
Miltos Grammatikakis
Introduction
202(4)
Related Work
204(2)
Synthetic Traffic Models
206(1)
Graph Theoretical Analysis
207(3)
Generating Synthetic Graphs Using TGFF
209(1)
Task Mapping for SoC Applications
210(6)
Application Task Embedding and Quality Metrics
210(4)
SCOTCH Partitioning Tool
214(2)
OMNeT++ Simulation Framework
216(1)
A Case Study
217(14)
Application Task Graphs
217(1)
Prospective NoC Topology Models
218(1)
Spidergon Network on Chip
219(2)
Task Graph Embedding and Analysis
221(2)
Simulation Models for Proposed NoC Topologies
223(4)
Mpeg4: A Realistic Scenario
227(4)
Conclusions and Extensions
231(3)
Review Questions
234(1)
Bibliography
235(8)
Compiler Techniques for Application Level Memory Optimization for MPSoC
243(26)
Bruno Girodias
Youcef Bouchebaba
Pierre Paulin
Bruno Lavigueur
Gabriela Nicolescu
El Mostapha Aboulhamid
Introduction
244(1)
Loop Transformation for Single and Multiprocessors
245(1)
Program Transformation Concepts
246(2)
Memory Optimization Techniques
248(2)
Loop Fusion
249(1)
Tiling
249(1)
Buffer Allocation
249(1)
MPSoC Memory Optimization Techniques
250(5)
Loop Fusion
251(1)
Comparison of Lexicographically Positive and Positive Dependency
252(1)
Tiling
253(1)
Buffer Allocation
254(1)
Technique Impacts
255(1)
Computation Time
255(1)
Code Size Increase
256(1)
Improvement in Optimization Techniques
256(5)
Parallel Processing Area and Partitioning
256(3)
Modulo Operator Elimination
259(1)
Unimodular Transformation
260(1)
Case Study
261(2)
Cache Ratio and Memory Space
262(1)
Processing Time and Code Size
263(1)
Discussion
263(1)
Conclusions
264(1)
Review Questions
265(1)
Bibliography
266(3)
Programming Models for Multi-Core Embedded Software
269(40)
Bijoy A. Jose
Bin Xue
Sandeep K. Shukla
Jean-Pierre Talpin
Introduction
270(2)
Thread Libraries for Multi-Threaded Programming
272(4)
Protections for Data Integrity in a Multi-Threaded Environment
276(3)
Mutual Exclusion Primitives for Deterministic Output
276(2)
Transactional Memory
278(1)
Programming Models for Shared Memory and Distributed Memory
279(3)
OpenMP
279(1)
Thread Building Blocks
280(1)
Message Passing Interface
281(1)
Parallel Programming on Multiprocessors
282(1)
Parallel Programming Using Graphic Processors
283(1)
Model-Driven Code Generation for Multi-Core Systems
284(2)
StreamIt
285(1)
Synchronous Programming Languages
286(2)
Imperative Synchronous Language: Esterel
288(2)
Basic Concepts
288(1)
Multi-Core Implementations and Their Compilation Schemes
289(1)
Declarative Synchronous Language: LUSTRE
290(2)
Basic Concepts
291(1)
Multi-Core Implementations from LUSTRE Specifications
291(1)
Multi-Rate Synchronous Language: SIGNAL
292(7)
Basic Concepts
292(1)
Characterization and Compilation of SIGNAL
293(1)
SIGNAL Implementations on Distributed Systems
294(2)
Multi-Threaded Programming Models for SIGNAL
296(3)
Programming Models for Real-Time Software
299(2)
Real-Time Extensions to Synchronous Languages
300(1)
Future Directions for Multi-Core Programming
301(1)
Review Questions
302(3)
Bibliography
305(4)
Operating System Support for Multi-Core Systems-on-Chips
309(28)
Xavier Guerin
Frederic Petrot
Introduction
310(1)
Ideal Software Organization
311(2)
Programming Challenges
313(1)
General Approach
314(8)
Board Support Package
314(3)
General Purpose Operating System
317(5)
Real-Time and Component-Based Operating System Models
322(7)
Automated Application Code Generation and RTOS Modeling
322(4)
Component-Based Operating System
326(3)
Pros and Cons
329(1)
Conclusions
330(2)
Review Questions
332(1)
Bibliography
333(4)
Autonomous Power Management in Embedded Multi-Cores
337(32)
Arindam Mukherjee
Arun Ravindran
Bharat Kumar Joshi
Kushal Datta
Yue Liu
Introduction
338(4)
Why is Autonomous Power Management Necessary?
339(3)
Survey of Autonomous Power Management Techniques
342(5)
Clock Gating
342(1)
Power Gating
343(1)
Dynamic Voltage and Frequency Scaling
343(1)
Smart Caching
344(1)
Scheduling
345(1)
Commercial Power Management Tools
346(1)
Power Management and RTOS
347(2)
Power-Smart RTOS and Processor Simulators
349(2)
Chip Multi-Threading (CMT) Architecture Simulator
350(1)
Autonomous Power Saving in Multi-Core Processors
351(7)
Opportunities to Save Power
353(1)
Strategies to Save Power
354(2)
Case Study: Power Saving in Intel Centrino
356(2)
Power Saving Algorithms
358(2)
Local PMU Algorithm
358(1)
Global PMU Algorithm
358(2)
Conclusions
360(2)
Review Questions
362(1)
Bibliography
363(6)
Multi-Core System-on-Chip in Real World Products
369(30)
Gajinder Panesar
Andrew Duller
Alan H. Gray
Daniel Towner
Introduction
370(1)
Overview of picoArray Architecture
371(4)
Basic Processor Architecture
371(2)
Communications Interconnet
373(1)
Peripherals and Hardware Functional Accelerators
373(2)
Tool Flow
375(6)
Pico Vhdl Parser (Analyzer, Elaborator, Assembler)
376(1)
C Compiler
376(2)
Design Simulation
378(3)
Design Partitioning for Multiple Devices
381(1)
Place and Switch
381(1)
Debugging
381(1)
Picoarray Debug and Analysis
381(7)
Language Features
382(1)
Static Analysis
383(1)
Design Browser
383(2)
Scripting
385(2)
Probes
387(1)
FileIO
387(1)
Hardening Process in Practice
388(4)
Viterbi Decoder Hardening
389(3)
Design Example
392(4)
Conclusions
396(1)
Review Questions
396(1)
Bibliography
397(2)
Embedded Multi-Core Processing for Networking
399(66)
Theofanis Orphanoudakis
Stylianos Perissakis
Introduction
400(3)
Overview of Proposed NPU Architectures
403(9)
Multi-Core Embedded Systems for Multi-Service Broadband Access and Multimedia Home Networks
403(2)
SoC Integration of Network Components and Examples of Commercial Access NPUs
405(2)
NPU Architectures for Core Network Nodes and High-Speed Networking and Switching
407(5)
Programmable Packet Processing Engines
412(10)
Parallelism
413(5)
Multi-Threading Support
418(3)
Specialized Instruction Set Architectures
421(1)
Address Lookup and Packet Classification Engines
422(9)
Classification Techniques
424(2)
Case Studies
426(5)
Packet Buffering and Queue Management Engines
431(11)
Performance Issues
433(2)
Design of Specialized Core for Implementation of Queue Management in Hardware
435(7)
Scheduling Engines
442(11)
Data Structures in Scheduling Architectures
443(1)
Task Scheduling
444(6)
Traffic Scheduling
450(3)
Conclusions
453(2)
Review Questions
455(4)
Bibliography
459(6)
Index 465
Georgios Kornaros is currently with the Applied Informatics and Multimedia Department of the Technological Educational Institute of Crete in Greece and also with the Technical University of Crete, Greece. In the past he worked as a systems architect and designer of single-chip switches and network processor designs for a few research institutes and companies. Kornaros has taped out three single-chip multi-core devices for networking. As a technical manager of the Digital Integrated Systems Group of ISD SA (2000) and later, also as Technical Manager of Ellemedia Technologies Ltd. Crete Department (2001-2005), he designed a few network processors. His research interests include high-speed communication architectures, networking systems, multi-core architectures, embedded and reconfigurable systems, full and semi-custom IC design. Kornaros is the author or co-author of more than 40 publications in refereed international conferences and journals. He is an IEEE member and a member of the Technical Chamber of Greece.