In this article I’d like to explore some architectural considerations for the CPU and wireless connectivity performance requirements for IoT devices. This post is relevant for system designers looking to scope out the initial specifications of a next-generation IoT device while taking into account features and scalability.
CPU processing performance requirements
Architectural considerations for the CPU performance for an IoT device will depend on the scope of what the CPU needs to do, as well as hardware security provisions contained within the hardware of the CPU.
For example, the following performance requirements would be required for an embedded controller IoT sensor hub system:
|Function||CPU performance required (Million Instructions per Second)||Application|
|Embedded OS overhead||10 MIPS||Real time kernel/scheduler|
|Security||20 MIPS||Running AES-256 encryption/decryption stream|
CPU support of dedicated AES encryption engine
|Sensor interpretation software||50 MIPS||Context aware sensor platforms|
|Wireless communications management||20 – 40 MIPS||AP mode for Wi-Fi requires 40 MIPS|
|Internet messaging||20 MIPS|
|Total||120 MIPS to 140 MIPS|
In the table above, a MIPS M5150 CPU which includes hardware virtualization is a perfect fit, providing the performance needed to run sensor interpretation code, a Wi-Fi stack, and internet communications at a clock speed of about 100MHz. Most IoT devices will be designed with additional CPU capability to support extra features that can added via software upgrades. As a result, the performance of the CPU will need to be scalable, and may also include special pipeline stages to include special purpose processing that is deemed necessary to be done locally.
The CPU chosen for a specific IoT application must not only support the security features as explained earlier, but must also be scalable in performance by implementation to support higher clock frequencies. For certain applications, it is also beneficial for the CPU to support hardware multithreading (e.g. MIPS I-class processors).
Typical wireless IoT devices will be enabled by specific standards. The standards deployed will depend on the security requirements needed, the type of network topology to be supported (e.g. IP, mesh), and the the data rates to be supported. The diagram below provides a classification of IoT network requirements based on sustained data rates. Since Wi-Fi is pervasively deployed today, most IoT applications will support Wi-Fi. Also, for LED lighting and applications that may span large geographic areas, ZigBee networks are used and may be present in IoT systems alongside Wi-Fi.
Aside from HD video streaming applications such as those used in home entertainment or security video monitoring, 802.11n and 802.11n 1×1 provide sufficient bandwidth; the 802.11 networks will use dual band 2.4GHz and 5.5GHz frequencies. For lower power and lower cost implementations, 802.11n can be supported by a single band 2.4 GHz radio.
The lower frequency bands are more desirable since the RF transmission will provide greater range for a given power level output. By 2016, 802.11ah will become available for low data rate/low power IoT systems with Wi-Fi; this standard will be based on the 930MHz frequency band.
Wireless communications will become integrated into the main SoC not only to reduce cost, but also to reduce power consumption and improve system performance. The inclusion of the wireless connectivity and its associated software stacks, integrated capabilities to do some local analytics, and security will increase the demand for computational power within the SoC device.