Modern Processor Architectures Make WCET Analysis for HUME Challenging

footballsyrupΛογισμικό & κατασκευή λογ/κού

1 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

66 εμφανίσεις

Modern Processor Architectures Make
WCET Analysis for HUME Challenging

Christian Ferdinand

AbsInt Angewandte Informatik GmbH


The Timing Problem

P

r

o

b

a

b

i

l

i

t

y

Execution Time

Best Case

Execution Time

Exact Worst Case

Execution Time


End
-
to
-
end Measurements

P

r

o

b

a

b

i

l

i

t

y

Execution Time

Best Case

Execution Time

Exact Worst Case

Execution Time

Measured

Worst
-
case

Unsafe:



Execution Time

Measurement


Hybrid Approachs

P

r

o

b

a

b

i

l

i

t

y

Execution Time

Best Case

Execution Time

Exact Worst Case

Execution Time

Combination of

Local Measurements


Static Timing Analysis

(Abstract Interpretation)

P

r

o

b

a

b

i

l

i

t

y

Execution Time

Best Case

Execution Time

Exact Worst Case

Execution Time

Safe

Worst Case

Execution Time

Estimate

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

aiT vs. Measurement


Good precision in general



Note for MatchRule:
Measurement error up to
3 cycles



See IFL06 paper

Armelle Bonenfant et al.,

Worst
-
Case Execution
Times for a Purely
Functional Language

aiT WCET Analyzer Structure

Interprocedural
PAG
-
generated
analyzers based
on AI

Contexts with Loops

INTERPROC: VIVU

INTERPROC_L: 3

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


Recursive C
-
Program Example

Conclusion


On M32
-
class processors


Current WCET analysis for Hume works well


On e300
-
class processors


Current WCET analysis for Hume will largely overestimate