A dual core processor for a computer is a central processing unit (CPU) that has two separate cores on the same die, each with its own cache. It essentially is two microprocessors in one. This type of CPU is widely available from many manufacturers. Other types of multi-core processors also have been developed, including quad-core processors with four cores each, hexa-core processors with six, octa-core processors with eight and many-core processors with an even larger number of cores.
In a single-core or traditional processor, the CPU is fed strings of instructions that it must order, execute, then selectively store in its cache for quick retrieval. When data outside the cache is required, it is retrieved through the system bus from random access memory (RAM) or from storage devices. Accessing these slows down performance to the maximum speed that the bus, RAM or storage device will allow, which is far slower than the speed of the CPU.
This situation is compounded when the computer user is multi-tasking. In this case, the processor must switch back and forth between two or more sets of data streams and programs. CPU resources are depleted, and performance suffers.
In a dual core processor, each core handles incoming data strings simultaneously to improve efficiency. Just as two heads are better than one, so are two hands. When one core is executing, the other can be accessing the system bus or executing its own code.
To utilize a dual core processor, the operating system must be able to recognize multi-threading, and the software must have simultaneous multi-threading technology (SMT) written into its code. SMT enables parallel multi-threading, wherein the cores are served multi-threaded instructions in parallel. Without SMT, the software will recognize only one core. SMT also is used with multi-processor systems that are common to servers.
A dual core processor is different from a multi-processor system. In the latter, there are two separate CPUs with their own resources. In the former, resources are shared, and the cores reside on the same chip. A multi-processor system is faster than a system with a dual core processor, and a dual core system is faster than a single-core system, when everything else is equal.
An attractive value of dual core processors is that they do not require new motherboards but can be used in existing boards that feature the correct sockets. For the average user, the difference in performance will be most noticeable during multi-tasking, until more software is SMT aware. Servers that are running multiple dual core processors will see an appreciable increase in performance.