Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > FPGAs/PLDs

Processor programmability in popular languages

Posted: 03 Mar 2003 ?? ?Print Version ?Bookmark and Share

Keywords:processor programmability? programming language? vliw programming? very-long instruction word? c language?

Semiconductors are increasingly incorporating programmable functions to cope with the wide range of applications to support multimedia entertainment.

To effectively manage the multimedia content a powerful CPU with easy programmable capability is important to coordinate on-chip activities. To complete any solution, a robust software development environment including access to a wide ranging library is an invaluable aid to OEM and ODM customers in Asia to enable them to more quickly develop differentiated products in the competitive consumer electronics landscape.

A number of dedicated multimedia processors are available and programmable but may deploy programming languages which are not widely used or supported by a library of applications. What is more valuable to Asian OEMs and ODMs is the deployment of a programming language which uses very long instruction word (VLIW) programming. This article will explain some of the advantages of having programmability in the C and C++ languages. Powerful optimizing compilers ensure that programmers never need to resort to non-portable assembler programming.

The overriding benefit of programmability, implementing multimedia application development entirely in the C and C++ languages, has improved time-to-market and lower product development and maintenance costs while ensuring code portability to next generation architecture by enabling development of multimedia applications.

Special operations

In addition to traditional microprocessor operations and a full complement of IEEE-compliant, floating point operations, the instruction set of the programmable multimedia processor ideally includes special multimedia and DSP operations to accelerate the performance of single instruction, multiple data (SIMD) computations common in multimedia applications. These special operations combine multiple simple operations into a single VLIW instruction that can implement up to 12 traditional microprocessor operations in a single clock cycle. When incorporated into application source code, special operations dramatically improve performance and increase the efficiency.

Special multimedia operations are invoked with familiar function-call syntax consistent with the C/C++ programming languages automatically scheduled to take full advantage of a VLIW implementation. As with all other operations generated by the software development environment's VLIW compilation system, the scheduler takes care of register allocation, operation packing and flow analysis.

Parallel VLIW implementation is optimized at compile time by a compilation system. No specialized scheduling hardware is required to parallelize code during execution. Hardware saved by eliminating complex scheduling logic reduces cost and allows the integration of multimedia-specific features that enhance the power of the CPU. Registers need not separate into banks enabling any operation to use any register for any operand.

In advanced media processors, an I2C interface provides an external I2C for use in hardware or software operation modes. In hardware mode, it can connect to and control a variety of different I2C multimedia devices enabling configuration and status inspection of off-chip peripheral video devices such as digital encoders and decoders, digital cameras, parallel I/O expanders, and more. I2C software mode enables full software control of the I2C interface. The interface can also be used to read the boot program from an off-chip EEPROM.

Many applications libraries are available for Asian OEMs and ODMs to accelerate product development of common standards-compliant software algorithms used in processing multimedia datastreams. These solutions with C-callable routines include components for functions such as MPEG-2 or MPEG-4 (SP, MVP), MPEG-4 ASP decode, DV Decode, H320, H.324, Dolby Pro-Logic or Dolby digital (AC-3) decode, MP3 encode/decode, H.263 encode/decode, Div-X-5 decode, AAC encode/decode, TCP/IP, Ethernet, and Universal PnP. Complete systems can be built quickly by integrating various C-compliant components.

For multimedia applications requiring system resources and task management, embedded RTOS kernels such as pSOS from WindRiver Inc. are based on open systems standards and re-optimised for deterministic response essential for multimedia applications.

- Deborah Jong and Tim Chen

Philips Semiconductors

Article Comments - Processor programmability in popular...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top