A dual core processor is a CPU with two separate cores on the same die, each with its own cache. It’s the equivalent of getting two microprocessors in one.
In a SINGLE CORE or traditional processor the CPU is fed strings of instructions 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 the bus, RAM or storage device will allow, which is far slower than the speed of the CPU. The situation is compounded when 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 MULTI CORE processor each core handles incoming data strings simultaneously to improve efficiency. Just as two heads are better than one, so are two hands. Now when one is executing the other can be accessing the system bus or executing its own code.
To utilize a Multicore 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 only recognize one core. Adobe Photoshop is an example of SMT-aware software. SMT is also used with multi-processor systems common to servers.
A Single Core Processor is different from a Multi Core Processor system. In the latter there are two or more separate CPUs with their own resources. In the former, resources are shared and the cores reside on the same chip. A Multi Core Processor System is faster than a system with a Single Core system, all else being equal.
In a Single Core processor there is only a single core but on the other hand in Multi Core processor there are two or more cores