Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt...

12
Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Transcript of Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt...

Page 1: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

Modern Processor Architectures Make WCET Analysis for HUME

Challenging

Christian FerdinandAbsInt Angewandte Informatik GmbH

Page 2: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

The Timing ProblemPr

obab

ility

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

Page 3: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

End-to-end MeasurementsPr

obab

ility

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

MeasuredWorst-caseUnsafe:

Execution TimeMeasurement

Page 4: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

Hybrid ApproachsPr

obab

ility

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

Combination ofLocal Measurements

Page 5: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

Static Timing Analysis (Abstract Interpretation)

Prob

abili

ty

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

Safe Worst Case Execution TimeEstimate

Page 6: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

EmBounded Low-Level Timing Analysis for Renesas M32C85

High-level source code: Hume … … is translated to HAM code (Hume Abstract

Machine) HAM code is translated to C

Each HAM instruction becomes a snippet of C code

C code is translated to M32C binary code Each HAM instruction then becomes a snippet of M32C code

Use AbsInt’s aiT to analyze the M32C code corresponding to the HAM instructions

Page 7: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

aiT vs. Measurement

Good precision in general

Note for MatchRule: Measurement error up to 3 cycles

See IFL06 paperArmelle Bonenfant et al.,

Worst-Case Execution Times for a Purely Functional Language

Page 8: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

aiT WCET Analyzer Structure

Interprocedural PAG-generated analyzers based

on AI

Page 9: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

Contexts with Loops

INTERPROC: VIVUINTERPROC_L: 3

Page 10: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

e300

e300 / PPC603e +- 450 MHz Double precision FPU Caches (LRU) + store

buffer Superscalar pipeline with

out-of-order execution Branch prediction (static) Available in various

processors, e.g. Freescale MPC82xx

Page 11: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

Recursive C-Program Example

Page 12: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.

Conclusion

On M32-class processors Current WCET analysis for Hume works well

On e300-class processors Current WCET analysis for Hume will largely overestimate