In continuation with our Part 2 article on embedded processor classification — where we discussed various processor architectures and types — this embedded system consulting guide covers the key considerations for selecting the right processor for an embedded product. Embien's Product Engineering Services team regularly applies these embedded system consulting principles to help clients make the right silicon choices early in the design cycle.
While in an embedded system a micro-controller is a more accurate term — as most are highly integrated System-on-Chips — we use the term "Processor" to refer to the processing core throughout this guide.
Microprocessor Design: Key Selection Considerations
Effective microprocessor design for embedded products requires evaluating multiple interdependent factors. From our embedded system consulting experience, these considerations consistently drive processor choice:
- Performance
- Power
- Peripheral Set
- Operating Voltage
- Specialized Processing Units
- Price
Each dimension of microprocessor design influences the others — a higher-performance core typically draws more power and costs more, making holistic evaluation essential.
Performance Considerations
The first and foremost consideration in selecting the processor is its performance. In embedded system consulting engagements, performance is characterized not just by clock speed but by architecture efficiency — fabrication density, cache size, pipelining, and super-scalar execution all determine throughput. Branch prediction and speculative execution further improve execution rates.
Rather than relying on raw clock frequency, industry-standard benchmarks provide more meaningful comparisons. MIPS/MHz was an earlier notation, followed by Dhrystones; today EEMBC's CoreMark is the preferred metric for comparing processor performance across microprocessor design families.
Processor architectures with extra instruction support can boost performance for specific workloads. For example, SIMD (Single Instruction/Multiple Data) and Jazelle — Java acceleration — improve multimedia and JVM execution speeds.
Embedded System Performance Optimization Techniques
Key embedded system performance optimization techniques include: cache hierarchy design, pipelining depth, super-scalar issue width, branch prediction, and speculative execution. Applying the right embedded system performance optimization techniques during processor selection prevents costly silicon re-spins after product validation.
Multi Core Embedded Processor Optimization
Multi core embedded processor optimization is the latest direction in performance scaling. Multi-core processors offer multiple simultaneous execution contexts, making them well-suited for multitasking environments. For multi core embedded processor optimization to be effective, the operating system and application must be architected for parallel execution — cache coherency, inter-core communication, and power gating all require careful design.
Power Considerations
Increasing logic density and clock speed adversely impacts power. Higher clock frequencies increase charge-discharge cycles; greater logic density raises power density and complicates heat dissipation. With emphasis on greener technologies and battery-operated designs, optimal power usage is a key constraint.
Techniques like frequency scaling — reducing clock frequency based on load — and voltage scaling — varying voltage under light load — help achieve lower power usage. Asymmetric multiprocessors can power off the high-performance core under idle conditions. Advanced SoC power gating shuts down clocks and power to unused modules.
Embedded Computing Platforms and Peripheral Selection
Every system design requires peripherals beyond the processor. Across embedded computing platforms, integrating peripherals within the SoC offers significant benefits over external ICs: optimized power architecture, DMA-based data communication, and reduced BoM. Common peripherals to evaluate include UART, SPI, I2C, USB, CAN, ADC, and PWM blocks.
Mapping your system's peripheral requirements to the right embedded computing platforms early avoids costly PCB re-spins. Embien's Electronic Circuit Design Services team helps clients evaluate embedded computing platforms and peripherals holistically — ensuring the SoC choice aligns with BoM, layout, and power architecture constraints.
Operating Voltages
Each processor has its own operating voltage requirements, detailed in its datasheet or user manual. Higher-end processors typically require multiple supply rails — 1.8 V for core/analog domains and 3.3 V for IO lines — necessitating a dedicated PMIC. For lower-end microcontrollers, the input supply voltage directly drives the device selection: a 5 V supply favors 5 V controllers, while Li-ion battery systems favor 3.3 V devices.
Specialized Processing
Apart from the core, co-processors and specialized processing units help achieve required performance targets. Co-processors execute instructions in parallel with the primary processor, reducing its load.
Floating Point Co-processor:
RISC cores primarily support integer instruction sets. A floating-point co-processor is valuable for applications involving complex mathematical operations — multimedia, imaging, codecs, and signal processing.
Graphic Processing Unit (GPU):
A GPU — also called a Visual Processing Unit — is responsible for drawing images to the frame buffer for display. Human visual perception requires at least 16 frames per second for smooth viewing; HD displays with textures, lighting, and shaders demand significant data bandwidth. ARM MALI, PowerVR, and OpenGL-capable GPUs are increasingly available in higher-end processors, making them a mandatory requirement for mobile phones and gaming consoles.
Digital Signal Processors
A DSP is designed specifically for signal processing — its architecture supports parallel data manipulation and real-time signal conversion across domains. DSPs are available either integrated in the SoC or as separate external packages, and are particularly valuable in multimedia and communications applications. A DSP can be used alongside a general-purpose processor or serve as the primary processing element.
Price
All the considerations above must be balanced against price. It is advisable to include some processing headroom to accommodate future feature enhancements without requiring a major hardware revision. While software and firmware engineers will naturally favour more capable processors, price is ultimately the determining factor in embedded product design.
From an embedded system consulting perspective, price and microprocessor design maturity go hand-in-hand — a well-specified processor from the outset avoids costly design re-spins downstream. In the upcoming post, we discuss memory technologies and the factors to consider when selecting them.
