Computing Execution Times with eXecution Decision Diagrams in the Presence of Out-Of-Order Resources

07/15/2022
by   Zhenyu Bai, et al.
0

Worst-Case Execution Time (WCET) is a key component for the verification of critical real-time applications. Yet, even the simplest microprocessors implement pipelines with concurrently-accessed resources, such as the memory bus shared by fetch and memory stages. Although their in-order pipelines are, by nature, very deterministic, the bus can cause out-of-order accesses to the memory and, therefore, timing anomalies: local timing effects that can have global effects but that cannot be easily composed to estimate the global WCET. To cope with this situation, WCET analyses have to generate important over-estimations in order to preserve safety of the computed times or have to explicitly track all possible executions. In the latter case, the presence of out-of-order behavior leads to a combinatorial blowup of the number of pipeline states for which efficient state abstractions are difficult to design. This paper proposes instead a compact and exact representation of the timings in the pipeline, using eXecution Decision Diagram (XDD) [1]. We show how XDD can be used to model pipeline states all along the execution paths by leveraging the algebraic properties of XDD. This computational model allows to compute the exact temporal behavior at control flow graph level and is amenable to efficiently and precisely support WCET calculation in presence of out-of-order bus accesses. This model is finally experimented on the TACLe benchmark suite and we observe good performance making this approach appropriate for industrial applications.

READ FULL TEXT

page 1

page 12

research
02/05/2021

Worst-Case Execution Time Calculation for Query-Based Monitors by Witness Generation

Runtime monitoring plays a key role in the assurance of modern intellige...
research
05/30/2018

BUNDLEP: Prioritizing Conflict Free Regions in Multi-Threaded Programs to Improve Cache Reuse -- Extended Results and Technical Report

In BUNDLE: Real-Time Multi-Threaded Scheduling to Reduce Cache Contentio...
research
04/23/2023

Exact Worst-Case Execution-Time Analysis for Implicit Model Predictive Control

We propose the first method that determines the exact worst-case executi...
research
05/28/2023

An evaluation of a microprocessor with two independent hardware execution threads coupled through a shared cache

We investigate the utility of augmenting a microprocessor with a single ...
research
02/18/2022

Migration-Based Synchronization

A fundamental challenge in multi- and many-core systems is the correct e...
research
07/17/2017

Deterministic Memory Abstraction and Supporting Multicore System Architecture

Poor timing predictability of multicore processors has been a long-stand...
research
04/27/2023

Timing Analysis of Embedded Software Updates

We present RETA (Relative Timing Analysis), a differential timing analys...

Please sign up or login with your details

Forgot password? Click here to reset