datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Design Article

C6000 vs. PowerPC, part 3: Tools, OSs, and support

Robert Sgandurra, Pentek

1/3/2008 3:00 AM EST

Part 2 examines the suitability of the C6000 and PowerPC for multi-processor systems.

Operating Systems:
Signal processing systems can be developed with or without an operating system. Operating systems (OS) or specifically real time operating systems (RTOS) provide the application developer with a variety of sophisticated features, but some of these features do come with a cost.

Advantages of using an operating system:

  • An OS dynamically schedules tasks, as the application requires. In large systems where tasks can occur at indeterminate times, this can be a complex process. OSs allow the user to prioritize each task based on the requirements of the application. As each task is initiated, the OS can choose to run it, queue it up behind another higher priority task, or suspend a lower priority task to allow it to run.
  • The OS allocates and de-allocates resources like memory, and handles system level services like communication mechanisms and interrupt handling, as each task requires.
  • Most OSs provide a software interface for host-to-target communications during run time.
  • Some OSs provide symmetrical multi-processing to share processing tasks across multiple processors.
  • In general, some of the major advantages of using an OS can be seen in large multiprocessor systems where it can organize and optimize data flow and task management, and in real-time systems where task scheduling can become critical.

Advantages of not using an operating system:

  • OSs typically introduce latency when the software needs to respond to hardware interrupts. This is due to the time needed to switch tasks. While many OSs are actually very good at performing in real-time applications, latency can be a problem in closed loop control systems where the software must very quickly respond to system changes and provide a response. In these systems, a "bare metal" solution using no OS can very often provide superior performance.
  • OSs can cause the run-time code size to increase due to the additional functions linked into the code by the OS.
  • Some OSs require a run-time license to be purchased for each node that runs the OS. This can introduce additional cost to the system.

C6000s and DSPs in general, have been successfully used in applications with and without an OS. DSP programmers have been typically handling data flow and processing without an OS in applications where data rates and the time it takes for processing tasks are deterministic. In an application where data enters and leaves the processor at a consistent rate, and the processing tasks can be performed within a known amount of time, the application can very likely be written with interrupt driven code and may not need an OS to schedule tasks. Conversely, in applications with multiple asynchronous data streams that may have widely varying rates and where processing times can also vary depending on the data set or external conditions, an OS can be extremely useful for scheduling processing tasks to maintain real-time performance. The operating system most commonly used on the C6000 is TI's DSP/BIOS:

  • DSP/BIOS is a real time scalable kernel.
  • It evolved from the SPOX operating system, which was the most popular TMS320C40 OS in use.
  • SPOX was originally sold for more than $10K, but DSP/BIOS is now included free with TI's Code Composer Studio.
  • DSP/BIOS has no run-time license fees.
  • DSP/BIOS in it's present form, "DSP/BIOS II", is primarily a single processor OS. Future versions may include multi-processor support.

The 7410 is most commonly used with an OS. The majority of G4s deployed are in Apple computers that use Apple's MacOS. In embedded application the most common OS is Wind River's VxWorks:

  • VxWorks is a real time scalable kernel.
  • It has been developed for many different processors and has been deployed in huge volumes embedded in common appliances. It has even traveled to Mars in the Pathfinder mission.
  • VxWorks is typically a multi-thousand dollar solution.
  • VxWorks requires run-time licenses for each node it is used on.
  • VxWorks can support large applications with complex interprocessor communication.

While many applications have been successfully written with VxWorks and this is a common development environment, a number of other OSs exist for the PowerPC. Some are based on Linux and these will undoubtedly gain in popularity, along with Linux. Ports for the 7457, specifically the AltiVec support, and real time versions are now being released. These are available for free on the Internet, as well as in commercial packages.





Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)