The selection of a processor is not an easy task for an embedded system. It is not possible to simply select a processor from your favorite list. Several factors are to be considered while selecting a processor for an embedded system. Because embedded systems are designed to operate in different climatic conditions, critical environments, etc.
Depending on the type of applications, the necessary performance, power constraints, special processing, modern technology, etc, the processor is selected. There are different types of embedded processors available in the market.
The selection of embedded processor should enhance the user experience by reducing the chance of poor speed, system overheating, insufficient memory, etc. The embedded system in the customer’s hand should not make them, curse the designer. Instead, the system should make them proud of the technology.
Hence utmost care should be taken in the selection of embedded processors. In the below section, we have discussed some of the factors to be considered while selecting a processor for an embedded system.
Speed and Performance
The most important factor to consider when choosing a processor for an embedded system is its performance. A processor’s speed is primarily determined by its architecture and silicon design.
The number of instructions executed per second and the number of operations per clock cycle must be evaluated for assessing the performance. At the same time, the efficiency of the computation units is also important while talking about the performance.
The advancement of fabrication techniques enabled the packing of more transistors in the same area, reduces the propagation delay. Furthermore, the presence of a cache reduces the time required to fetch instructions/data.
Processor architectures that support additional instruction can aid in improving performance for specific applications. Pipelining and super-scalar architectures boost processor performance even further.
Other techniques for increasing execution rate include branch prediction, speculative execution, and so on. Multi-core processors are the new trend in performance enhancement. So the size of the cache, processor architecture, instruction set, etc has to be taken into account when comparing the performance.
Optimal Power usage
Increasing the logic density and clock speed have an adverse impact on the power requirement of the processor. Faster charging and discharging cycles in the capacitor, leakage currents may lead to more power consumption.
More logic leads to higher power density thereby making the heat dissipation difficult. With more emphasis on greener technologies and since many systems are becoming battery operated, it is important to design the system for optimal power usage.
Preemptions and context switching between different process will also cause more power consumption. Techniques like frequency scaling and voltage scaling can help in achieving lower power usage. Silicon-on-Chip (SoC) comes with advanced power gating techniques that can shut down clocks and power to unused modules.
Apart from the processor, the embedded system has many other peripherals to perform input and output operations. It is important to have the right peripherals to assist the processor in optimized performance.
In recent days, almost all the processors used are SoCs. So it is better if the necessary peripherals are available in the chip itself and are called on-chip peripherals. It offers various benefits such as optimal power consumption and effective data communication compared to external peripherals
The Peripheral set located outside the SoC but on the same PCB is called off-chip peripherals or external peripherals. Timers, A/D and D/A converters, PWM controllers, serial communication controllers are some of the external peripherals used for processors.
Along with the core processor, the presence of various co-processors and specialized processing units can add more value to the processing performance. The instructions fetched by the core processor are executed by the co-processors in parallel, thereby reducing the processing load.
Some of the popular co-processors include Floating Point Co-processor, Graphics Processing Unit(GPU), Digital Signal Processors(DSP), etc. Floating Point co-processor can be very helpful in applications involving complex mathematical operations including multimedia, imaging, codecs, etc.
GPU is responsible for rendering the images on a digital display. It is a parallel processing technology, which processes images faster than the normal unit. It is sometimes called a Visual processing unit.
GPUs are used to accelerate the 3D graphics in gaming applications, video and content creations, Artificial Intelligence and machine learning applications, etc. For example, Intel Iris Xe MAX is a GPU along with 11th Gen Intel Core processors, it provides advanced graphics performance and immersive gameplay.
DSP processors are designed specifically for signal processing applications. Its architecture supports the processing of multiple signals at a faster rate. It can manipulate real-time signals and is used in different applications like telecommunications, image processing, signal processing, navigation systems, etc.
For all the required functionalities to be built up in a system, certainly the price will be the determining factor during the selection of processor for an embedded system.
Consider you are planning to buy a laptop. Among the different specifications, definitely you will look into the processing speed of the laptop. If you need better performance, then you should be ready to invest more money for the system.
Additional peripheral sets along with the core processors will make the cost to rise. Hence, SoC (System-on-Chip) devices are a very effective means to cost-effectively implement a design.