Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Topic 2:Role of Processor selection in embedded systems

Following factors need to be considered during processor selection for an embedded system

 Performance Considerations
 Power considerations
 Peripheral Set
 Operating Voltage
 Specialized Processing Units
 Price

Performance Considerations

 The performance speed of a processor is dependent primarily on its architecture and its
silicon design.  
 Evolution of fabrication techniques helped packing more transistors in same area there by
reducing the propagation delay.
 Also presence of cache reduces instruction/data fetch timing.
 Pipelining and super-scalar architectures further improves the performance of the
processor.

Power considerations

 Increasing the logic density and clock speed has adverse impact on power
requirement of the processor.
 A higher clock implies faster charge and discharge cycles leading to more power
consumption.
 More logic leads to higher power density there by making the heat dissipation
difficult.
 Further with more emphasis on greener technologies and many systems becoming
battery operated, it is important the design is for optimal power usage.

Peripheral set

 Every system design needs, apart from the processor, many other peripherals for
input and output operations. 
 Since in an embedded system, almost all the processors used are SoCs, it is better
if the necessary peripherals are available in the chip itself.
 This offers various benefits compared to peripherals in external IC’s such as
optimal power architecture, effective data communication using DMA, lower
BoM etc. So it is important to have peripheral set in consideration when selecting
the processor.
Operating Voltages:

 Each and every processor will have its own operating voltage condition.
 The operating voltage maximum and minimum ratings will be provided in the respective
data sheet or user manual.
 it is cheaper to work with a 5V micro-controller when the input supply is 5V and a 3.3
micro-controllers when operated with Li-on batteries.

Specialized Processing:

 Apart from the core, presence of various co-processors and specialized processing units
can help achieving necessary processing performance.  
 Co-processors execute the instructions fetched by the primary processor thereby reducing
the load on the primary.
Some of the popular co-processors include
1.Floating Point Co-processor:
 RISC cores supports primarily integer only instruction set.
 Hence presence of a FP co-processor can be very helpful in application involving
complex mathematical operations including multimedia, imaging, codecs, signal
processing etc.
2.Graphic Processing Unit:
 GPU(Graphic Processing Unit) also called as Visual processing unit is responsible for
drawing images on the frame buffer memory to be displayed.
 with increasing graphic requirements such as textures, lighting shaders etc, GPU’s have
become a mandatory requirements for mobile phones, gaming consoles etc.
 Various GPU’s like ARM’s MALI, PowerVX, OpenGL etc are increasing available in
higher end processors. Choosing the right co-processor can enable smooth design of the
embedded application.
Digital signal processors:

 DSP is a processor designed specifically for signal processing applications.


 Digital signal processors either available as apart of SOC or separate in an external
package.
 It is possible to use a DSP along with a processor or use the DSP as the main processor
itself.

Price

It is better to have some extra buffer in processing capacities to enable enhancements in


functionality without going for a major change in the design. While engineers (especially
software/firmware engineers) will want to have all the functionalities, price will be the
determining factor when designing the system and choosing the right processor.

Last topic: Use of software tools for development of an embedded systems:

Assemblers

An assembler is a program that takes basic computer instructions (called as assembly language)
and converts them into a pattern of bits that the computer's processor can use to perform its basic
operations. An assembler creates object code by translating assembly instruction mnemonics into
opcodes, resolving symbolic names to memory locations. Assembly language uses a mnemonic
to represent each low-level machine operation (opcode).

Compilers:

The name "compiler" is primarily used for programs that translate the source code from a high
level programming language to a low-level language (e.g., assembly language or machine code).

The most common reason for conversion is to create an executable program

Cross-Compiler

A cross compiler is a compiler capable of creating executable code for a platform other than the
one on which the compiler is running. For example, a compiler that runs on a Windows 7 PC but
generates code that runs on Android smartphone is a cross compiler.

You might also like