Modern processors with an extensive cache structure are considered not to be useful in real-time systems since task switches disrupt cache working sets and hence make execution times unpredictable. This paper describes a technique to constrain and an experimental environment to measure worst-case penalties imposed on realtime tasks due to external cache interference. With the described technique, caches can be partitioned and partitions can be assigned to tasks for their exclusive use. Using the techniques, a simple filter algorithm commonly used in real-time systems is analysed and worst-case penalties are determined for three different, widely used cache architectures. Some insights regarding the impact of cache architectures on worst-cas...