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.