Christoph Berg - Publications
 cb | debian | bridge | irc | df7cb | projects  
[RGBW07]
Jan Reineke, Daniel Grund, Christoph Berg, and Reinhard Wilhelm. Timing predictability of cache replacement policies. Real-Time Systems, 37(2):99-122, 2007. [ pdf | BibTeX | SpringerLink | Link ]
Abstract Hard real-time systems must obey strict timing constraints. Therefore, one needs to derive guarantees on the worst-case execution times of a system's tasks. In this context, predictable behavior of system components is crucial for the derivation of tight and thus useful bounds. This paper presents results about the predictabil- ity of common cache replacement policies. To this end, we introduce three metrics, evict, fill, and mls that capture aspects of cache-state predictability. A thorough analy- sis of the LRU, FIFO, MRU, and PLRU policies yields the respective values under these metrics. To the best of our knowledge, this work presents the first quantitative, analytical results for the predictability of replacement policies. Our results support empirical evidence in static cache analysis.

[RGBW06]
Jan Reineke, Daniel Grund, Christoph Berg, and Reinhard Wilhelm. Predictability of cache replacement policies. Reports of SFB/TR 14 AVACS 9, SFB/TR 14 AVACS, September 2006. ISSN: 1860-9821. [ pdf | BibTeX | Link ]
Hard real-time systems must obey strict timing constraints. Therefore, one needs to derive guarantees on the worst-case execution times of the systems' tasks. In this context, predictable behavior of system components is crucial for the derivation of tight and thus useful bounds. This paper presents results about the predictability of common cache replacement policies. To this end, we introduce two metrics that capture aspects of cache-state predictability. A thorough analysis of the LRU, FIFO, MRU, and PLRU policies yields the respective values under these metrics. To the best of our knowledge, this work presents the first quantitative, analytical results for the predictability of replacement policies. They support empirical evidence in static cache analysis.

[Ber06]
Christoph Berg. PLRU cache domino effects. In Frank Mueller, editor, 6th Intl. Workshop on Worst-Case Execution Time (WCET) Analysis, Dresden, number 06902 in Dagstuhl Seminar Proceedings. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), July 2006. [ pdf | BibTeX | URL | Link ]
Domino effects have been shown to hinder a tight prediction of worst case execution times (WCET) on real-time hardware. First investigated by Lundqvist and Stenström, domino effects caused by pipeline stalls were shown to exist in the PowerPC by Schneider. This paper extends the list of causes of domino effects by showing that the pseudo LRU (PLRU) cache replacement policy can cause unbounded effects on the WCET. PLRU is used in the PowerPC PPC755, which is widely used in embedded systems, and some x86 models.

Keywords: Keywords: Embedded systems, predictability, cache memory, PLRU, domino effects, timing anomalies
[JB05]
Christian Jacobi and Christoph Berg. Formal verification of the VAMP floating point unit. In Formal Methods in System Design, pages 227-266. Springer, May 2005. [ pdf | BibTeX | SpringerLink | Link ]
We report on the formal verification of the floating point unit used in the VAMP processor. The dual-precision FPU is IEEE compliant and supports denormals and exceptions in hardware. The supported operations are addition, subtraction, multiplication, division, comparison, and conversions.

We have formalized the IEEE standard 754. The formalization is supplemented by a rich theory of rounding, which includes notations and theorems facilitating the verification of the actual hardware. The theory of rounding enables the separation of the hardware into smaller modules which can be verified individually. Each module is verified on the gate level against a formal specification. The combination of these formal specifications, together with the theorems from the theory of rounding, yield the overall correctness of the FPU, i.e., theorems stating that the gate-level hardware complies with the high-level formalization of the IEEE standard. The verification is done completely in the theorem prover PVS.

We further report on the implementation and test of the verified FPU on a Xilinx FPGA.

[BEW04]
Christoph Berg, Jakob Engblom, and Reinhard Wilhelm. Requirements for and design of a processor with predictable timing. In Design of Systems with Predictable Behaviour, Dagstuhl Seminar Proceedings. Internationales Begegnungs- und Forschungszentrum (IBFI), Schloss Dagstuhl, Germany, 2004. [ pdf | BibTeX | URL | Link ]
This paper introduces a set of design principles that aim to make processor architectures amenable to static timing analysis. Based on these principles, we give a design of a hard real-time processor with predictable timing, which is simultaneously capable of reaching respectable performance levels. The design principles we identify are recoverability from information loss in the analysis, minimal variation of the instruction timing, non-interference between processor components, deterministic processor behavior, and comprehensive documentation. The principles are based on our experience and that of other researchers in building timing analysis tools for existing processors.

[BBJ+02]
Christoph Berg, Sven Beyer, Christian Jacobi, Daniel Kröning, and Dirk Leinenbach. Formal verification of the VAMP microprocessor (project status). In Witold Charatonik and Harald Ganzinger, editors, Symposium on the Effectiveness of Logic in Computer Science (ELICS02), number MPI-I-2002-2-007, pages 31-36. Max-Planck-Institut für Informatik, March 2002. [ ps.gz | Slides | Poster | BibTeX | Link ]
[BJ01]
Christoph Berg and Christian Jacobi. Formal verification of the VAMP floating point unit. In CHARME 2001, volume 2144 of LNCS, pages 325-339. Springer, September 2001. [ pdf | Slides | BibTeX | SpringerLink | Link ]
We report on the formal verification of the floating point unit used in the VAMP processor. The FPU is fully IEEE compliant, and supports denormals and exceptions in hardware. The supported operations are addition, subtraction, multiplication, division, comparison, and conversions. The hardware is verified on the gate level against a formal description of the IEEE standard by means of the theorem prover PVS.

[Ber01]
Christoph Berg. Formal verification of an IEEE floating point adder. Master's thesis, Saarland University, Computer Science Department, May 2001. [ ps.gz | pdf | PVS files | BibTeX | Link ]
Our group at Saarland University is formally verifying the correctness of a complete microprocessor called VAMP. The PVS theorem prover is used to specify the circuit definitions and to prove their correctness. For the VAMP project, a library of basic circuits was developed. The formal verification of this library is described in the first part of this thesis. Part of the VAMP is an IEEE compliant floating point unit. The second part of this thesis describes the formal verification of the gate level correctness of the VAMP floating point adder.

[BJK01]
Christoph Berg, Christian Jacobi, and Daniel Kroening. Formal verification of a basic circuits library. In Applied Informatics 2001, pages 252-255. ACTA Press, February 2001. [ ps | ps.gz | pdf | Slides | BibTeX | Link ]
We describe the results and status of a project aiming to provide a provably correct library of basic circuits. We use the theorem proving system PVS in order to prove circuits such as incrementers, adders, arithmetic units, multipliers, leading zero counters, shifters, and decoders. All specifications and proofs are available on the web.

[Ber99]
Christoph Berg. Flachbandkabel-Tester für das SB-PRAM-Projekt. Saarland University, Computer Science Department, October 1999. (In German). [ ps.gz | BibTeX | Link ]
 
 Christoph Berg | Page last changed Sun Nov 18 18:56:05 2007 CET