As we enter 2012, we know that many new processor introductions are on the horizon. Intel will be introducing its new platforms for PCs and servers, ARM will be formally announcing a 64-bit architecture, and many of the ARM partners will be introducing new processors based on the various Cortex cores and core combinations. This is all good news for the industry as whole as we strive to increase performance while maintaining or decreasing costs and power consumption.
So far, the number of cores, or CPU cores to be more specific, has been a very important factor in the industry. Increasing core counts has allowed us to increase overall performance while avoiding the thermal limitations of running a single core processor faster. Increasing core counts has also provided a simple benchmark for comparing products.
While the core count may not translate directly into true system performance, most consumers cannot and do not care to understand the technical aspects of a processor. Consumers just want a simple way to understand the basic difference between products, such as which is newer or which one should provide higher performance and at what cost.
To this end, simple numbers are the easiest to understand. Two cores are better than one and 2GHz is better than 1GHz. That may sound overly simplistic, but In-Statís consumer research demonstrates that the processor choice is not a key priority in the choosing of an electronic device by most consumers, but it does assist in comparing two like devices.
Unfortunately, the number of cores really doesnít give a valid indication of performance. In PC processors, Intel took a step back from increasing the number of cores to re-implementing the use of virtual cores, called Hyperthreading, to provide equal or greater performance than twice the number of physical cores.
In mobile devices, TI has used a combination of low- and high-performance cores to create an efficient processor design. This combination has been so effective that TIís processor IP partner, ARM, introduced a core combination strategy called Big/Little that combines low- and high-performance cores that are instruction-set compatible for future devices by its semiconductor partners.
So, now one core may actually equal two or more cores, and not all cores may be the same (heterogeneous) but the total solution may be better than if all the cores were the same (homogenous). Confused? Just wait, it gets better.
I don't really care how many cores are inside my laptop...but I would like to see some metric when buying a new one so I can make an informed decision...ideally it would benchmark some activity I routinely do...Kris
Intel HT *does not* provide a performance increases comparable to adding another core. 10-15% is the maximum one can hope for, depending on the tasks at hand, and for some type of applications it is better to just disable it (typically when one needs some degree of predictability on the threads that are executing).
As if this wasn't complicated enough, there are tricks like Intel's hyperthreading. Essentially, you never have complete duplication--there is always a shared resource that tends to be the bottleneck. For an ideal two core system it'll be the main memory interface where all the cores fight for access---but it could also be the memory controller, or one or more cache levels. In the case of hyperthreading, the only duplicated resource is essentially the processor context (registers, flags, PC, interrupt state, etc).
The reason why HT usually but not always gives a performance boost is that it masks the main memory access latency. The trip through the virtual-physical address translation, caches and memory controller takes dozens of CPU cycles; if there's another thread with data already loaded in the registers, it can be run while the original thread waits for its data being loaded. In an ideal case, both threads ping-pong masking each other's memory latency.
Benchmarking is the best way to measure performance even though most benchmark tests are difficult to understand. Not to mention, benchmark tests are often disconnected to the "real world" experience. To my experience, the best way is to understand what you need a computer for and buy the one that fit your usages for next 3-5 years. Believe me, often time, only 25% of each core of a quad-core processor is utilized.
Join our online Radio Show on Friday 11th July starting at 2:00pm Eastern, when EETimes editor of all things fun and interesting, Max Maxfield, and embedded systems expert, Jack Ganssle, will debate as to just what is, and is not, and embedded system.