|
Definition
Seeing the technical difficulties
in cranking higher clock speed out of the present single core processors, dual
core architecture has started to establish itself as the answer to the development
of future processors. With the release of AMD dual core opteron and Intel Pentium
Extreme edition 840, the month of April 2005 officially marks the beginning of
dual core endeavors for both companies. The
transition from a single core to dual core architecture was triggered by a couple
of factors. According to Moore's Law, the number of transistors (complexity) on
a microprocessor doubles approximately every 18 months. The latest 2 MB Prescott
core possesses more than 160 million transistors; breaking the 200 million mark
is just a matter of time. Transistor count is one of the reasons that drive the
industry toward the dual core architecture. Instead of using the available astronomically
high transistor counts to design a new, more complex single core processor that
would offer higher performance than the present offerings, chip makers have decided
to put these transistors to use in producing two identical yet independent cores
and combining them in to a single package. To
them, this is actually a far better use of the available transistors, and in return
should give the consumers more value for their money. Besides, with the single
core's thermal envelope being pushed to its limit and severe current leakage issues
that have hit the silicon manufacturing industry ever since the transition to
90 nm chip fabrication, it's extremely difficult for chip makers (particulary
Intel) to squeeze more clock speed out of the present single core design. Pushing
for higher clock speeds is not a feasible option at present because of transistor
current leakage. And adding more features into the core will increase the complexity
of the design and make it harder to manage. These are the factors that have made
the dual core option the more viable alternative in making full use of the amount
of transistors available. What
is a dual core processor? 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.
<<back |