HOME   PREV   |ENDOFPACK|

Embedded System

A processor that is permanently connected to a single ROM which contains all of the software that the processor will ever execute is called an embedded processor. Here we consider when to use an embedded processor, and then, when using one, the designer has to chose whether to design a new one or use an existing one.

The main difference between a hardware solution and a software solution is the degree of parallelism. Processors typically execute one instruction at a time, re-using the same hardware components again and again. Hardware solutions tend to have dedicated circuits for each function. If most of the hardware is likely to be idle for most of the time, a processor is preferred, but if a processor cannot achieve the throughput required, increased parallelism using hardware is preferred.

Complex functions normally require a processor, but CAD tools are evolving, allowing complex functions to be expressed algorithmically and then automatically converted to a logic gate implementation.

High-speed processing normally requires dedicated hardware. For instance, consider the error correction performed by a CD player to overcome dirt and scratches. When CD players first came out, this error correction was done with dedicated hardware, but today, microprocessors have increased in speed, and so the function can be done using the processor that is already there to provide other complex functions (e.g. track skip). However, on the latest, x52 speed CD/DVD drives the error correction must be performed that much faster, and so dedicated hardware is re-introduced.

Processors can be placed on an ASIC.

Processors give flexibility: if the design is likely to be changed in minor ways to form new models, or to implement field upgrades, then using a processor that may be given a new software release is a good technique. Standard processor chips can be very cheap for a given performance. This is because a very great deal of effort is put into their design and they are sold in large quantities, thereby reducing price. Part of the cost of any product is in testing it. A standard processor not only comes with its own test qualification programme, it is able to execute software to perform tests on the rest of the system. The decision to design and use a custom processor for an application should not be taken lightly. It can be useful, however, when the application is fairly simple or highly specialised. Examples are found in signal processing, where a particular algorithm needs to be executed at high speed; for instance, to track a missile or in the stready-cam function of a camcorder.