There is a new trend in the CPU manufacturing industry and it is based on the idea that while clock speeds can only be increased to a certain point as the silicon die hits its limits, a number of other technologies can be implemented in order to speed things up and open the way for better and more powerful central processing units.
From the numerous technologies that are used to increase the performance of CPU without modifying its running frequency, the most important is the introduction of the multicore architecture that lets manufacturers put more than one core on a single silicon die. This new approach to the performance problem came with some additional benefits like better performance, better power management and better cooling as the multicore processors running at a lower speed dissipate less heat. Apart from the good part, there is a bad side as well, as most applications, from games to operating systems should be rewritten almost from scratch in order to make the most from the new architecture. According to the news site wired.com which cites Jerry Bautista, director of technology management for Intel's Microprocessor Technology Lab, in the days of the sheer CPU frequency increase, programs did not need much optimization as their working speed was linked to the speed of the CPU but now as every new central processing unit sports at least two processing cores, the situation is no longer true.
"Even if (programmers) did nothing and the clock speed doubled, their software would run significantly faster," Bautista says of the days when the megahertz wars raged. "When we go down the path of parallelism, that free ride is over." In order for the applications to make the most of the new multi core architecture, they must be designed from the beginning with multithreading in mind that allows an application to separate itself in many smaller tasks that can be run at the same time and which can be resolved by a single core. Multicored processors have been around for many years in supercomputers but for the most of the industry it is a rather new transition, and while hardware manufacturing companies are already thinking about eight, 32 and even 64 cores, the software that will run on them is seriously lagging. One notable exception is the gaming industry that goes for every drop of performance that can be squeezed from the multicored design.
In order to make the most of the new architecture, AMD and Intel released software development tools like the Hardware Extensions for Software Parallelism and the Threading Building Blocks C++ library that are open source initiatives aimed at helping software developers create applications that are multithread enabled. "We want to enable the tuning processes to be done in an automated way at runtime," says Earl Stahl, AMD's vice president of software engineering, adding that such additions will be particularly beneficial to multithreaded runtime environments such as Sun Microsystems' Java Virtual Machine and Microsoft's .Net Framework.