Design of Multi-Tasking Coprocessor Control for Eclipse

Martijn J. Rutten, Jos T.J. van Eijndhoven, and Evert-Jan D. Pol, "Design of Multi-Tasking Coprocessor Control for Eclipse", 10th Int. Symp. on Hardware/Software Codesign (CODES), pp. 139-144, May 2002, Estes Park, CO, USA.

Abstract: 

Eclipse defines a heterogeneous multiprocessor architecture template for data-dependent stream processing. Intended as a scalable and flexible subsystem of forthcoming media-processing systems-on-a-chip, Eclipse combines application configuration flexibility with the efficiency of function-specific hardware, or coprocessors. To facilitate reuse, Eclipse separates coprocessor functionality from generic support that addresses multi-tasking, inter-task synchronization, and data transport. Five interface primitives accomplish this separation. The interface facilitates the design of coprocessors that require complex control to handle data-dependent I/O, saving/restoring task state upon task switches, and pipelined processing. This paper presents how this interface enables the design of such reusable yet cost-effective coprocessors.