Abstract
Java chips have been widely accepted in real-time embedded systems. Those embedded applications usually impose resource and real-time constraints on the design of the CPU. In this paper, we seek a hardware-assisted scheme to support runtime memory management and thus to provide a real-time capability for embedded Java devices. We propose a dynamic garbage collection mechanism to guarantee a predictable memory allocation time. The key points are that a co-processor identifies the data transition events in Java and that memory management is accomplished by a circular heap. We show the design and architecture of the dynamic memory management in detail. Our simulation results illustrate that the response time of memory allocation is very predictable compared to other approaches.