# Edge Computing: A Survey On the Hardware Requirements in the Internet of Things World
## 3 Ultra-Low Power MCU Architectures
### IO Architecture  
In IoT devices, peripherals are fundamental in order to connect several sensors or external devices. MCUs are equipped with some serial interfaces such as UART (Universal Asynchronous Receiver/Transmitter) [25], SPI (Serial Peripheral Interface) [26] and I2C (Inter-Integrated Circuit) [27]. However, currently, high bandwidth connections are also required, like USB (Universal Serial Bus). Generally, the CPU has the control of the peripherals, handling associated events and data transfer, but since systems are becoming more and more complex, peripheral subsystems have become smarter, having, sometimes, their own control unit. Peripherals can run even while the CPU is in deep sleep mode and they are able to manage their own power status independently of the CPU, by switching off unused parts. A peripheral can be woken up by events; thus, data transfer can take place without any action from the CPU, thanks to dedicated memory management units. A not negligible amount of energy is required by off-chip communications, especially for high-speed interfaces, like Double Data Rate (DDR) dynamic RAM memories, wired data transfer (like USB and Ethernet) and video interfaces. IoT nodes tend to be tailored to their application; optimization is indeed the key to create systems able to survive for decades with an extremely low power budget.Nevertheless, there are still applications where high performances are required. This translates in the necessity of low power standard interfaces. The key player in the definition of these standards is the MIPI (Mobile Industry Processor Interface) Alliance [28], founded in 2003 by Samsung, Nokia, Intel, Texas Instruments, STMicroelectronics, and ARM. MIPI interfaces are optimized for low power, high bandwidth and low electromagnetic interferences. The MIPI Alliance works on defining standards for the physical layer (PHY), protocols for multimedia (cameras, displays, audio and touch peripherals), chip-to-chip and inter-processor communications, management of low-speed devices, power management, debugging tools and software integration. As an example, the latest MIPI Display Serial Interface (MIPI-DSI-2) is able to handle very high resolution displays, also thanks to video compression, by reducing the power spent for the transmission of data to the screen and so off-loading the reconstruction of the video stream to the display controller. Another example of MIPI low power, high throughput design is the I3C interface, presented as the successor of the I2C. I3C features a high clock speed and can work at double data rate regime; moreover, it features high power efficiency with respect to its predecessor, as shown in Figure 3.  
If no inter-chip communications are required, the only possible power saving technique for peripherals comes from the optimization of the peripheral itself. In particular mixed signal circuits, analog to digital converters (ADC) and digital to analog converters (DAC) are required in almost every embedded application to translate the physical world measure (usually analog) to the digital domain and vice versa. While digital circuits are inherently robust against continuous time noise, analog circuits suffer from voltage and transistor size scaling. These aspects limit the maximum excursion of the input signal and affect the linearity of active analog parts, like operational amplifiers. Several researchers have struggled to improve the performances, even with the IoT constraints, by reaching a sub-femtoJoule-per-conversion-step Figure of Merit (FOM) [29; 30; 31; 32; 33; 34]. Absolute FOM alone is not always the best indicator for low power conversion systems, as not all input signals require the same precision or speed (this aspect is addressed in Section 3.7). Furthermore, it is important to tailor a converter around the specific signal requirements to achieve the best power performances. As stated by [PERSON] [35], only a few physical signal types require more than 16 bits and, usually, 8 bits are sufficient for low resolution applications.