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 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.
Now when one is executing the other can be accessing the system bus or executing
its own code. Adding to this favorable scenario, both AMD and Intel's dual-core
flagships are 64-bit.To utilize a dual core processor, the operating system must
be able to recognize multi-threading and the software must have simultaneous multi-threadi0ng
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. An
attractive value of dual core processors is that they do not require a new motherboard,
but can be used in existing boards that feature the correct socket. For the average
user the difference in performance will be most noticeable in multi-tasking until
more software is SMT aware. Servers running multiple dual core processors will
see an appreciable increase in performance.