2006-08-10

The Decline and Fall of the General-Purpose CPU

The Decline and Fall of the General-Purpose CPU
Michael Asher - August 9, 2006 7:09 PM

Is the general purpose processor here to stay? Or is it just a blip on the future architectural landscape?

Back in 2001, I raised a few eyebrows with the prediction that, by the year 2020, desktop processors would contain a hundred or more cores, many of them specialized to certain tasks.  Today, with both Intel and AMD striving towards that goal, this prediction seems rather...mundane.  So lets look a little further into the future.

Is there any effective limit on the number of individual processors one can put on a chip?  1,000?  10,000?  Certainly a thousand cores by 2030 seems likely.  Right now, software developers seem to be having a hard time writing code that uses more than one effectively, but this will change.  Those programmers will die out, if need be, to make way for the new breed.

Specialized cores are inevitable for one simple reason. If you design a chip for a specific task, the same number of transistors can perform that task 10-100 times faster.  Sometimes more.   These kind of performance gains can't be ignored.

If a 100-core chip has room for a few speciailized cores, what will our thousand-core monster look like?  Certainly some just for physics, for media operations,  and one or more graphics processors-- why have a separate 3D accelerator card when you have transistors to burn?   

But what else?   Why not include some cores designed specifically to run certain applications?  Include a core for rendering HTML and running Javascript...and you have a hardware-accelerated web browser.  Why not one for word processing?   In the future, will Intel and AMD be bowing to pressure from Microsoft to include "Office 2030" cores in their chips?  Certainly a few designed just for the Windows kernel seem inevitable.  Throw in a few hundred cores, each specialized to a different set of algorithms (sorting, string searching, etc) and one has to ask-- will we need any generalized processing?  Just bounce a thread around from core to core, depending on its current needs.

Does this mean the general-purpose processor will eventually go the way of the dinosaur?  One can argue that, while the cores themselves are specialized, the chip as a whole still isn't...and you'd be at least half-right.  But it seems clear that on an architectural level, we are eventually going to have to rethink the concept of "general purpose" processing.

No comments: