CPU History
CPUs have seen a great deal of interesting development over the life of the Personal Computer. The early days were pretty easy for end users to understand. You purchased based on brand. Each brand attacked it's own market. You bought the computer built for the target market you were a member of. If you weren't sure which computer you should buy, you didn't actually have a need for one.Soon enough, Microsoft software permeated the market and slimmed down the CPU vendors to just a few. Motorola, Intel, and Sun ruled the CPU market space and each of them still targeted their silicon for a specific market. Intel made the CPUs for every IBM Compatible computer and therefore every business centric user. Motorola powered the Macintosh computer and maintained control of the graphics market as well as the educational space. Sun was the big player in the enterprise market space though they actually had a great many competitors.
Sun chips were RISC CPUs. They performed better than Intel CPUs because they were less complex underneath the hood. The lack of complexity gave them the benefit of having lower power requirements and lower heat dissipation requirements giving them a higher ceiling for speed. It was the general notion at the time that RISC CPUs were the future and Intel's CISC based architecture was doomed to become an anecdotal note in computing history.
What nobody realized was that the personal computing market was going to be so large. They also failed to understand Intel's potential, their flair for innovation, and their market strength.
Faster is Better
With Intel CPUs driving the consumer market space, the marker that you followed for performance was the clock speed. The clock speed directly correlates to how quickly a particular instruction gets pushed through the central processing unit. From an engineering standpoint it was much easier to come up with a way for chips to handle higher clock speeds than it was to design a new CPU. It also extended the life of manufacturing equipment because you don't need to accomplish a major re-tooling the manufacturing facility in order to produce a same-model CPU with minor architectural variations in order to make it handle higher clock speeds.The Reason for Change
A changing of the guard in quality markers has been brought about not because CPU speeds have gotten close to limitations, but because architectural differences have become more important in the overall scheme of things.While Intel has pushed general purpose CPUs for the better part of the last 30 years, certain niches have carved themselves out with different requirements. Early adopters and gamers want the fastest and most powerful machines. Frequent travelers want lighter PC's with lower power consumption so their batteries last longer. Home users are budget minded and want mid-range performance.
Intel took a step back and reconsidered their product offerings, their manufacturing capabilities, and the consumer market place. Their priorities changed from pushing out the fastest chips, to maximizing their product life cycles and their profits.
Multi-core
In the early days, a new CPU would come out and everyone would run to buy a new PC because the performance difference was so dramatic. Lately the performance differences, while important and incredible from an engineering standpoint, have had very little impact on the overall consumer experience. Let's face it - you only need so much speed to run Microsoft Word.One of the major software development considerations in the last decade has become multi-threading. Basically, the concept is that a single process can manage multiple independent processing boxes. Since the work flow isn't linear, the performance is faster because CPU idle time is minimized.
Multi-threading drives the multi-core CPU space. Rather than have a single CPU core juggle multiple processes, they can be juggled across multiple cores. This eliminates the management overhead within a CPU and increases the overall processing speed as there are multiple cores working independently to get the job done.
The Limit
The limitation of CPU cores is not necessarily rooted in hardware engineering. From a software perspective, you can only segment the requirements of your work flow so much before you have interdependency to deal with. Software that could take advantage of 32 CPU cores is few and far between - especially in the consumer market space.Even in those situations where the software could take advantage, the performance difference between a 16 core system and a 32 core system isn't necessarily a linear difference. Not unless it takes a consistent advantage of all that CPU power.
Where we are at right now in the software world, I can see 8 core systems becoming consumer level products within a couple of years. Beyond that, there simply isn't a need - or the capability to take advantage of - more than 8 cores.
Where do we go from there?
Beyond the multi-core scenario, there are still a great many ways to improve performance of CPUs. You can increase the cache size, migrate external functions within the CPU, or migrate CPU functionality out to external circuits, among other things.What I see as the long term end game is actually something that everybody knew in the beginning - Reduced Instructin Set Computing. The Intel instruction set - while robust - gets used as a whole very slimly. CPUs don't need to be as complex as they are. A little work on the part of the OS vendors could mean reduced chip sizes, lower power, and better heat management - leaving room for higher clock speeds once again, and more optimal pathways for information within the CPU. Within a decade, as developers start to understand the power of having 64 bit registers, the CPU industry will start to look at 128 and 256 bit architectures.
One thing for sure - for at least the next 20 years we will see regular improvement in the CPU marketplace from Intel. New CPUs means existing users will end up upgrading. If they don't come up with new products, they lose out on a great deal of money.
Discuss The Future of CPUs
