Hardware multi-threading: a primer
At Imagination, making the best use of the hardware resources available is a guiding principle of our design thinking. Our graphics processors are famous for their tile-based deferred rendering architecture, which ensures that they don’t waste time rendering pixels that don’t appear on screen. In a similar vein, ensuring the optimal use of hardware was one of the reasons why MIPS introduced multi-threading to its line-up of CPUs back in 2005. Since that time multi-threading has remained a standout feature for MIPS within the embedded CPU market.
While it’s been around for many years, many people, both within and without the CPU industry, don’t have a clear understanding of the benefits that multi-threading CPUs provide.
To address this, David Lau, vice president of software, architecture and debug for MIPS at Imagination Technologies, has written a white-paper that provides a high-level technical overview of multi-threading. In the paper he explains what multi-threading is and why it confers an advantage over single-threaded processors.
Essentially, multi-threading enables a CPU to do more work every clock cycle, which often delivers and overall increase in performance. As this increases depends on the particular use case and the suitability of the application for multi-threading this figure will vary, but in studies performance increases range from 15% up to 226%.
As shown in the image below, a multi-threaded processor is able to occupy itself on tasks, while a single-threaded is stalled, waiting for data.
However, not all multi-threading is equal. As explained in the paper, there are different ways of implementing it; namely coarse-grained multi-threading, fine-grained multi-threading and simultaneous multi-threading (SMT).
The Creator Ci40 IoT developer kit is based on a dual-core 550MHz InterAptiv MIPS processor that supports fine-grained hardware multi-threading. However, the latest and most advanced MIPS CPUs such as the Warrior-class I6400 and I6500 support SMT.
The white paper is available now on our Developer Community section of our web-site and if you are interested in the latest news and updates from Imagination about MIPS then make sure to follow us on Twitter @ImaginationTech, @MIPSguru, @MIPSdev and on LinkedIn, Facebook and Google+.