6 research outputs found

    A Time-predictable Object Cache

    Get PDF
    Abstract—Static cache analysis for data allocated on the heap is practically impossible for standard data caches. We propose a distinct object cache for heap allocated data. The cache is highly associative to track symbolic object addresses in the static analysis. Cache lines are organized to hold single objects and individual fields are loaded on a miss. This cache organization is statically analyzable and improves the performance. In this paper we present the design and implementation of the object cache in a uniprocessor and chipmultiprocessor version of the Java processor JOP. Keywords-real-time systems; time-predictable computer architecture; worst-case execution time analysis I

    Design Space Exploration of Object Caches with Cross-Profiling

    Get PDF
    To avoid data cache trashing between heapallocated data and other data areas, a distinct object cache has been proposed for embedded real-time Java processors. This object cache uses high associativity in order to statically track different object pointers for worst-case execution-time analysis. However, before implementing such an object cache, an empirical analysis of different organization forms is needed. We use a cross-profiling technique based on aspect-oriented programming in order to evaluate different object cache organizations with standard Java benchmarks. From the evaluation we conclude that field access exhibits some temporal locality, but almost no spatial locality. Therefore, filling long cache lines on a miss just introduces a high miss penalty without increasing the hit rate enough to make up for the increased miss penalty. For an object cache, it is more efficient to fill individual words within the cache line on a miss

    Data cache organization for accurate timing analysis

    Get PDF

    Safety-critical Java for embedded systems

    Get PDF
    This paper presents the motivation for and outcomes of an engineering research project on certifiable Java for embedded systems. The project supports the upcoming standard for safety-critical Java, which defines a subset of Java and libraries aiming for development of high criticality systems. The outcome of this project include prototype safety-critical Java implementations, a time-predictable Java processor, analysis tools for memory safety, and example applications to explore the usability of safety-critical Java for this application area. The text summarizes developments and key contributions and concludes with the lessons learned

    Cache-Kohärenz in hart echtzeitfähigen Mehrkern-Prozessoren

    Get PDF
    Im Bereich der Echtzeitsysteme rücken Mehrkern-Prozessoren zunehmend in den Fokus. Dabei stellen Echtzeitsysteme besondere Anforderungen an die eingesetzte Systemarchitektur. Neben der logischen Korrektheit, ist in Echtzeitsystemen eine zeitlich vorhersagbare Ausführung entscheidend. Cache- Speicher spielen in dieser Hinsicht eine besondere Rolle. Zum einen sind sie notwendig, um schnelle Zugriffe auf Instruktionen und Daten zu gewährleisten, zum anderen beeinträchtigen sie die zeitliche Vorhersagbarkeit der Ausführung. Beim Zugriff auf gemeinsame Daten in Mehrkern-Prozessoren ist zudem der Einsatz eines Cache-Kohärenzverfahrens notwendig. Gängige Kohärenzverfahren können die Anforderungen an Performanz und Echtzeitfähigkeit nicht hinreichend erfüllen. Die in hardwarebasierten Kohärenzverfahren eingesetzten Kohärenzoperationen machen eine präzise WCET-Abschätzung undurchführbar. Der On-Demand Coherent Cache (ODC2) stellt ein Cache- Kohärenzverfahren dar, das im Hinblick auf den Einsatz in Echtzeitsystemen entwickelt wurde. Es verzichtet auf eine gegenseitige Beeinflussung von Cache- Speicher durch Kohärenzoperationen und erreicht dadurch eine hinreichende zeitliche Vorhersagbarkeit der Zugriffe auf gemeinsame Daten. Das Verfahren des ODC2 zielt auf eine möglichst effiziente Nutzung des Cache-Speichers hin. Im Vergleich zu gängigen, softwarebasierten Verfahren ermöglicht es eine signifikant höhere (Worst-Case) Performanz
    corecore