30.12.2013 Views

Virtuoso User Manual - ClassicCMP

Virtuoso User Manual - ClassicCMP

Virtuoso User Manual - ClassicCMP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Virtuoso</strong> : an overview<br />

Data<br />

ISR1<br />

Event<br />

Micro<br />

Kernel<br />

Task<br />

Task<br />

Task<br />

ISR0<br />

Sign<br />

Process<br />

Process<br />

Nano Kernel<br />

Global Interrupts Enabled<br />

Global Interrupts Disabled<br />

HW Interrupt<br />

FIGURE 2<br />

Multi level support mechanism in <strong>Virtuoso</strong><br />

LEVEL 2 : ISR1 level<br />

The ISR1 level is invoked from ISR0. It is used for handling the interrupt with<br />

global interrupts enabled. An ISR1 routine permits to raise an Event for a<br />

waiting task. An ISR1 routine must itself save and restore the context but<br />

permits interrupts to be nested. An ISR1 routine can be replaced by a<br />

nanokernel process that is easier to program as the nanokernel takes care of<br />

the context switch. When the processor supports multi-level interrupts, the<br />

ISR1 level can be viewed as having itself multiple levels of priority. The use<br />

of priority however should be limited only to determine what interrupts are<br />

masked out when a given interrupt occurs.<br />

LEVEL 3 : The nanokernel level (Processes)<br />

This is a major breakthrough for DSP processors. The nanokernel level is<br />

composed of tasks with a reduced context, called processes. These deliver a<br />

P1 - 14 <strong>Virtuoso</strong> <strong>User</strong> <strong>Manual</strong> Copyright 1996 Eonic Systems

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!