Analysis of the Execution Time Unpredictability caused by Dynamic Branch Prediction
نویسنده
چکیده
This paper investigates how dynamic branch prediction in a microprocessor affects the predictability of execution time for software running on that processor. By means of experiments on a number of real processors employing various forms of branch prediction, we evaluate the impact of branch predictors on execution time predictability. The results indicate that dynamic branch predictors give a high and hard-to-predict variation in the execution time of even very simple loops, and that the execution time effects of branch mispredictions can be very large relative to the execution time of regular instructions. We have observed some cases where executing more iterations of a loop actually take less time than executing fewer iterations, due to the effect of dynamic branch predictors. We conclude that current dynamic branch predictions schemes are not suitable for use in real-time systems where execution time predictability is desired.
منابع مشابه
Variability Analysis for Multi - programmed Multimedia Applications CS 497 JT - Spring 2001
Multimedia applications are expected to form a large part of the workload on a growing number of systems, including future handheld computers, wireless telephones, laptop computers, and desktop systems [8, 9, 16, 17]. General-purpose processors (vs. specialized DSP processors or ASICs) are expected to be increasingly employed for such workloads [11, 8, 9]. Our previous work analyzed the variabi...
متن کاملA Framework to Model Branch Prediction for Worst Case Execution Time Analysis
Estimating the Worst Case Execution Time (WCET) of a program on a given hardware platform is useful in the design of embedded real-time systems. These systems communicate with the external environment in a timely fashion, and thus impose constraints on the execution time of programs. Estimating the WCET of a program ensures that these constraints are met. WCET analysis schemes typically model m...
متن کاملWorst-Case Execution Time Analysis for Dynamic Branch Predictors
Branch prediction mechanisms are becoming commonplace within modern microprocessors. For developers of real-time control systems, the mechanisms present predictability problems. The reasons are they increase the difficulty in analysing software for its Worst-Case Execution Time without introducing unmanageable pessimism and they increase the variability of the software’s execution times. In thi...
متن کاملAccelerating Coupled Applications through Register Level Communication between Processing Elements
Early SoCs have boosted parallelism exploitation for a limited number of embedded system applications that can be easily decomposed into multiple independent parts, thus enabling their facile execution on multiple Processing Elements (PEs) in parallel. However, as the computation complexity of the applications increases, the lockstep execution model is increasingly being questioned due to archi...
متن کاملFast approximately timed simulation
In this paper we present a technique for fast approximately timed simulation of software within a virtual prototyping framework. Our method performs a static analysis of the program control flow graph to construct annotations of the simulated program, combined with dynamic performance information. The static analysis estimates execution time based on a target architecture model. The delays intr...
متن کامل