-
[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 ]
|
|