Wednesday 28 December 2011

What is Single Purpose Processor?


SINGLE PURPOSE PROCESSOR:-
     A single purpose processor is a digital; circuit designed to execute exactly one program. An embedded system designer may obtain several benefits by choosing to use a custom single purpose processor to implement a computation task.
    A basic processor consists of a controller and a data path.
The data path stores and manipulates a system’s data. The data path contains registers units, functional units and connection like wires and multiplexers.
The data path can be configured to read data from particular registers feed that data through functional units configured to carry out particular operations like add or shift and store the operation results back in to the particular registers. Controller caries out such configuration of the data path. It sets the data path control inputs, like register load and multiplexer select signals, of the registers units, functional units and connection units to obtain the desired configuration at a particular time.
      It monitors external control inputs as well as data path control outputs, known as status signals, coming from functional units, and it sets external control outputs as well.
   The digital systems design techniques such as combinational and sequential logic design including those of synchronous and asynchronous design can be applied to build a CONTROLLER and a DATA PATH.

BENEFITS OF CUSTOM SINGLE PURPOSE PROCESSOR:
1.)                Performance may be faster, due to fewer clock cycles resulting from a customized data path and due to shorter clock cycles resulting from the simpler controller logic.
2.)                Size may be smaller due to simplest data path and no program memory.
3.)                Power consumption may be less due to more efficient computation.

However, cost could be higher because of high NRE cost. Also time to market may be longer.

BASIC PROCESSOR

Single Purpose Processor



APPLICATION SPECIFIC INSTRUCTION SET PROCESSOR(ASIP’S):
            The inflexibility of single purpose processor can make them prohibited for certain applications. A solution is to use an instruction set processor that is specific to that application or application domain. An ASIP’s is a programmable processor optimized for a particular class of applications having common characteristics such as embedded control, digital signal processing or telecommunications. The designer of such a processor can optimize the data path for the application class, perhaps adding special functional units for common operations and eliminating other infrequently used units.
Microcontrollers and Digital Signal Processor are two well known types of ASIP’s that have been used for several decades.
Microcontrollers:
A microcontroller is a microprocessor that has been optimized for embedded control application. Such applications typically monitor and set numerous single bit control signals but do not perform large amount of data computations. Thus microcontroller tends to have smaller data paths that excel at bit level operations and at reading and writing external bits.
Furthermore they tend to incorporate more on the microprocessor chip several peripheral components common in control applications, like serial communication peripherals, timers, and counters pulse width modulators and analog to digital converters (Intel 80512, Motorola68HC811).
Digital Signal Processors:
A DSP is a microprocessor designed to perform common operations on digital signals, which are the digital encodings of analog signals like video and audio. These operations carry out common signal processing tasks like signal filtering, transformation or a combination. Such operations are usually math intensive, including operations like multiply and add or shift and add. To support such operations, a DSP may have special purpose data path components such as a multiply accumulate unit, which can perform a computation like
T =T + M [I] * K using only one instruction. Because DSP programs often manipulates large array of data, a DSP may also include special hardware to fetch sequential data memory locations in parallel with other operations, to further speed execution (TIC5416, LucentDSP32C).

3 comments: