Since many years, CPUs are subject to a performance race, so manufacturers dedicate to a fight without mercy to get CPUs more and more performant. They often use different approaches, even sometimes divergent approaches. The only constant data is : for a given architecture, the main way to improve performances is to increase frequency. Unfortunately, this method has several disadvantages :
First, it's more and more difficult to apply since the increase of frequency is not proportional to the evolution of manufacturing processes. Secondly, this evolution becomes difficult and very expensive. And thirdly, the current consumption (so the thermal dissipation too) increases much more quickly than the frequency for a given fineness of engraving.
Faced with these problems, multi-core is definitely the best solution.
A multi-core CPU, or CMP (chip-level multiprocessor) is a single physical processor which contains two or more independent cores into the die. A dual-core processor contains two cores, a quad-core processor contains four cores, and so on. In a multi-core device, cores may share cache memory or each core may have its own memory.
A multi-core microprocessor implements multiprocessing in a single physical processor, thus its goal is to enable a system to run more tasks simultaneously and thereby achieve greater overall system performance.
- Since all the cores are on the same die, the cache coherency circuitry can operate at a much higher clock rate than is possible if the signals have to travel off-chip. This means that signals between different CPUs travel shorter distance so they are less degraded. Consequently, more data can be sent in a given period of time since individual signals can be shorter and do not need to be repeated as often.
- A multi-core processor needs less power. For example, a dual-core processor uses less power than two coupled single-core processors because of the increased power required to drive signals external to the chip and because the smaller silicon process geometry allows the cores to operate at lower voltages.
- Since the two cores are on the same chip, less space requirement is needed compared to two coupled single-core.
- This technology is very reliable, it has been tried and tested.
Montecito is the code-name of a dual-core of Intel, it's an implementation of the Intel Itanium architecture on a dual-core processor. It was launched on july 18, 2006.
- Software need to use multi-threads to maximize the utilization of the computing resources provided by multi-core processors. Indeed the ability of multi-core processors to increase application performances depends on the use of multiple threads within applications. For example, a lot of current PC games run faster on a 3GHz single-core processor than on a 2GHz dual-core processor of the same core architecture since programmers didn't include multi-threads in these games.
- Multi-core CPUs are more difficult to manage thermally than single CPUs since single CPU designs may make better use of the silicon surface area than multiprocessing cores.
- Finally, the last constraint which limits system performance is the fact that the cores share the same system bus and memory bandwidth.
There are two threads per core, but they can't run simultaneously. The core just switches thread in case of a high latency.
Each core gets separate 16 KB instruction L1 and 16 KB data L1 cache,
separate 1 MB Instruction L2 and 256 KB data L2 cache, and 12 MB L3 cache.
The die has 1.72 billion transistors, its size is 27.72 mm x 21.5 mm which is 596 mm˛.