Benchmarking NXP i.MX 6UltraLite and Marvell PXA166, PXA168 ARM CPUs

Technology has become more than just a battle of sheer numbers. It has somewhat morphed into a “less is more” philosophy to see what’s possible with less. We pitted these three ARM CPUs together to find out if there are any positive impacts to using a slower clock speed CPU:

What we found is very promising in that in most tests, the 696 MHz i.MX 6UltraLite provided a huge advantage over the 800 MHz PXA166 and even the 1066 MHz PXA168. Let’s take a quick look at our findings.

Here, we are using the Sysbench multi-threaded benchmark tool to calculate prime numbers per second. You’ll notice an obvious difference in performance, where the i.MX 6UltraLite comes out ahead at about 24 primes per second. Compare with about 13 primes per second with the PXA168 and 10 primes per second with the PXA166.

Furthermore, we use Sysbench to test RAM transfer speeds (using 1K block sizes). You’ll see from the graph above that the obvious winner here was the i.MX 6UltraLite with about 135 MB/s. The PXA168 was around 55 MB/s, and the PXA166 was about 41 MB/s.

Now, we test read speeds from eMMC flash drive using DD, a utility to convert and copy files. We found that the i.MX 6UltraLite read at about 34 MB/s, while the PXA166 read at about 12 MB/s and the PXA168 at about 11.5 MB/s. Note that the PXA166 outperformed the PXA168 because the PXA166 runs the RAM slightly faster than the PXA168.

Finally, let’s throw some OpenSSL crypto benchmarks at the CPUs. Here, we’ll see that PXA168 performed slightly better than the i.MX 6UltraLite in a couple of cases and visa versa for the other half of the tests. While there is a difference, it’s not significant. Still, for a CPU with a slower clock speed to keep up with or beat out the others is impressive.


These days the hertz count of a processor is not a very good measurement of performance. The important differences are more complex than just the clock rate, but essentially newer architectures are able to do more per clock.

The PXA166/8 is a customized ARM core originally from Intel/XScale called PJ1/Mohawk which follows the ARMv5TE architecture. This is compatible with the standard ARM9 core, but includes further customizations from Marvell.

The i.MX 6UltraLite is a 696MHz Cortex-A7 which follows the more recent ARMv7-A architecture. This architecture is a partially dual-issue architecture while the PXA166/8 is a single issue architecture. This means the PXA166/8 will execute one instruction per clock, but the i.MX 6UltraLite will execute multiple instructions in parallel when possible.

The Cortex-A7 also includes NEON instructions which support SIMD (single instruction, multiple data) operations. For code performing math on large blocks of data this allows one instruction to operate on blocks of data rather than using many instructions to iterate over that same block of data. Users typically have to go out of their way to use NEON code in their application, but some performance sensitive libraries such as fftw will use NEON without the users needing to change their code.

The i.MX 6UltraLite includes a floating point unit while the PXA166/8 does not. The i.MX 6UltraLite will offload floating point operations to its VFPv4-D32 core. The PXA166/8 uses armel/eabi code that will generate software floating code. Any floating point operations will see massive gains going to an i.MX 6UltraLite.

There will be many more nuanced changes between the CPU architectures, but ultimately performance has improved significantly in most cases going to this newer architecture. Suggesting that less really can be more.


Practical Guide to Getting Started with the TS-4100


This practical guide gives us an opportunity to take a relaxed approach to getting started with the TS-4100 computer. We’re going to take a look at how to make our first connections, and setup the network. These are usually the first things we do before starting development. In the grand scheme of things, this is just a friendlier extrapolation from the official TS-4100 manual, so be sure to keep it handy for more advanced topics and specific details. The only assumption being made is that you’ve purchased the TS-4100 with a development kit, including the pre-programmed microSD card and TS-8551 reference board. Right then, let’s get started!

Continue reading “Practical Guide to Getting Started with the TS-4100”

Now Sampling the TS-4100

TS-4100 Computer on Module powered by NXP i.MX6 UL Processor.

Feb 15, 2018 – Technologic Systems announced their latest Computer-on-Module, the TS-4100, has entered in to their engineering sampling program (see below for details). The TS-4100 is the first Technologic Systems Computer-on-Module to feature the NXP i.MX 6 UltraLite processor, featuring a single ARM Cortex A7 core, operating at speeds up to 695MHz. The NXP i.MX 6UL processors offer scalable performance and multimedia support, along with low power consumption. Technologic Systems allows you to take full advantage of the integrated power management module to optimize power sequencing throughout the board design to achieve 300 mW typical power usage, making this CoM perfect for embedded applications with strict power requirements. The TS-4100 is perfect for industrial embedded applications for medical, automotive, industrial automation, smart energy and many more applications.

Read the full press release on…