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

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

Approximating the Worst-Case Execution Time of Soft Real-time Applications Matteo Corti.
Branch prediction Titov Alexander MDSP November, 2009.
DSPs Vs General Purpose Microprocessors
Xianfeng Li Tulika Mitra Abhik Roychoudhury
- 1 -  P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2005 Universität Dortmund Memory-aware compilation enables fast, energy-efficient, timing predictable.
HW 2 is out! Due 9/25!. CS 6290 Static Exploitation of ILP.
Lecture 8 Dynamic Branch Prediction, Superscalar and VLIW Advanced Computer Architecture COE 501.
CPE 731 Advanced Computer Architecture ILP: Part V – Multiple Issue Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University of.
Modeling shared cache and bus in multi-core platforms for timing analysis Sudipta Chattopadhyay Abhik Roychoudhury Tulika Mitra.
Combining Statistical and Symbolic Simulation Mark Oskin Fred Chong and Matthew Farrens Dept. of Computer Science University of California at Davis.
T IME -P REDICTABLE E XECUTION OF E MBEDDED S OFTWARE ON M ULTI - CORE P LATFORMS Sudipta Chattopadhyay under the guidance of A/P Abhik Roychoudhury 1.
Pipelining 5. Two Approaches for Multiple Issue Superscalar –Issue a variable number of instructions per clock –Instructions are scheduled either statically.
Constraint Systems used in Worst-Case Execution Time Analysis Andreas Ermedahl Dept. of Information Technology Uppsala University.
Microprocessors. Von Neumann architecture Data and instructions in single read/write memory Contents of memory addressable by location, independent of.
Timing Predictability - A Must for Avionics Systems - Reinhard Wilhelm Saarland University, Saarbrücken.
Eliminating Stack Overflow by Abstract Interpretation John Regehr Alastair Reid Kirk Webb University of Utah.
Instruction Level Parallelism (ILP) Colin Stevens.
The Case for Precision Timed (PRET) Machines Edward A. Lee Professor, Chair of EECS UC Berkeley With thanks to Stephen Edwards, Columbia University. National.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
How to Improve Usability of WCET tools Dr.-Ing. Christian Ferdinand AbsInt Angewandte Informatik GmbH.
Inside The CPU. Buses There are 3 Types of Buses There are 3 Types of Buses Address bus Address bus –between CPU and Main Memory –Carries address of where.
Impact Analysis of Database Schema Changes Andy Maule, Wolfgang Emmerich and David S. Rosenblum London Software Systems Dept. of Computer Science, University.
5-Stage Pipelining Fetch Instruction (FI) Fetch Operand (FO) Decode Instruction (DI) Write Operand (WO) Execution Instruction (EI) S3S3 S4S4 S1S1 S2S2.
Simultaneous Multithreading: Maximizing On-Chip Parallelism Presented By: Daron Shrode Shey Liggett.
High Performance Architectures Dataflow Part 3. 2 Dataflow Processors Recall from Basic Processor Pipelining: Hazards limit performance  Structural hazards.
A Modular and Retargetable Framework for Tree-based WCET analysis Antoine Colin Isabelle Puaut IRISA - Solidor Rennes, France.
Software Overview. Why review software? Software is the set of instructions that tells hardware what to do The reason for hardware is to execute a program.
Fakultät für informatik informatik 12 technische universität dortmund Worst-Case Execution Time Analysis - Session 19 - Heiko Falk TU Dortmund Informatik.
Timing Analysis of Embedded Software for Speculative Processors Tulika Mitra Abhik Roychoudhury Xianfeng Li School of Computing National University of.
The Central Processing Unit (CPU) and the Machine Cycle.
Zheng Wu. Background Motivation Analysis Framework Intra-Core Cache Analysis Cache Conflict Analysis Optimization Techniques WCRT Analysis Experiment.
Dynamic Pipelines. Interstage Buffers Superscalar Pipeline Stages In Program Order In Program Order Out of Order.
12/4/2015CS654 RISC vs. CISC Dhiraj Parashar Shiva Prasad Behera Vivek Sharma.
Survey of Program Compilation and Execution Bangor High School Ali Shareef 2/28/06.
NC STATE UNIVERSITY Center for Embedded Systems Research (CESR) Department of Electrical & Computer Eng’g North Carolina State University Ali El-Haj-Mahmoud,
A Unified WCET Analysis Framework for Multi-core Platforms Sudipta Chattopadhyay, Chong Lee Kee, Abhik Roychoudhury National University of Singapore Timon.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved The Microarchitecture Level.
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis.
Language Implementation Methods David Woolbright.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
Superscalar - summary Superscalar machines have multiple functional units (FUs) eg 2 x integer ALU, 1 x FPU, 1 x branch, 1 x load/store Requires complex.
Lecture 17 Final Review Prof. Mike Schulte Computer Architecture ECE 201.
Pentium Architecture Arithmetic/Logic Units (ALUs) : – There are two parallel integer instruction pipelines: u-pipeline and v-pipeline – The u-pipeline.
ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni.
Real-time aspects Bernhard Weirich Real-time Systems Real-time systems need to accomplish their task s before the deadline. – Hard real-time:
Processor Fundamentals Assembly Language. Learning Objectives Show understanding of the relationship between assembly language and machine code, including.
Hewlett-Packard PA-RISC Bit Processors: History, Features, and Architecture Presented By: Adam Gray Christie Kummers Joshua Madagan.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Machine Language Computer languages cannot be directly interpreted by the computer – they are not in binary. All commands need to be translated into binary.
Compilers: History and Context COMP Outline Compilers and languages Compilers and architectures – parallelism – memory hierarchies Other uses.
CHaRy Software Synthesis for Hard Real-Time Systems
Topics to be covered Instruction Execution Characteristics
Protection in Virtual Mode
Assembler, Compiler, MIPS simulator
CSL718 : Superscalar Processors
Visit for more Learning Resources
Run-Time Guarantees for Real-Time Systems: The USES* Approach
Computer Architecture and Organization
Introduction to Pentium Processor
Superscalar Pipelines Part 2
Worst-Case Execution Time
Coe818 Advanced Computer Architecture
Figure 4- 1: Flowchart for Example 4-3
Hyesoon Kim Onur Mutlu Jared Stark* Yale N. Patt
A Level Computer Science Topic 5: Computer Architecture and Assembly
Figure 7-1: Non-Pipelined Instruction Execution vs. 2-stage Pipeline
Instruction Level Parallelism
Processor Pipelines and Static Worst-Case Execution Time Analysis
Presentation transcript:

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 SafeWorst 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  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