Embedded System Design : : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.

Saved in:
Bibliographic Details
Superior document:Embedded Systems Series
:
Place / Publishing House:Cham : : Springer International Publishing AG,, 2021.
©2021.
Year of Publication:2021
Edition:4th ed.
Language:English
Series:Embedded Systems Series
Online Access:
Physical Description:1 online resource (446 pages)
Tags: Add Tag
No Tags, Be the first to tag this record!
id 5006463481
ctrlnum (MiAaPQ)5006463481
(Au-PeEL)EBL6463481
(OCoLC)1235599050
collection bib_alma
record_format marc
spelling Marwedel, Peter.
Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
4th ed.
Cham : Springer International Publishing AG, 2021.
©2021.
1 online resource (446 pages)
text txt rdacontent
computer c rdamedia
online resource cr rdacarrier
Embedded Systems Series
Intro -- Preface -- Why Should You Read This Book? -- Who Should Read the Book? -- How Is This Book Different from Earlier Editions? -- Acknowledgments -- Contents -- About the Author -- Frequently Used Mathematical Symbols -- 1 Introduction -- 1.1 History of Terms -- 1.2 Opportunities -- 1.3 Challenges -- 1.4 Common Characteristics -- 1.5 Curriculum Integration of Embedded Systems, CPS, and IoT -- 1.5.1 Prerequisites -- 1.5.2 Recommended Additional Courses -- 1.6 Design Flows -- 1.7 Structure of This Book -- 1.8 Problems -- 2 Specifications and Modeling -- 2.1 Requirements -- 2.2 Models of Computation -- 2.3 Early Design Phases -- 2.3.1 Use Cases -- 2.3.2 (Message) Sequence Charts and Time/Distance Diagrams -- 2.3.3 Differential Equations -- 2.4 Communicating Finite State Machines (CFSMs) -- 2.4.1 Timed Automata -- 2.4.2 StateCharts -- Modeling of Hierarchy -- Timers -- Edge Labels and StateMate Semantics -- Evaluation and Extensions -- 2.4.3 Synchronous Languages -- Motivation -- Examples of Synchronous Languages: Esterel, Lustre, and SCADE -- 2.4.4 Message Passing: SDL as an Example -- Features of the Language -- Evaluation of SDL -- 2.5 Data Flow -- 2.5.1 Scope -- 2.5.2 Kahn Process Networks -- 2.5.3 SDF -- 2.5.4 Simulink -- 2.6 Petri Nets -- 2.6.1 Introduction -- 2.6.2 Condition/Event Nets -- 2.6.3 Place/Transition Nets -- 2.6.4 Predicate/Transition Nets -- 2.6.5 Evaluation -- 2.7 Discrete Event-Based Languages -- 2.7.1 Basic Discrete Event Simulation Cycle -- 2.7.2 Multi-Valued Logic -- One Signal Strength (Two Logic Values) -- Two Signal Strengths (Three and Four Logic Values) -- Three Signal Strengths (Seven Signal Values) -- Four Signal Strengths (Ten Signal Values) -- Five Signal Strengths -- 2.7.3 Transaction-Level Modeling (TLM) -- 2.7.4 SpecC -- 2.7.5 SystemC -- 2.7.6 VHDL -- Introduction -- Entities and Architectures -- Assignments.
VHDL Processes -- The VHDL Simulation Cycle -- IEEE 1164 -- 2.7.7 Verilog and SystemVerilog -- 2.8 von Neumann Languages -- 2.8.1 CSP -- 2.8.2 Ada -- 2.8.3 Communication Libraries -- MPI -- OpenMP -- 2.8.4 Additional Languages -- 2.9 Levels of Hardware Modeling -- 2.10 Comparison of Models of Computation -- 2.10.1 Criteria -- 2.10.2 Unified Modeling Language (UML) -- 2.10.3 Ptolemy II -- 2.11 Problems -- 3 Embedded System Hardware -- 3.1 Introduction -- 3.2 Input: Interface Between Physical and Cyber-World -- 3.2.1 Sensors -- 3.2.2 Discretization of Time: Sample-and-Hold Circuits -- 3.2.3 Fourier Approximation of Signals -- 3.2.4 Discretization of Values: Analog-to-Digital Converters -- Flash ADC -- Successive Approximation -- Pipelined Converters -- Other Converters -- Comparison of ADCs -- Quantization Noise -- 3.3 Processing Units -- 3.3.1 Application-Specific Integrated Circuits (ASICs) -- 3.3.2 Processors -- Energy Efficiency -- Code Size Efficiency -- Execution Time Efficiency Using Digital Signal Processing as an Example -- Multimedia and Short Vector Instruction Sets -- Very Long Instruction Word (VLIW) Processors -- VLIW Pipelines -- Multi-core Processors -- Graphics Processing Units (GPUs) -- Multiprocessor Systems on a Chip (MPSoCs) -- 3.3.3 Reconfigurable Logic -- 3.4 Memories -- 3.4.1 Conflicting Goals -- 3.4.2 Memory Hierarchies -- 3.4.3 Register Files -- 3.4.4 Caches -- 3.4.5 Scratchpad Memories -- 3.5 Communication -- 3.5.1 Requirements -- 3.5.2 Electrical Robustness -- 3.5.3 Guaranteeing Real-Time Behavior -- 3.5.4 Examples -- 3.6 Output: Interface Between Cyber and Physical World -- 3.6.1 Digital-to-Analog Converters -- 3.6.2 Sampling Theorem -- 3.6.3 Pulse-Width Modulation -- 3.6.4 Actuators -- 3.7 Electrical Energy -- 3.7.1 Energy Sources -- 3.7.2 Energy Storage -- 3.7.3 Energy Efficiency of Hardware Components.
The Case of Mobile Phones -- Sensor Networks -- 3.8 Secure Hardware -- 3.9 Problems -- 4 System Software -- 4.1 Embedded Operating Systems -- 4.1.1 General Requirements -- 4.1.2 Real-Time Operating Systems -- 4.1.3 Virtual Machines -- 4.2 Resource Access Protocols -- 4.2.1 Priority Inversion -- 4.2.2 Priority Inheritance -- 4.2.3 Priority Ceiling Protocol -- 4.2.4 Stack Resource Policy -- 4.3 ERIKA -- 4.4 Embedded Linux -- 4.4.1 Embedded Linux Structure and Size -- 4.4.2 Real-Time Properties -- 4.4.3 Flash Memory File Systems -- 4.4.4 Reducing RAM Usage -- 4.4.5 uClinux: Linux for MMU-Less Systems -- 4.4.6 Evaluating the Use of Linux in Embedded Systems -- 4.5 Hardware Abstraction Layer -- 4.6 Middleware -- 4.6.1 OSEK/VDX COM -- 4.6.2 CORBA -- 4.6.3 POSIX Threads (Pthreads) -- 4.6.4 UPnP and DPWS -- 4.7 Real-Time Databases -- 4.8 Problems -- 5 Evaluation and Validation -- 5.1 Introduction -- 5.1.1 Scope -- 5.1.2 Multi-Objective Optimization -- 5.1.3 Relevant Objectives -- 5.2 Performance Evaluation -- 5.2.1 Early Phases -- 5.2.2 WCET Estimation -- 5.2.3 Real-Time Calculus -- 5.3 Quality Metrics -- 5.3.1 Approximate Computing -- 5.3.2 Simple Criteria of Quality -- 5.3.3 Criteria for Data Analysis -- 5.4 Energy and Power Models -- 5.4.1 General Properties -- 5.4.2 Energy Model for Memories -- 5.4.3 Energy Model for Instructions -- 5.4.4 Energy Model for Functional Processor Units -- 5.4.5 Energy Model for Processor and Memory -- 5.4.6 Energy Model for an Application -- 5.4.7 Energy Model for Multiple Applications with Hardware Multithreading -- 5.4.8 Energy Model for an Android Mobile Phone -- 5.4.9 Worst Case Energy Consumption -- 5.5 Thermal Models -- 5.5.1 Steady-State Behavior -- 5.5.2 Transient State Behavior -- 5.6 Dependability and Risk Analysis -- 5.6.1 Aspects of Dependability -- 5.6.2 Security Analysis -- 5.6.3 Safety Analysis.
5.6.4 Reliability Analysis -- 5.6.5 Fault Tree Analysis, Failure Mode, and Effect Analysis -- 5.7 Simulation -- 5.8 Rapid Prototyping and Emulation -- 5.9 Formal Verification -- 5.10 Problems -- 6 Application Mapping -- 6.1 Definition of Scheduling Problems -- 6.1.1 Elaboration on the Design Problem -- 6.1.2 Types of Scheduling Problems -- The α Field -- The β Field -- The γ Field -- 6.2 Scheduling for Uniprocessors -- 6.2.1 Scheduling for Independent Jobs -- Earliest Due Date (EDD) Algorithm -- Earliest Deadline First (EDF) Algorithm -- Least Laxity (LL) Algorithm -- Scheduling Without Preemption -- 6.2.2 Scheduling with Precedence Constraints -- Task Graphs -- Latest Deadline First (LDF) Algorithm -- 6.2.3 Periodic Scheduling Without Precedence Constraints -- Notation -- Rate Monotonic Scheduling -- Earliest Deadline First Scheduling -- Explicit-Deadline Tasks -- Deadline Monotonic Scheduling -- 6.2.4 Periodic Scheduling with Precedence Constraints -- 6.2.5 Sporadic Events -- 6.3 Scheduling for Independent Jobs on Identical Multiprocessors -- 6.3.1 Partitioned Scheduling -- 6.3.2 Global Dynamic-Priority Scheduling -- Proportional Fair (Pfair) Scheduling -- 6.3.3 Global Fixed-Job-Priority Scheduling -- G-EDF Scheduling -- EDZL Scheduling -- 6.3.4 Global Fixed-Task-Priority Scheduling -- Global Rate Monotonic Scheduling -- RMZL Scheduling -- Partitioned Scheduling for Explicit Deadlines -- 6.4 Dependent Jobs on Homogeneous Multiprocessors -- 6.4.1 As-Soon-as-Possible Scheduling -- 6.4.2 As-Late-as-Possible Scheduling -- 6.4.3 List Scheduling -- 6.4.4 Optimal Scheduling with Integer Linear Programming -- 6.5 Dependent Jobs on Heterogeneous Multiprocessors -- 6.5.1 Problem Description -- 6.5.2 Static Scheduling with Local Heuristics -- 6.5.3 Static Scheduling with Integer Linear Programming -- 6.5.4 Static Scheduling with Evolutionary Algorithms.
6.5.5 Dynamic and Hybrid Scheduling -- 6.6 Problems -- 7 Optimization -- 7.1 High-Level Optimizations -- 7.1.1 Simple Loop Transformations -- 7.1.2 Loop Tiling/Blocking -- 7.1.3 Loop Splitting -- 7.1.4 Array Folding -- 7.1.5 Floating-Point to Fixed-Point Conversion -- 7.2 Task-Level Concurrency Management -- 7.3 Compilers for Embedded Systems -- 7.3.1 Introduction -- 7.3.2 Energy-Aware Compilation -- 7.3.3 Memory-Architecture Aware Compilation -- Compilation Techniques for Scratchpads -- Non-overlaying Allocation -- Overlaying Allocation -- Multiple Threads/Processes -- Supporting Different Architectures and Objectives -- 7.3.4 Reconciling Compilers and Timing Analysis -- 7.4 Power and Thermal Management -- 7.4.1 Dynamic Voltage and Frequency Scaling (DVFS) -- 7.4.2 Dynamic Power Management (DPM) -- 7.4.3 Thermal Management -- 7.5 Problems -- 8 Test -- 8.1 Scope -- 8.2 Test Procedures -- 8.2.1 Test Pattern Generation for Gate-Level Models -- 8.2.2 Self-Test Programs -- 8.3 Evaluation of Test Pattern Sets and System Robustness -- 8.3.1 Fault Coverage -- 8.3.2 Fault Simulation -- 8.3.3 Fault Injection -- 8.4 Design for Testability -- 8.4.1 Motivation -- 8.4.2 Scan Design -- 8.4.3 Signature Analysis -- 8.4.4 Pseudo-random Test Pattern Generation -- 8.5 Problems -- Correction to: Evaluation and Validation -- A Integer Linear Programming -- B Kirchhoff's Laws and Operational Amplifiers -- B.1 Kirchhoff's Laws -- B.2 Operational Amplifiers -- C Paging and Memory Management Units -- References -- Index.
Description based on publisher supplied metadata and other sources.
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic books.
Print version: Marwedel, Peter Embedded System Design Cham : Springer International Publishing AG,c2021 9783030609092
ProQuest (Firm)
https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6463481 Click to View
language English
format eBook
author Marwedel, Peter.
spellingShingle Marwedel, Peter.
Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
Embedded Systems Series
Intro -- Preface -- Why Should You Read This Book? -- Who Should Read the Book? -- How Is This Book Different from Earlier Editions? -- Acknowledgments -- Contents -- About the Author -- Frequently Used Mathematical Symbols -- 1 Introduction -- 1.1 History of Terms -- 1.2 Opportunities -- 1.3 Challenges -- 1.4 Common Characteristics -- 1.5 Curriculum Integration of Embedded Systems, CPS, and IoT -- 1.5.1 Prerequisites -- 1.5.2 Recommended Additional Courses -- 1.6 Design Flows -- 1.7 Structure of This Book -- 1.8 Problems -- 2 Specifications and Modeling -- 2.1 Requirements -- 2.2 Models of Computation -- 2.3 Early Design Phases -- 2.3.1 Use Cases -- 2.3.2 (Message) Sequence Charts and Time/Distance Diagrams -- 2.3.3 Differential Equations -- 2.4 Communicating Finite State Machines (CFSMs) -- 2.4.1 Timed Automata -- 2.4.2 StateCharts -- Modeling of Hierarchy -- Timers -- Edge Labels and StateMate Semantics -- Evaluation and Extensions -- 2.4.3 Synchronous Languages -- Motivation -- Examples of Synchronous Languages: Esterel, Lustre, and SCADE -- 2.4.4 Message Passing: SDL as an Example -- Features of the Language -- Evaluation of SDL -- 2.5 Data Flow -- 2.5.1 Scope -- 2.5.2 Kahn Process Networks -- 2.5.3 SDF -- 2.5.4 Simulink -- 2.6 Petri Nets -- 2.6.1 Introduction -- 2.6.2 Condition/Event Nets -- 2.6.3 Place/Transition Nets -- 2.6.4 Predicate/Transition Nets -- 2.6.5 Evaluation -- 2.7 Discrete Event-Based Languages -- 2.7.1 Basic Discrete Event Simulation Cycle -- 2.7.2 Multi-Valued Logic -- One Signal Strength (Two Logic Values) -- Two Signal Strengths (Three and Four Logic Values) -- Three Signal Strengths (Seven Signal Values) -- Four Signal Strengths (Ten Signal Values) -- Five Signal Strengths -- 2.7.3 Transaction-Level Modeling (TLM) -- 2.7.4 SpecC -- 2.7.5 SystemC -- 2.7.6 VHDL -- Introduction -- Entities and Architectures -- Assignments.
VHDL Processes -- The VHDL Simulation Cycle -- IEEE 1164 -- 2.7.7 Verilog and SystemVerilog -- 2.8 von Neumann Languages -- 2.8.1 CSP -- 2.8.2 Ada -- 2.8.3 Communication Libraries -- MPI -- OpenMP -- 2.8.4 Additional Languages -- 2.9 Levels of Hardware Modeling -- 2.10 Comparison of Models of Computation -- 2.10.1 Criteria -- 2.10.2 Unified Modeling Language (UML) -- 2.10.3 Ptolemy II -- 2.11 Problems -- 3 Embedded System Hardware -- 3.1 Introduction -- 3.2 Input: Interface Between Physical and Cyber-World -- 3.2.1 Sensors -- 3.2.2 Discretization of Time: Sample-and-Hold Circuits -- 3.2.3 Fourier Approximation of Signals -- 3.2.4 Discretization of Values: Analog-to-Digital Converters -- Flash ADC -- Successive Approximation -- Pipelined Converters -- Other Converters -- Comparison of ADCs -- Quantization Noise -- 3.3 Processing Units -- 3.3.1 Application-Specific Integrated Circuits (ASICs) -- 3.3.2 Processors -- Energy Efficiency -- Code Size Efficiency -- Execution Time Efficiency Using Digital Signal Processing as an Example -- Multimedia and Short Vector Instruction Sets -- Very Long Instruction Word (VLIW) Processors -- VLIW Pipelines -- Multi-core Processors -- Graphics Processing Units (GPUs) -- Multiprocessor Systems on a Chip (MPSoCs) -- 3.3.3 Reconfigurable Logic -- 3.4 Memories -- 3.4.1 Conflicting Goals -- 3.4.2 Memory Hierarchies -- 3.4.3 Register Files -- 3.4.4 Caches -- 3.4.5 Scratchpad Memories -- 3.5 Communication -- 3.5.1 Requirements -- 3.5.2 Electrical Robustness -- 3.5.3 Guaranteeing Real-Time Behavior -- 3.5.4 Examples -- 3.6 Output: Interface Between Cyber and Physical World -- 3.6.1 Digital-to-Analog Converters -- 3.6.2 Sampling Theorem -- 3.6.3 Pulse-Width Modulation -- 3.6.4 Actuators -- 3.7 Electrical Energy -- 3.7.1 Energy Sources -- 3.7.2 Energy Storage -- 3.7.3 Energy Efficiency of Hardware Components.
The Case of Mobile Phones -- Sensor Networks -- 3.8 Secure Hardware -- 3.9 Problems -- 4 System Software -- 4.1 Embedded Operating Systems -- 4.1.1 General Requirements -- 4.1.2 Real-Time Operating Systems -- 4.1.3 Virtual Machines -- 4.2 Resource Access Protocols -- 4.2.1 Priority Inversion -- 4.2.2 Priority Inheritance -- 4.2.3 Priority Ceiling Protocol -- 4.2.4 Stack Resource Policy -- 4.3 ERIKA -- 4.4 Embedded Linux -- 4.4.1 Embedded Linux Structure and Size -- 4.4.2 Real-Time Properties -- 4.4.3 Flash Memory File Systems -- 4.4.4 Reducing RAM Usage -- 4.4.5 uClinux: Linux for MMU-Less Systems -- 4.4.6 Evaluating the Use of Linux in Embedded Systems -- 4.5 Hardware Abstraction Layer -- 4.6 Middleware -- 4.6.1 OSEK/VDX COM -- 4.6.2 CORBA -- 4.6.3 POSIX Threads (Pthreads) -- 4.6.4 UPnP and DPWS -- 4.7 Real-Time Databases -- 4.8 Problems -- 5 Evaluation and Validation -- 5.1 Introduction -- 5.1.1 Scope -- 5.1.2 Multi-Objective Optimization -- 5.1.3 Relevant Objectives -- 5.2 Performance Evaluation -- 5.2.1 Early Phases -- 5.2.2 WCET Estimation -- 5.2.3 Real-Time Calculus -- 5.3 Quality Metrics -- 5.3.1 Approximate Computing -- 5.3.2 Simple Criteria of Quality -- 5.3.3 Criteria for Data Analysis -- 5.4 Energy and Power Models -- 5.4.1 General Properties -- 5.4.2 Energy Model for Memories -- 5.4.3 Energy Model for Instructions -- 5.4.4 Energy Model for Functional Processor Units -- 5.4.5 Energy Model for Processor and Memory -- 5.4.6 Energy Model for an Application -- 5.4.7 Energy Model for Multiple Applications with Hardware Multithreading -- 5.4.8 Energy Model for an Android Mobile Phone -- 5.4.9 Worst Case Energy Consumption -- 5.5 Thermal Models -- 5.5.1 Steady-State Behavior -- 5.5.2 Transient State Behavior -- 5.6 Dependability and Risk Analysis -- 5.6.1 Aspects of Dependability -- 5.6.2 Security Analysis -- 5.6.3 Safety Analysis.
5.6.4 Reliability Analysis -- 5.6.5 Fault Tree Analysis, Failure Mode, and Effect Analysis -- 5.7 Simulation -- 5.8 Rapid Prototyping and Emulation -- 5.9 Formal Verification -- 5.10 Problems -- 6 Application Mapping -- 6.1 Definition of Scheduling Problems -- 6.1.1 Elaboration on the Design Problem -- 6.1.2 Types of Scheduling Problems -- The α Field -- The β Field -- The γ Field -- 6.2 Scheduling for Uniprocessors -- 6.2.1 Scheduling for Independent Jobs -- Earliest Due Date (EDD) Algorithm -- Earliest Deadline First (EDF) Algorithm -- Least Laxity (LL) Algorithm -- Scheduling Without Preemption -- 6.2.2 Scheduling with Precedence Constraints -- Task Graphs -- Latest Deadline First (LDF) Algorithm -- 6.2.3 Periodic Scheduling Without Precedence Constraints -- Notation -- Rate Monotonic Scheduling -- Earliest Deadline First Scheduling -- Explicit-Deadline Tasks -- Deadline Monotonic Scheduling -- 6.2.4 Periodic Scheduling with Precedence Constraints -- 6.2.5 Sporadic Events -- 6.3 Scheduling for Independent Jobs on Identical Multiprocessors -- 6.3.1 Partitioned Scheduling -- 6.3.2 Global Dynamic-Priority Scheduling -- Proportional Fair (Pfair) Scheduling -- 6.3.3 Global Fixed-Job-Priority Scheduling -- G-EDF Scheduling -- EDZL Scheduling -- 6.3.4 Global Fixed-Task-Priority Scheduling -- Global Rate Monotonic Scheduling -- RMZL Scheduling -- Partitioned Scheduling for Explicit Deadlines -- 6.4 Dependent Jobs on Homogeneous Multiprocessors -- 6.4.1 As-Soon-as-Possible Scheduling -- 6.4.2 As-Late-as-Possible Scheduling -- 6.4.3 List Scheduling -- 6.4.4 Optimal Scheduling with Integer Linear Programming -- 6.5 Dependent Jobs on Heterogeneous Multiprocessors -- 6.5.1 Problem Description -- 6.5.2 Static Scheduling with Local Heuristics -- 6.5.3 Static Scheduling with Integer Linear Programming -- 6.5.4 Static Scheduling with Evolutionary Algorithms.
6.5.5 Dynamic and Hybrid Scheduling -- 6.6 Problems -- 7 Optimization -- 7.1 High-Level Optimizations -- 7.1.1 Simple Loop Transformations -- 7.1.2 Loop Tiling/Blocking -- 7.1.3 Loop Splitting -- 7.1.4 Array Folding -- 7.1.5 Floating-Point to Fixed-Point Conversion -- 7.2 Task-Level Concurrency Management -- 7.3 Compilers for Embedded Systems -- 7.3.1 Introduction -- 7.3.2 Energy-Aware Compilation -- 7.3.3 Memory-Architecture Aware Compilation -- Compilation Techniques for Scratchpads -- Non-overlaying Allocation -- Overlaying Allocation -- Multiple Threads/Processes -- Supporting Different Architectures and Objectives -- 7.3.4 Reconciling Compilers and Timing Analysis -- 7.4 Power and Thermal Management -- 7.4.1 Dynamic Voltage and Frequency Scaling (DVFS) -- 7.4.2 Dynamic Power Management (DPM) -- 7.4.3 Thermal Management -- 7.5 Problems -- 8 Test -- 8.1 Scope -- 8.2 Test Procedures -- 8.2.1 Test Pattern Generation for Gate-Level Models -- 8.2.2 Self-Test Programs -- 8.3 Evaluation of Test Pattern Sets and System Robustness -- 8.3.1 Fault Coverage -- 8.3.2 Fault Simulation -- 8.3.3 Fault Injection -- 8.4 Design for Testability -- 8.4.1 Motivation -- 8.4.2 Scan Design -- 8.4.3 Signature Analysis -- 8.4.4 Pseudo-random Test Pattern Generation -- 8.5 Problems -- Correction to: Evaluation and Validation -- A Integer Linear Programming -- B Kirchhoff's Laws and Operational Amplifiers -- B.1 Kirchhoff's Laws -- B.2 Operational Amplifiers -- C Paging and Memory Management Units -- References -- Index.
author_facet Marwedel, Peter.
author_variant p m pm
author_sort Marwedel, Peter.
title Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
title_sub Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
title_full Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
title_fullStr Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
title_full_unstemmed Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
title_auth Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
title_new Embedded System Design :
title_sort embedded system design : embedded systems foundations of cyber-physical systems, and the internet of things.
series Embedded Systems Series
series2 Embedded Systems Series
publisher Springer International Publishing AG,
publishDate 2021
physical 1 online resource (446 pages)
edition 4th ed.
contents Intro -- Preface -- Why Should You Read This Book? -- Who Should Read the Book? -- How Is This Book Different from Earlier Editions? -- Acknowledgments -- Contents -- About the Author -- Frequently Used Mathematical Symbols -- 1 Introduction -- 1.1 History of Terms -- 1.2 Opportunities -- 1.3 Challenges -- 1.4 Common Characteristics -- 1.5 Curriculum Integration of Embedded Systems, CPS, and IoT -- 1.5.1 Prerequisites -- 1.5.2 Recommended Additional Courses -- 1.6 Design Flows -- 1.7 Structure of This Book -- 1.8 Problems -- 2 Specifications and Modeling -- 2.1 Requirements -- 2.2 Models of Computation -- 2.3 Early Design Phases -- 2.3.1 Use Cases -- 2.3.2 (Message) Sequence Charts and Time/Distance Diagrams -- 2.3.3 Differential Equations -- 2.4 Communicating Finite State Machines (CFSMs) -- 2.4.1 Timed Automata -- 2.4.2 StateCharts -- Modeling of Hierarchy -- Timers -- Edge Labels and StateMate Semantics -- Evaluation and Extensions -- 2.4.3 Synchronous Languages -- Motivation -- Examples of Synchronous Languages: Esterel, Lustre, and SCADE -- 2.4.4 Message Passing: SDL as an Example -- Features of the Language -- Evaluation of SDL -- 2.5 Data Flow -- 2.5.1 Scope -- 2.5.2 Kahn Process Networks -- 2.5.3 SDF -- 2.5.4 Simulink -- 2.6 Petri Nets -- 2.6.1 Introduction -- 2.6.2 Condition/Event Nets -- 2.6.3 Place/Transition Nets -- 2.6.4 Predicate/Transition Nets -- 2.6.5 Evaluation -- 2.7 Discrete Event-Based Languages -- 2.7.1 Basic Discrete Event Simulation Cycle -- 2.7.2 Multi-Valued Logic -- One Signal Strength (Two Logic Values) -- Two Signal Strengths (Three and Four Logic Values) -- Three Signal Strengths (Seven Signal Values) -- Four Signal Strengths (Ten Signal Values) -- Five Signal Strengths -- 2.7.3 Transaction-Level Modeling (TLM) -- 2.7.4 SpecC -- 2.7.5 SystemC -- 2.7.6 VHDL -- Introduction -- Entities and Architectures -- Assignments.
VHDL Processes -- The VHDL Simulation Cycle -- IEEE 1164 -- 2.7.7 Verilog and SystemVerilog -- 2.8 von Neumann Languages -- 2.8.1 CSP -- 2.8.2 Ada -- 2.8.3 Communication Libraries -- MPI -- OpenMP -- 2.8.4 Additional Languages -- 2.9 Levels of Hardware Modeling -- 2.10 Comparison of Models of Computation -- 2.10.1 Criteria -- 2.10.2 Unified Modeling Language (UML) -- 2.10.3 Ptolemy II -- 2.11 Problems -- 3 Embedded System Hardware -- 3.1 Introduction -- 3.2 Input: Interface Between Physical and Cyber-World -- 3.2.1 Sensors -- 3.2.2 Discretization of Time: Sample-and-Hold Circuits -- 3.2.3 Fourier Approximation of Signals -- 3.2.4 Discretization of Values: Analog-to-Digital Converters -- Flash ADC -- Successive Approximation -- Pipelined Converters -- Other Converters -- Comparison of ADCs -- Quantization Noise -- 3.3 Processing Units -- 3.3.1 Application-Specific Integrated Circuits (ASICs) -- 3.3.2 Processors -- Energy Efficiency -- Code Size Efficiency -- Execution Time Efficiency Using Digital Signal Processing as an Example -- Multimedia and Short Vector Instruction Sets -- Very Long Instruction Word (VLIW) Processors -- VLIW Pipelines -- Multi-core Processors -- Graphics Processing Units (GPUs) -- Multiprocessor Systems on a Chip (MPSoCs) -- 3.3.3 Reconfigurable Logic -- 3.4 Memories -- 3.4.1 Conflicting Goals -- 3.4.2 Memory Hierarchies -- 3.4.3 Register Files -- 3.4.4 Caches -- 3.4.5 Scratchpad Memories -- 3.5 Communication -- 3.5.1 Requirements -- 3.5.2 Electrical Robustness -- 3.5.3 Guaranteeing Real-Time Behavior -- 3.5.4 Examples -- 3.6 Output: Interface Between Cyber and Physical World -- 3.6.1 Digital-to-Analog Converters -- 3.6.2 Sampling Theorem -- 3.6.3 Pulse-Width Modulation -- 3.6.4 Actuators -- 3.7 Electrical Energy -- 3.7.1 Energy Sources -- 3.7.2 Energy Storage -- 3.7.3 Energy Efficiency of Hardware Components.
The Case of Mobile Phones -- Sensor Networks -- 3.8 Secure Hardware -- 3.9 Problems -- 4 System Software -- 4.1 Embedded Operating Systems -- 4.1.1 General Requirements -- 4.1.2 Real-Time Operating Systems -- 4.1.3 Virtual Machines -- 4.2 Resource Access Protocols -- 4.2.1 Priority Inversion -- 4.2.2 Priority Inheritance -- 4.2.3 Priority Ceiling Protocol -- 4.2.4 Stack Resource Policy -- 4.3 ERIKA -- 4.4 Embedded Linux -- 4.4.1 Embedded Linux Structure and Size -- 4.4.2 Real-Time Properties -- 4.4.3 Flash Memory File Systems -- 4.4.4 Reducing RAM Usage -- 4.4.5 uClinux: Linux for MMU-Less Systems -- 4.4.6 Evaluating the Use of Linux in Embedded Systems -- 4.5 Hardware Abstraction Layer -- 4.6 Middleware -- 4.6.1 OSEK/VDX COM -- 4.6.2 CORBA -- 4.6.3 POSIX Threads (Pthreads) -- 4.6.4 UPnP and DPWS -- 4.7 Real-Time Databases -- 4.8 Problems -- 5 Evaluation and Validation -- 5.1 Introduction -- 5.1.1 Scope -- 5.1.2 Multi-Objective Optimization -- 5.1.3 Relevant Objectives -- 5.2 Performance Evaluation -- 5.2.1 Early Phases -- 5.2.2 WCET Estimation -- 5.2.3 Real-Time Calculus -- 5.3 Quality Metrics -- 5.3.1 Approximate Computing -- 5.3.2 Simple Criteria of Quality -- 5.3.3 Criteria for Data Analysis -- 5.4 Energy and Power Models -- 5.4.1 General Properties -- 5.4.2 Energy Model for Memories -- 5.4.3 Energy Model for Instructions -- 5.4.4 Energy Model for Functional Processor Units -- 5.4.5 Energy Model for Processor and Memory -- 5.4.6 Energy Model for an Application -- 5.4.7 Energy Model for Multiple Applications with Hardware Multithreading -- 5.4.8 Energy Model for an Android Mobile Phone -- 5.4.9 Worst Case Energy Consumption -- 5.5 Thermal Models -- 5.5.1 Steady-State Behavior -- 5.5.2 Transient State Behavior -- 5.6 Dependability and Risk Analysis -- 5.6.1 Aspects of Dependability -- 5.6.2 Security Analysis -- 5.6.3 Safety Analysis.
5.6.4 Reliability Analysis -- 5.6.5 Fault Tree Analysis, Failure Mode, and Effect Analysis -- 5.7 Simulation -- 5.8 Rapid Prototyping and Emulation -- 5.9 Formal Verification -- 5.10 Problems -- 6 Application Mapping -- 6.1 Definition of Scheduling Problems -- 6.1.1 Elaboration on the Design Problem -- 6.1.2 Types of Scheduling Problems -- The α Field -- The β Field -- The γ Field -- 6.2 Scheduling for Uniprocessors -- 6.2.1 Scheduling for Independent Jobs -- Earliest Due Date (EDD) Algorithm -- Earliest Deadline First (EDF) Algorithm -- Least Laxity (LL) Algorithm -- Scheduling Without Preemption -- 6.2.2 Scheduling with Precedence Constraints -- Task Graphs -- Latest Deadline First (LDF) Algorithm -- 6.2.3 Periodic Scheduling Without Precedence Constraints -- Notation -- Rate Monotonic Scheduling -- Earliest Deadline First Scheduling -- Explicit-Deadline Tasks -- Deadline Monotonic Scheduling -- 6.2.4 Periodic Scheduling with Precedence Constraints -- 6.2.5 Sporadic Events -- 6.3 Scheduling for Independent Jobs on Identical Multiprocessors -- 6.3.1 Partitioned Scheduling -- 6.3.2 Global Dynamic-Priority Scheduling -- Proportional Fair (Pfair) Scheduling -- 6.3.3 Global Fixed-Job-Priority Scheduling -- G-EDF Scheduling -- EDZL Scheduling -- 6.3.4 Global Fixed-Task-Priority Scheduling -- Global Rate Monotonic Scheduling -- RMZL Scheduling -- Partitioned Scheduling for Explicit Deadlines -- 6.4 Dependent Jobs on Homogeneous Multiprocessors -- 6.4.1 As-Soon-as-Possible Scheduling -- 6.4.2 As-Late-as-Possible Scheduling -- 6.4.3 List Scheduling -- 6.4.4 Optimal Scheduling with Integer Linear Programming -- 6.5 Dependent Jobs on Heterogeneous Multiprocessors -- 6.5.1 Problem Description -- 6.5.2 Static Scheduling with Local Heuristics -- 6.5.3 Static Scheduling with Integer Linear Programming -- 6.5.4 Static Scheduling with Evolutionary Algorithms.
6.5.5 Dynamic and Hybrid Scheduling -- 6.6 Problems -- 7 Optimization -- 7.1 High-Level Optimizations -- 7.1.1 Simple Loop Transformations -- 7.1.2 Loop Tiling/Blocking -- 7.1.3 Loop Splitting -- 7.1.4 Array Folding -- 7.1.5 Floating-Point to Fixed-Point Conversion -- 7.2 Task-Level Concurrency Management -- 7.3 Compilers for Embedded Systems -- 7.3.1 Introduction -- 7.3.2 Energy-Aware Compilation -- 7.3.3 Memory-Architecture Aware Compilation -- Compilation Techniques for Scratchpads -- Non-overlaying Allocation -- Overlaying Allocation -- Multiple Threads/Processes -- Supporting Different Architectures and Objectives -- 7.3.4 Reconciling Compilers and Timing Analysis -- 7.4 Power and Thermal Management -- 7.4.1 Dynamic Voltage and Frequency Scaling (DVFS) -- 7.4.2 Dynamic Power Management (DPM) -- 7.4.3 Thermal Management -- 7.5 Problems -- 8 Test -- 8.1 Scope -- 8.2 Test Procedures -- 8.2.1 Test Pattern Generation for Gate-Level Models -- 8.2.2 Self-Test Programs -- 8.3 Evaluation of Test Pattern Sets and System Robustness -- 8.3.1 Fault Coverage -- 8.3.2 Fault Simulation -- 8.3.3 Fault Injection -- 8.4 Design for Testability -- 8.4.1 Motivation -- 8.4.2 Scan Design -- 8.4.3 Signature Analysis -- 8.4.4 Pseudo-random Test Pattern Generation -- 8.5 Problems -- Correction to: Evaluation and Validation -- A Integer Linear Programming -- B Kirchhoff's Laws and Operational Amplifiers -- B.1 Kirchhoff's Laws -- B.2 Operational Amplifiers -- C Paging and Memory Management Units -- References -- Index.
isbn 9783030609108
9783030609092
callnumber-first T - Technology
callnumber-subject TK - Electrical and Nuclear Engineering
callnumber-label TK7867-7867
callnumber-sort TK 47867 47867.5
genre Electronic books.
genre_facet Electronic books.
url https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6463481
illustrated Not Illustrated
oclc_num 1235599050
work_keys_str_mv AT marwedelpeter embeddedsystemdesignembeddedsystemsfoundationsofcyberphysicalsystemsandtheinternetofthings
status_str n
ids_txt_mv (MiAaPQ)5006463481
(Au-PeEL)EBL6463481
(OCoLC)1235599050
carrierType_str_mv cr
hierarchy_parent_title Embedded Systems Series
is_hierarchy_title Embedded System Design : Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.
container_title Embedded Systems Series
_version_ 1792331058683838464
fullrecord <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>10693nam a22004453i 4500</leader><controlfield tag="001">5006463481</controlfield><controlfield tag="003">MiAaPQ</controlfield><controlfield tag="005">20240229073839.0</controlfield><controlfield tag="006">m o d | </controlfield><controlfield tag="007">cr cnu||||||||</controlfield><controlfield tag="008">240229s2021 xx o ||||0 eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783030609108</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9783030609092</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(MiAaPQ)5006463481</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(Au-PeEL)EBL6463481</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1235599050</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">MiAaPQ</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">MiAaPQ</subfield><subfield code="d">MiAaPQ</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">TK7867-7867.5</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Marwedel, Peter.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Embedded System Design :</subfield><subfield code="b">Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things.</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">4th ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cham :</subfield><subfield code="b">Springer International Publishing AG,</subfield><subfield code="c">2021.</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">©2021.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (446 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Embedded Systems Series</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Intro -- Preface -- Why Should You Read This Book? -- Who Should Read the Book? -- How Is This Book Different from Earlier Editions? -- Acknowledgments -- Contents -- About the Author -- Frequently Used Mathematical Symbols -- 1 Introduction -- 1.1 History of Terms -- 1.2 Opportunities -- 1.3 Challenges -- 1.4 Common Characteristics -- 1.5 Curriculum Integration of Embedded Systems, CPS, and IoT -- 1.5.1 Prerequisites -- 1.5.2 Recommended Additional Courses -- 1.6 Design Flows -- 1.7 Structure of This Book -- 1.8 Problems -- 2 Specifications and Modeling -- 2.1 Requirements -- 2.2 Models of Computation -- 2.3 Early Design Phases -- 2.3.1 Use Cases -- 2.3.2 (Message) Sequence Charts and Time/Distance Diagrams -- 2.3.3 Differential Equations -- 2.4 Communicating Finite State Machines (CFSMs) -- 2.4.1 Timed Automata -- 2.4.2 StateCharts -- Modeling of Hierarchy -- Timers -- Edge Labels and StateMate Semantics -- Evaluation and Extensions -- 2.4.3 Synchronous Languages -- Motivation -- Examples of Synchronous Languages: Esterel, Lustre, and SCADE -- 2.4.4 Message Passing: SDL as an Example -- Features of the Language -- Evaluation of SDL -- 2.5 Data Flow -- 2.5.1 Scope -- 2.5.2 Kahn Process Networks -- 2.5.3 SDF -- 2.5.4 Simulink -- 2.6 Petri Nets -- 2.6.1 Introduction -- 2.6.2 Condition/Event Nets -- 2.6.3 Place/Transition Nets -- 2.6.4 Predicate/Transition Nets -- 2.6.5 Evaluation -- 2.7 Discrete Event-Based Languages -- 2.7.1 Basic Discrete Event Simulation Cycle -- 2.7.2 Multi-Valued Logic -- One Signal Strength (Two Logic Values) -- Two Signal Strengths (Three and Four Logic Values) -- Three Signal Strengths (Seven Signal Values) -- Four Signal Strengths (Ten Signal Values) -- Five Signal Strengths -- 2.7.3 Transaction-Level Modeling (TLM) -- 2.7.4 SpecC -- 2.7.5 SystemC -- 2.7.6 VHDL -- Introduction -- Entities and Architectures -- Assignments.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">VHDL Processes -- The VHDL Simulation Cycle -- IEEE 1164 -- 2.7.7 Verilog and SystemVerilog -- 2.8 von Neumann Languages -- 2.8.1 CSP -- 2.8.2 Ada -- 2.8.3 Communication Libraries -- MPI -- OpenMP -- 2.8.4 Additional Languages -- 2.9 Levels of Hardware Modeling -- 2.10 Comparison of Models of Computation -- 2.10.1 Criteria -- 2.10.2 Unified Modeling Language (UML) -- 2.10.3 Ptolemy II -- 2.11 Problems -- 3 Embedded System Hardware -- 3.1 Introduction -- 3.2 Input: Interface Between Physical and Cyber-World -- 3.2.1 Sensors -- 3.2.2 Discretization of Time: Sample-and-Hold Circuits -- 3.2.3 Fourier Approximation of Signals -- 3.2.4 Discretization of Values: Analog-to-Digital Converters -- Flash ADC -- Successive Approximation -- Pipelined Converters -- Other Converters -- Comparison of ADCs -- Quantization Noise -- 3.3 Processing Units -- 3.3.1 Application-Specific Integrated Circuits (ASICs) -- 3.3.2 Processors -- Energy Efficiency -- Code Size Efficiency -- Execution Time Efficiency Using Digital Signal Processing as an Example -- Multimedia and Short Vector Instruction Sets -- Very Long Instruction Word (VLIW) Processors -- VLIW Pipelines -- Multi-core Processors -- Graphics Processing Units (GPUs) -- Multiprocessor Systems on a Chip (MPSoCs) -- 3.3.3 Reconfigurable Logic -- 3.4 Memories -- 3.4.1 Conflicting Goals -- 3.4.2 Memory Hierarchies -- 3.4.3 Register Files -- 3.4.4 Caches -- 3.4.5 Scratchpad Memories -- 3.5 Communication -- 3.5.1 Requirements -- 3.5.2 Electrical Robustness -- 3.5.3 Guaranteeing Real-Time Behavior -- 3.5.4 Examples -- 3.6 Output: Interface Between Cyber and Physical World -- 3.6.1 Digital-to-Analog Converters -- 3.6.2 Sampling Theorem -- 3.6.3 Pulse-Width Modulation -- 3.6.4 Actuators -- 3.7 Electrical Energy -- 3.7.1 Energy Sources -- 3.7.2 Energy Storage -- 3.7.3 Energy Efficiency of Hardware Components.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">The Case of Mobile Phones -- Sensor Networks -- 3.8 Secure Hardware -- 3.9 Problems -- 4 System Software -- 4.1 Embedded Operating Systems -- 4.1.1 General Requirements -- 4.1.2 Real-Time Operating Systems -- 4.1.3 Virtual Machines -- 4.2 Resource Access Protocols -- 4.2.1 Priority Inversion -- 4.2.2 Priority Inheritance -- 4.2.3 Priority Ceiling Protocol -- 4.2.4 Stack Resource Policy -- 4.3 ERIKA -- 4.4 Embedded Linux -- 4.4.1 Embedded Linux Structure and Size -- 4.4.2 Real-Time Properties -- 4.4.3 Flash Memory File Systems -- 4.4.4 Reducing RAM Usage -- 4.4.5 uClinux: Linux for MMU-Less Systems -- 4.4.6 Evaluating the Use of Linux in Embedded Systems -- 4.5 Hardware Abstraction Layer -- 4.6 Middleware -- 4.6.1 OSEK/VDX COM -- 4.6.2 CORBA -- 4.6.3 POSIX Threads (Pthreads) -- 4.6.4 UPnP and DPWS -- 4.7 Real-Time Databases -- 4.8 Problems -- 5 Evaluation and Validation -- 5.1 Introduction -- 5.1.1 Scope -- 5.1.2 Multi-Objective Optimization -- 5.1.3 Relevant Objectives -- 5.2 Performance Evaluation -- 5.2.1 Early Phases -- 5.2.2 WCET Estimation -- 5.2.3 Real-Time Calculus -- 5.3 Quality Metrics -- 5.3.1 Approximate Computing -- 5.3.2 Simple Criteria of Quality -- 5.3.3 Criteria for Data Analysis -- 5.4 Energy and Power Models -- 5.4.1 General Properties -- 5.4.2 Energy Model for Memories -- 5.4.3 Energy Model for Instructions -- 5.4.4 Energy Model for Functional Processor Units -- 5.4.5 Energy Model for Processor and Memory -- 5.4.6 Energy Model for an Application -- 5.4.7 Energy Model for Multiple Applications with Hardware Multithreading -- 5.4.8 Energy Model for an Android Mobile Phone -- 5.4.9 Worst Case Energy Consumption -- 5.5 Thermal Models -- 5.5.1 Steady-State Behavior -- 5.5.2 Transient State Behavior -- 5.6 Dependability and Risk Analysis -- 5.6.1 Aspects of Dependability -- 5.6.2 Security Analysis -- 5.6.3 Safety Analysis.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">5.6.4 Reliability Analysis -- 5.6.5 Fault Tree Analysis, Failure Mode, and Effect Analysis -- 5.7 Simulation -- 5.8 Rapid Prototyping and Emulation -- 5.9 Formal Verification -- 5.10 Problems -- 6 Application Mapping -- 6.1 Definition of Scheduling Problems -- 6.1.1 Elaboration on the Design Problem -- 6.1.2 Types of Scheduling Problems -- The α Field -- The β Field -- The γ Field -- 6.2 Scheduling for Uniprocessors -- 6.2.1 Scheduling for Independent Jobs -- Earliest Due Date (EDD) Algorithm -- Earliest Deadline First (EDF) Algorithm -- Least Laxity (LL) Algorithm -- Scheduling Without Preemption -- 6.2.2 Scheduling with Precedence Constraints -- Task Graphs -- Latest Deadline First (LDF) Algorithm -- 6.2.3 Periodic Scheduling Without Precedence Constraints -- Notation -- Rate Monotonic Scheduling -- Earliest Deadline First Scheduling -- Explicit-Deadline Tasks -- Deadline Monotonic Scheduling -- 6.2.4 Periodic Scheduling with Precedence Constraints -- 6.2.5 Sporadic Events -- 6.3 Scheduling for Independent Jobs on Identical Multiprocessors -- 6.3.1 Partitioned Scheduling -- 6.3.2 Global Dynamic-Priority Scheduling -- Proportional Fair (Pfair) Scheduling -- 6.3.3 Global Fixed-Job-Priority Scheduling -- G-EDF Scheduling -- EDZL Scheduling -- 6.3.4 Global Fixed-Task-Priority Scheduling -- Global Rate Monotonic Scheduling -- RMZL Scheduling -- Partitioned Scheduling for Explicit Deadlines -- 6.4 Dependent Jobs on Homogeneous Multiprocessors -- 6.4.1 As-Soon-as-Possible Scheduling -- 6.4.2 As-Late-as-Possible Scheduling -- 6.4.3 List Scheduling -- 6.4.4 Optimal Scheduling with Integer Linear Programming -- 6.5 Dependent Jobs on Heterogeneous Multiprocessors -- 6.5.1 Problem Description -- 6.5.2 Static Scheduling with Local Heuristics -- 6.5.3 Static Scheduling with Integer Linear Programming -- 6.5.4 Static Scheduling with Evolutionary Algorithms.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">6.5.5 Dynamic and Hybrid Scheduling -- 6.6 Problems -- 7 Optimization -- 7.1 High-Level Optimizations -- 7.1.1 Simple Loop Transformations -- 7.1.2 Loop Tiling/Blocking -- 7.1.3 Loop Splitting -- 7.1.4 Array Folding -- 7.1.5 Floating-Point to Fixed-Point Conversion -- 7.2 Task-Level Concurrency Management -- 7.3 Compilers for Embedded Systems -- 7.3.1 Introduction -- 7.3.2 Energy-Aware Compilation -- 7.3.3 Memory-Architecture Aware Compilation -- Compilation Techniques for Scratchpads -- Non-overlaying Allocation -- Overlaying Allocation -- Multiple Threads/Processes -- Supporting Different Architectures and Objectives -- 7.3.4 Reconciling Compilers and Timing Analysis -- 7.4 Power and Thermal Management -- 7.4.1 Dynamic Voltage and Frequency Scaling (DVFS) -- 7.4.2 Dynamic Power Management (DPM) -- 7.4.3 Thermal Management -- 7.5 Problems -- 8 Test -- 8.1 Scope -- 8.2 Test Procedures -- 8.2.1 Test Pattern Generation for Gate-Level Models -- 8.2.2 Self-Test Programs -- 8.3 Evaluation of Test Pattern Sets and System Robustness -- 8.3.1 Fault Coverage -- 8.3.2 Fault Simulation -- 8.3.3 Fault Injection -- 8.4 Design for Testability -- 8.4.1 Motivation -- 8.4.2 Scan Design -- 8.4.3 Signature Analysis -- 8.4.4 Pseudo-random Test Pattern Generation -- 8.5 Problems -- Correction to: Evaluation and Validation -- A Integer Linear Programming -- B Kirchhoff's Laws and Operational Amplifiers -- B.1 Kirchhoff's Laws -- B.2 Operational Amplifiers -- C Paging and Memory Management Units -- References -- Index.</subfield></datafield><datafield tag="588" ind1=" " ind2=" "><subfield code="a">Description based on publisher supplied metadata and other sources.</subfield></datafield><datafield tag="590" ind1=" " ind2=" "><subfield code="a">Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries. </subfield></datafield><datafield tag="655" ind1=" " ind2="4"><subfield code="a">Electronic books.</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Marwedel, Peter</subfield><subfield code="t">Embedded System Design</subfield><subfield code="d">Cham : Springer International Publishing AG,c2021</subfield><subfield code="z">9783030609092</subfield></datafield><datafield tag="797" ind1="2" ind2=" "><subfield code="a">ProQuest (Firm)</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Embedded Systems Series</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ebookcentral.proquest.com/lib/oeawat/detail.action?docID=6463481</subfield><subfield code="z">Click to View</subfield></datafield></record></collection>