i.MX6Q vs i.MX 7ULP vs i.MX8M: the need for a comparison
The i.MX7ULP and i.MX8M are two new chips in NXP’s line up of applications processors.
How do these compare with the older i.MX6 parts?
This report goes into some analysis of real world processing performance, floating point performance and importantly OpenGL performance in a simple texture test.
Application Processor Families
First, let’s take a look at the three application processors.
The i.MX6 series has proved popular in electronics product development for its performance-scalable multicore platform and array of features.
Its popularity has been enhanced by there being pin-compatible versions from single through to quad core. This has allowed engineers to design a single PCB that can provide different levels of computing performance.
The quad version is one of the highest performance members of the family (second only to the QuadPlus).
NXP’s latest achievement in ultra-low-power processing for use cases demanding long battery life, the i.MX 7ULP family of processors is aimed at the growing portable devices market.
Features include 2D and 3D Graphics Processing Units (GPU), and Quad SPI (w/ On The Fly Decryption).
The i.MX8M is the first part on general availability in NXP’s new i.MX8 family of SoCs.
NXP says the i.MX8 family provides industry-leading audio, voice and video processing for applications from consumer home audio to industrial building automation and mobile computers.
Boards under test:
NXP MCIMX6Q-SDB – i.MX6 Quad@ 1GHz
NXP MCiMX7ULP-EVK – i.MX7ULP Single@500Mhz
NXP MCIMX8M-EVK – i.MX8M Quad@1.5Ghz
The test is to render as many balls a possible before the framerate reduces below the LCD re-fresh (i.e. 50 or 60 FPS). This test removes the background shown in the previous test to just count the moving objects. The results:
The representation of these maximums is shown below:
Figure 1: i.MX6Q screen maxed out with textures at 1080 x 60 FPS
Figure 2: i.MX8M screen maxed out with textures at 1080 x 60 FPS
Figure 3: i.MX7ULP screen maxed out with textures at 854 x 480 x 50 FPS
In the tests above the iMX6 and iMX8 are using identical graphics of a 180 x 180 pixel texture, while the iMX7ULP is using a 80 x 80 pixel texture – but that’s still pretty impressive considering the amount of moving objects it can manage.
For a demonstration of the i.MX7 ULP output (with background re-added), see: https://youtu.be/mpo8IBroNkI
Two single core tests were performed on all boards; these were to exercise integer and floating point calculations.
The integer test was to compress a ~100MB file in the RAM disk to a tar.gz in RAM disk.
The floating point test used stress-ng using the following command:
/stress-ng –cpu 1 –cpu-method cfloat –cpu-ops 10000
Both the i.MX8M and i.MX7ULP are welcome new members of the NXP CPU range.
The 8M delivers performance increases at a CPU and GPU level that will enable some very powerful embedded devices.
The i.MX7ULP fills the gap for super low power, low cost devices that are capable of driving an LCD with high quality graphics output which is lacking from the current i.MX6 range.
If you have a project that for product cost or power reasons is planning on using a microcontroller, then think again about the i.MX7ULP and catapult your product above your competitors.
If your product is using the i.MX6Q and running out of bandwidth, the natural progression is to migrate to the i.MX8M.
As an NXP Approved Engineering Consultant, ByteSnap can help with the design or migration to either processor family. Get in touch on 0121 222 5433 or at firstname.lastname@example.org to find out more…