Texas Instruments
Product InformationIn the NewsToolsLiteratureSupport

DSP/BIOS

   Benefits and Features
Real-Time Software Analysis
DSP/BIOS Real-Time Foundation
Real-Time Program Analysis
Real-Time Capture and Statistics
Real-Time Probing and
    Data Streaming
BIOScope
Low-latency Pre-Emptive
    Multitasking
DSP/BIOS API's

Digital Signal Processing Solutions - DSP/BIOS

  

Low-latency Pre-Emptive Multitasking

The DSP/BIOS real-time foundation uses a static, event-driven multitasking model that is an extension of the interrupt service routine (ISR) paradigm. Flexible, yet efficient, this model is based on three kinds of execution objects: hardware interrupts, foreground signals, and background tasks. ISRs, which are configured by the Hardware Interrupt Manager, typically run for just a few microseconds, performing front-line processing such as acknowledging interrupts and storing a small amount of context. ISRs are automatically prioritized by the hardware and implicitly block on events that drive a DSP interrupt pin. Once activated, ISRs run until completion and return. The DSP/BIOS functions do not inhibit or encumber critical ISRs in any way.

The second level of processing is foreground signals, which are controlled by Software Signal Manager. Foreground signals typically run for about 100 microseconds, bridging the gap between high-priority interrupt routines and low-priority background functions. Featuring a context switching latency of less than 6 µsec on a 40-MIPS TMS320, foreground signals run until completion unless pre-empted by an ISR or higher priority foreground signal. A signal will implicitly block on input conditions, such as an ISR or I/O routine writing to its mailbox. Interrupts are always enabled while foreground signals are executing.

Background threads, which handle more lengthy processing functions, are controlled by the Idle Loop Manager. Like foreground signals and interrupts, background signals run until completion. They are run by the idle loop function, one at a time, when no other threads are running. Communication between the target and BIOScope is performed within the background thread. This ensures that BIOScope will not encumber program execution. Interrupts are always enabled while background tasks are executing.

The Periodic Function Manager schedules functions (C or assembly language) that execute periodically with respect to an underlying time base. Activated by regular calls to the function PRD_tick, this module serves as the backbone for all cyclic processing within an embedded application.

© Copyright 1998 Texas Instruments Incorporated. All rights reserved.
Trademarks, Important Notice!