Friday, October 09, 2020

Embedded Systems Part 2

With embedded systems, hardware limitations are common because of the cost of scaling production to millions. Thus the chips used in embedded devices are more limited compared to those in PCs. It sounds counterintuitive, but constraints can encourage creativity.

Often in embedded systems, lower cost processors do specific jobs. Microcontrollers and systems on a chip are two common choices. While not as powerful as laptop CPUs, they can combine chips for CPU, RAM, non-volatile memory, and peripherals into one. They allow fewer chips and thus a smaller and cheaper circuit board. This reduces the labor required to assemble and test the board. In addition to cost, using fewer chips helps with miniaturization and can lower power consumption. More space for the battery on a mobile device implies it could hold more energy and last longer on a single charge.  Other types of chips used in embedded systems can outperform PC CPUs. For example, FPGAs or ASICs used for crypto-mining are limited in what they can do in general but are tuned to outperform desktop CPUs on their specific task.

The software in embedded and desktop systems is also different. Because the chips for embedded devices are limited in resources or flexibility, software engineers need to creatively optimize their hardware use. Crafting code specific to the hardware means  what works on a desktop x86 CPU may not be right for an embedded system.

No comments: