Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > EDA/IP

Software compatibility: Key for information appliances

Posted: 01 Apr 2002 ?? ?Print Version ?Bookmark and Share

Keywords:software model? isa? os? codec? mips?

Information appliances require high levels of software reuse and software integration to provide compelling content with quick time to market. The information appliance is composed of many software components from many vendors. Users expect organizational applications, web browsers with the latest plug-ins, streaming media formats, client software, communication stacks, etc.

The standard models, such as MIPS, x86, or ARM offer many advantages over non-standard architectures with limited software support. When choosing software architectures, a company must consider development tools available, time to market, new standards and applications, cost, performance and the developer pool.

Software compatibility

Software compatibility starts with the instruction set architecture (ISA). New architectures with novel instruction sets or obscure parallel programming models may provide power and performance benefits for pathological applications.

A software model also includes the methods for enumerating and configuring peripherals in the system, the driver or register interfaces to the peripherals, the interrupt handling architecture, system timers and power management. Some peripheral devices have very complex interfaces and protocol stacks. Real-time software developers make architectural decisions based on interrupt latency and style, timer models and CPU performance. If a new architecture changes the developer's assumption, ported code may not work properly on the new system.

At a higher level, the software model includes the applications, plug-ins, OS, the libraries, services available and the driver model. Platforms that have common libraries and driver interfaces promote higher levels of software compatibility with the possible reuse of binaries.

Incompatibilities in the software model create barriers and challenges to software developers. Any change from the previous software model creates an implementation risk. These risks add up and can affect time to market or completely undermine the success of a product.

Appliance software concerns

Information appliances are made up of a mix of OSs, new streaming codecs, web browsers and communication stacks. Users expect information appliances to have the latest connectivity and multimedia features.

No one company owns all the software needed for an embedded information appliance. Information appliance software comes from an assortment of large companies and startups specializing in very specific pieces of the software puzzle. These companies have limited resources. They will typically target the established software models first, then target the new cool software model if it has a compelling reason do so. Most new codecs are available on x86 PCs first, then they are ported to other platforms. Companies may need to entice developers to new software architectures with NRE and increased royalties.

It is much easier to work with a software developer that takes advantage of new enhancements to existing software architectures than to port to new architectures. There have been many incremental improvements to existing ISAs. Instructions for floating-point extensions, such as 3Dnow and SSE, SIMD and DSP, have been added to many common ISAs. These extensions have been successful in accelerating core software loops for large performance gains with minimal effort and still maintain software compatibility.

Some architectures are moving a step further with dedicated programmable co-processors to offload special-purpose tasks from the general-purpose processors. Media processors, such as Trimedia, have been successful offloading multimedia streams from the general-purpose processor at the source. It also provides full co-processor codecs and established development tools which are a way to attract developers to a platform.

'Uncharted territories'

However, the biggest risk in variant software models is the risk of the unknown. Even the most well thought out plans for porting code, leveraging the latest codecs and verification have the risk that some new software requirement will sneak in at the last minute. If the new software is key to your information appliance, the product is dead. Thus, a key to success in creating an information appliance is managing software relationships to reduce risk. A standard model provides a common foundation for many groups and companies to develop IP, promote reuse and benefit from economies of scale. A software model that has a large developer pool can react to changes in the market fastest. If something in your software integration plans is missed, a large developer pool increases the odds of finding it somewhere else.

Information appliances present new integration challenges for hardware and software developers. Using existing software models, such as MIPS, x86 and ARM, reduces risk and provides a stable foundation for many companies to innovate. Software models create a large and significant barrier to entry. Deviant architectures that provide incremental improvements in power, performance or cost will not displace existing software models. Evolutionary improvements and extensions to existing software models are lower risk and easier to implement. The more a software model looks like an established standard, the more compatible the system.

? Brett Tischler

Senior Silicon Architect

National Semiconductor

Article Comments - Software compatibility: Key for info...
*? 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