Saturday, October 11, 2008
What is Multicore Technology?
Multithreading, Hyper-Threading, or Multi-Core?
figure 1: HT Technology enables two threads to execute simultaneously on a single processor core
By the beginning of this decade, processor design had gained additional execution resources (such as logic dedicated to floating-point and integer math) to support executing multiple instructions in parallel. More important, however, two programs could now run simultaneously on a processor without having to be swapped in and out (See Figure 1) To induce the operating system to recognize one processor as two possible execution pipelines, the new chips were made to appear as two logical processors to the operating system.
[snippet: Intel saw an opportunity in these extra facilities. The company reasoned it could make better use of these resources by employing them to execute two separate threads simultaneously on the same processor core. (Intel named this simultaneous processing Hyper-Threading Technology and released it on the Intel Xeon processors in 2003.) According to Intel benchmarks, applications that were written using multiple threads could see improvements of up to 30% by running on processors with HT Technology.]
The performance boost of HT Technology was limited by the availability of shared resources to the two executing threads. As a result, HT Technology cannot approach the processing throughput of two distinct processors because of the contention for these shared resources. To achieve greater performance gains on a single chip, a processor would require two separate cores, such that each thread would have its own complete set of execution resources. Enter multi-core.
Multi-Core Processors
In this design, each core has its own execution pipeline. And each core has the resources required to run without blocking resources needed by the other software threads. While the example in Figure 2 shows a two-core design, there is no inherent limitation in the number of cores that can be placed on a single chip. Mainframe processors today use more than two cores, so there is precedent for this kind of development.The multi-core design enables two or more cores to run at somewhat slower speeds and at much lower temperatures. The combined throughput of these cores delivers processing power greater than the maximum available today on single-core processors and at a much lower level of power consumption.