[QUOTE=Shagnasty]
Your question implies real-world performance and that is a different question from clock speed. We have already moved into multiple cores for a single processor with dual-cores being common these days. Researchers are reportedly already experimenting with chips with 80 cores or so. That can represent huge amounts of parallel processing and will increase processing speed greatly over the next several years independently of clock speed advances.
There are a number of strategies like this that could be used to increase clock speed at the same rate we have seen in the past so we still don’t have a clue where the end is.
[/QUOTE]
In fact these strategies work best when you turn back the clock speed. Architectural features, like bigger caches, more and deeper pipelines, and branch prediction units, have improved performance at least as much as clock speed.
We’ve got a few generations before we have to worry about physical constraints. We’re doing 65 nanometer now, and feature sizes quite a bit smaller than that are in the lab. New generations aren’t coming out quite as fast as old ones, but that is purely an economic, not technological issue. Mask costs are gigantic and accelerating. To make a new ASIC, say, at those feature sizes, you need to have enough functionality to cram into it, and enough volume to make up for the mask costs. That’s getting harder and harder.
I think the main reason we’re seeing dual core architectures now is design complexity. What do you do with all those transistors? You really can’t afford to design in new features to make use of them, and no one knows what new features would be worth it. We used to increase cache size, an easy way of using transistors, but that runs into diminishing returns. Stamping out multiple cores is a cheap way of using up the transistors, and allows you to simplify the cores and provide better performance without increasing the clock speed much.
I have a hard time seeing how an 80 core processor would do much for a home PC. Graphics processors are inherently parallel now. For transaction processing, maybe.