1 / 20

WCET Analysis for a Java Processor

WCET Analysis for a Java Processor. Martin Schoeberl TU Vienna, Austria Rasmus Pedersen CBS, Denmark. Outline. Motivation WCET analysis The Java processor JOP Results Conclusion, future work Demo. Motivation. Schedule analysis For (hard) real-time Execution time numbers needed

jace
Télécharger la présentation

WCET Analysis for a Java Processor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WCET Analysis for a Java Processor Martin Schoeberl TU Vienna, Austria Rasmus Pedersen CBS, Denmark

  2. Outline • Motivation • WCET analysis • The Java processor JOP • Results • Conclusion, future work • Demo Martin Schoeberl – WCET Analysis for a Java Processor

  3. Motivation • Schedule analysis • For (hard) real-time • Execution time numbers needed • Static WCET analysis • No measurements! • Can not guarantee the WC • Still used Martin Schoeberl – WCET Analysis for a Java Processor

  4. Issues with static WCET Analysis • Why is WCET Analysis so seldom used? • High-level part is easy • Low-level is the hard part • Instruction timing • Caches • Advanced, speculative processors Martin Schoeberl – WCET Analysis for a Java Processor

  5. Static WCET Analysis • Mature research • High-level based in ILP • Construct CFG • Add execution time to BB • Build ILP equations: • Sum of BB texe will be maximized • Frequency of in-edges = out-edges • Add loop constraints Martin Schoeberl – WCET Analysis for a Java Processor

  6. Low-level WCET Analysis • Execution time of basic blocks • Sum of instruction timing? • Not in modern CPUs • What about memory access? • Instruction cache • Instruction prefetch • Data cache • Very hard for general purpose CPUs Martin Schoeberl – WCET Analysis for a Java Processor

  7. The Proposed Solution • Build a processor to simplify WCET Analysis • Avoid non analyzable features • Find better solutions • Java processor JOP • Built from ground up for WCET • FPGA implementation (small) • Not slow on average Martin Schoeberl – WCET Analysis for a Java Processor

  8. JOP Features • A RISC stack machine • 4 stage pipeline • No dependencies • No shared state (e.g. memory) • Stack cache • Method cache Martin Schoeberl – WCET Analysis for a Java Processor

  9. Size Martin Schoeberl – WCET Analysis for a Java Processor

  10. Performance Martin Schoeberl – WCET Analysis for a Java Processor

  11. Low-level Timing • Bytecode execution time known • Analysis of microcode (DATE’06) • No dependencies • Documented Martin Schoeberl – WCET Analysis for a Java Processor

  12. Memory Access • Assume SRAM • Constant access time (rws and wws) • Access time partially hidden: • Method cache load: • Partially hidden Martin Schoeberl – WCET Analysis for a Java Processor

  13. Method Cache • Full method loaded • Misses only on invoke/return • Cache contains several methods • Simpler to analyze • At call tree level • Other instructions are a hit Martin Schoeberl – WCET Analysis for a Java Processor

  14. Method Cache Analysis • Only call tree leaves • Return is always a hit • Invoke in a loop for (int i=0; i<10; ++i) { foo(); } • One miss and 9 hits • Miss times added to the CFG Martin Schoeberl – WCET Analysis for a Java Processor

  15. Miss Times in the CFG => Martin Schoeberl – WCET Analysis for a Java Processor

  16. Evaluation Martin Schoeberl – WCET Analysis for a Java Processor

  17. Conclusion • We need static WCET analysis • COTS processors don’t work • Design HW for WCET • A RT computer architecture • JOP is a first step to RT processors • Analysis at bytecode level Martin Schoeberl – WCET Analysis for a Java Processor

  18. Future Work • Method cache cont. • Detection of loop bounds • Integration into Eclipse • WC memory consumption Martin Schoeberl – WCET Analysis for a Java Processor

  19. Demo Time Martin Schoeberl – WCET Analysis for a Java Processor

  20. Thank You! Questions & Suggestions Martin Schoeberl – WCET Analysis for a Java Processor

More Related