Building computers that can be used to design embedded real-time systems is the subject of this title. Real-time embedded software requires increasingly higher performances. The authors therefore consider processors that implement advanced mechanisms such as pipelining, out-of-order execution, branch prediction, cache memories, multi-threading, multicorearchitectures, etc. The authors of this book investigate the timepredictability of such schemes.
PREFACE?ix
CHAPTER 1. REAL-TIME SYSTEMS AND TIME PREDICTABILITY 1
1.1. Real-time systems?1
1.1.1. Introduction?1
1.1.2. Soft, firm and hard real-time systems?4
1.1.3. Safety standards 6
1.1.4. Examples 7
1.2. Time predictability?15
1.3. Book outline 16
CHAPTER 2. TIMING ANALYSIS OF REAL-TIME SYSTEMS?19
2.1. Real-time task scheduling?19
2.1.1. Task model?19
2.1.2. Objectives of task scheduling algorithms?20
2.1.3. Mono-processor scheduling for periodic tasks?21
2.1.4. Scheduling sporadic and aperiodic tasks 23
2.1.5. Multiprocessor scheduling for periodic tasks?23
2.2. Task-level analysis?24
2.2.1. Flow analysis: identifying possible paths?25
2.2.2. Low-level analysis: determining partial execution times 27
2.2.3. WCET computation 29
2.2.4. WCET analysis tools 32
2.2.5. Alternative approaches to WCET analysis?32
2.2.6. Time composability 35
CHAPTER 3. CURRENT PROCESSOR ARCHITECTURES? 37
3.1. Pipelining?37
3.1.1. Pipeline effects?38
3.1.2. Modeling for timils+