Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Clock Speed doesn't always mean performance.

Tons of factors.

The whole " higher gzh " thing is mostly a restualt of the massive clock speed PR battle Apple and Intel had many moons ago.
 
How long can TSMC and Global keep pouring money in at this rate?

For a long time. Even selling $10-40 CPUs against $100-400 CPUs as long as the number of units sold is 10x as many, then it is in the same ballpark revenue amount to fund R&D out of. They can't "pass" Intel. But they can doggedly keep right behind them just slightly behind.

Wikipeida has a ranking of the top Semiconductor vendors over time ( http://en.wikipedia.org/wiki/Semiconductor_sales_leaders_by_year ) Intel is large but the top 25 minus Intel is still substantively larger than Intel by itself. As long as a decent amount of that revenue makes it back to paying for plants and into R&D labs competitive with Intel's (e.g., IBM) it isn't a lost cause.

The folks with the bigger problem is IBM. They are selling $1,000-4000 CPUs (and even $100-200K CPUs to some rapidly shrinking pool of mainframe users ) But they can't keep up even spotting Intel a 10x multiple. They do some fab work for others but the breadth and scope options that TSMC and GF can offer is a different league. As far as "directly" getting money from sales they dropped out of the top 25 after 2009
 
Take a look at the single threaded Cinebench benchmark here.
Perhaps you didn't read the "real world" part of my post?

First, if a bonehead OS scheduler pissing the performance into the crapper the problem is the bonehead scheduler. If have 5 relatively slow tasks there is no good reason to push them onto more cores.
Thats an issue you need to take up with Apple.

----------

Most SW is still single thread leaning.

Completely incorrect.
 
For a long time. Even selling $10-40 CPUs against $100-400 CPUs as long as the number of units sold is 10x as many, then it is in the same ballpark revenue amount to fund R&D out of. They can't "pass" Intel. But they can doggedly keep right behind them just slightly behind.

Wikipeida has a ranking of the top Semiconductor vendors over time ( http://en.wikipedia.org/wiki/Semiconductor_sales_leaders_by_year ) Intel is large but the top 25 minus Intel is still substantively larger than Intel by itself. As long as a decent amount of that revenue makes it back to paying for plants and into R&D labs competitive with Intel's (e.g., IBM) it isn't a lost cause.

The folks with the bigger problem is IBM. They are selling $1,000-4000 CPUs (and even $100-200K CPUs to some rapidly shrinking pool of mainframe users ) But they can't keep up even spotting Intel a 10x multiple. They do some fab work for others but the breadth and scope options that TSMC and GF can offer is a different league. As far as "directly" getting money from sales they dropped out of the top 25 after 2009

But if you look at the list of Foundry companies... TSMC brings in $15B a year, but their new Fab15 foundry is costing them north of $9B. It's not hard to see that these guys cannot continue to sustain the exponential investment increases when they're revenues are only growing 10% per year. Eventually, they will not longer be able to push innovation and Intel will be the only one forging ahead. Even today, Intel is under much less competitive pressure than it was a few years ago. If this trend continues, Intel's tick-tock cycles frequency will shift and the pace of CPU innovation at the top end will diminish. There's still lots of innovation that can happen with ARM processors on the low end of the market, but there is going to be less and less momentum behind pushing the TeraFlops on the high end.

I'm certainly no expert on this industry, so there could be a lot I'm overlooking, but I think it's safe to say that any plateau in CPU innovation at the top end of the market is going to be economic and not due to the laws of physics.
 
Thanks for the replies, everyone. The 'brick wall' so to speak, that Intel hit, sums it up for me. I wasn't aware that they ran into that issue.

The point which others haven't explained (and I'll try to) is why today's processors are faster, at a lower clock speed (discounting the multi processor thing).

Intel had got itself into two problems with the Pentium 4. Firstly, they'd hit the wall in terms of clock speed (around 4GHz). Secondly, in order to reach this high speed, they'd had to increase CPU pipeline lengths.

A CPU can't simply process a whole complex instruction every clock cycle... these instructions must be broken down into smaller simpler steps (get instruction, decode, get first operand, get second operand etc.)

In order to speed things up, a pipelined processor operates on multiple instructions at once. So while the newest instruction is being fetched, the previous instruction is being decoded, the prior one is having it's first operand fetched etc. The last generation of the P4 had a pipeline that was 31 stages in length - that is, 31 instructions were 'in flight' at once.

The problem with a very long pipeline is what happens if the program takes a change of direction. If you're in a loop, or the program hits an 'if' comparison etc. In the worst case, you only discover that you've branched off when a comparison instruction is most of the way to being processed. At this point, all the instructions in the pipeline behind it have to be thrown away - because you're branching off elsewhere and those instructions never should have been executed. This is called a pipeline 'bubble', and it meant that as the P4 range got higher clock speeds and longer pipelines, they became steadily less efficient. Sure, there are ways to lessen the impact of 'bubbles' - but the P4 approach had run out of steam.

Luckily for Intel, they had a team of engineers in Israel working on a new processor design. This took the old PIII design (which had a short pipeline) and added new improvements to it. In a brave move, Intel decided to completely abandon the P4 architecture and take a step back... and the Core family was launched.

This new family scaled back the processor speed, halved the pipeline length, but managed to do more for each clock cycle. Instructions were bunched up, SSE instructions executed quicker, more instructions set off at once and yes, the new architecture also better allowed the integration of multiple cores on a single IC. Other important changes came with '64 bit' processors - which also introduces new registers (short term storage areas) and instructions, improving the ancient x86 architecture (which frankly sucked).

Do you think there will be a point in time when CPU manufacturers won't be able to 'outpower' the previous generation of machines due to power consumption issues?

I think we're still some way off that.

I think our current problem is more in software than in hardware. While the use of multi core CPUs has become more prevalent, I think app writers have failed to make their software take advantage of this.

I own a 4 year old 8 core Mac Pro. While many of the newer consumer Mac line is faster for single threaded tasks, this computer still holds its own with applications that can use all of those cores. I've actually seen a speed-up in apps over time on my machine, as more use is made of multi core (for instance Adobe lightroom parallelises more things in the last two releases). Most of the time though, even when running flat out - I'm only seeing perhaps 1/4 of the total available CPU power being used. Only very specialist apps (like video encoding) make use of that power.

So there's a lot of unused power out there, and if CPU makers continue to add cores rather than GHz as a means of increasing speed - then OS and app writers will need to work a lot harder to make use of that. If they don't - then we're going nowhere.
 
Last edited:
But if you look at the list of Foundry companies... TSMC brings in $15B a year, but their new Fab15 foundry is costing them north of $9B.

They are going to use the plant for longer than a year or two. :) If in only took a year of revenue to have inflow match outflow there would be multiple players in the market.

But it does underscore the point that somehow the R&D has to be substantially funded by the higher level, "value added" revenue stream.

However, the risk is relatively low for TSMC. Customers like AMD and Nvidia pay per wafer processed. If the wafer yields two working dies that's the customer's problem. TSMC still gets paid for processing the wafer. Obviously they can't produce those kinds of yields over the long term but it does help them have a steady revenue stream to make their "payment plan" with the banks.

Intel is more in the position to do more of that development in a "self financing" manner. But when Wall Street and the major global financial banks are not busy letting their employees blow up the world economy .... financing a several $10B plants isn't a big deal.


It's not hard to see that these guys cannot continue to sustain the exponential investment increases when they're revenues are only growing 10% per year.

The product mix won't stay the same if they survive. They are likely going to make larger products centered around ARM ( more complicated SoC) and GPUs. It is a matter of the Apple's and Qualcomms of the world letting a bit more revenue trickle down the the foundry level. If the companies on top are too greedy they will kill themselves over the long term.

Bigger customer products (or at least non shrinking between generations) take more wafers to produce an equal number of cut dies. More wafers means more money.

Not sure but I think their particular Fab costs are skewed because they are putting all their eggs in one basket. ( all the volume in one place). They also could get wiped out by a big natural disaster.


Even today, Intel is under much less competitive pressure than it was a few years ago. If this trend continues, Intel's tick-tock cycles frequency will shift and the pace of CPU innovation at the top end will diminish. There's still lots of innovation that can happen with ARM processors on the low end of the market, but there is going to be less and less momentum behind pushing the TeraFlops on the high end.

Actually no. If you look at what is shaking in the top 10 Supercomputer market it is big push of GPUs. Intel has only modest traction there. I think that is one reason they bought up Cray's interconnect tech. Because just being the CPU package vendor isn't major leverage anymore.

Knights Crossing may get aid in getting better traction, but Intel is playing catch up there.

iPad growth being exponential is also a threat to them. Intel is Godzilla because Windows is Gamera. If Windows RT gets decent traction and perhaps an end to Windows x86 growth is a problem for Intel. That is one reason why they are plowing millions into Ultrabook development marketing support. There will probably be another bankrolled imitative aimed at "Window 8" x86 based tablets late this year or early next. Intel is highly motivated for Windows RT not to succeed.


I'm certainly no expert on this industry, so there could be a lot I'm overlooking, but I think it's safe to say that any plateau in CPU innovation at the top end of the market is going to be economic and not due to the laws of physics.

Intel's low and middle markets are key to them being able to print money. The high end stuff ( > $500 CPU ) certainly helps, but the high end by itself isn't going to fund fabs either.

The first products on 22nm and smaller process tech will be the low and middle market CPU/SoC package models. That isn't going to change any time soon.
 
Thanks for the replies, everyone. The 'brick wall' so to speak, that Intel hit, sums it up for me. I wasn't aware that they ran into that issue.

Do you think there will be a point in time when CPU manufacturers won't be able to 'outpower' the previous generation of machines due to power consumption issues?
There is a point of diminishing returns in many areas, where the payoff becomes non-linear. IOW, increasing from 2.5 to 3 GHz does not push the heat factor that far, while pushing it from 3 to 3.5 increases the heat factor dramatically. At the same time, the advantage of running at 3.5 rather than 3 is not really significant for low-demand tasks; your screen will refresh just as fast at 1 GHz when you are scrolling an email as it will at 3.5 GHz.

Then there is the practical vs. the theoretical. A Lotus may go from 0 to 60 in 2.6 seconds, but that won't really buy you much at rush hour on the 101.

The only time you want to be at the edge of the limit of performance, where the entry fee is much higher, is if you really need it. If you are transcoding a 1080i30 MPEG-4 AVC HD video to 720p60 MPEG-2 (which is something I have to do a lot), it takes a cutting edge 12 or 16 core server just to be able to do that even in real time (to transcode a 30-minute program in 30 minutes or less, for instance). If you are editing large PhotoShop images all day with lots of layers, again, having cutting-edge horsepower may be worth paying the price.

And of course since clock speed is hitting a wall, they have found other ways to attack the bottlenecks: multiple cores, SSDs, distributed computing, better choreography of what uses what core or GPU when, such as techniques used in OpenCL, etc.

But improvements are bound to be evolutionary, rather than revolutionary. It's like comparing 1820 USA to 1960 USA; there is just not that much frontier left to conquer, until we get to the next full paradigm shift, somewhere beyond silicon. They have not found a method to make the process smaller than 22 nm without it being very costly and time consuming, and they have not found any method at all of reducing it below 11 nm, so there may be another wall there, at least for the foreseeable future.

So yes, there may be a point in time, but then we may not need really anything beyond those barriers. That is not to say that computers won't get more reliable, lighter, more affordable, and use less energy over time; those are all attainable goals that have real meaning. Faster may not have that much meaning after a certain point. What good is a car that can go 400 MPH?
 
What good is a car that can go 400 MPH?

If it ran on sunlight and has an autopilot that wouldn't let it crash I'd be able to leave for work 3 mins before I needed to get there. :D

The whole Megahertz myth thing is very old now, work smarter not harder is the real key to development of any technology. Organic or light based CPUs would blow the field wide open again but who knows when the silicon boys will decide to develop either to market.

http://www.youtube.com/watch?v=qpMvS1Q1sos
 
Last edited:
Automatic gainsaying is not an argument.

Correct, you were wrong.

Arguments about multi-core architecture and multi-thread programming should not be confused with each other but both need to co exist to make the best of our current tech level.
This article from 2010 is interesting though: http://accu.org/index.php/journals/1634

Feel free to discuss single and multi-thread programming with clearly proven points not just "Tis." and "Nah bro." please. :)
 
What an amazingly insightful and well-thought out comment. Do you have any evidence to back up your argument? The software that most people use on a day by day basis does not scale beyond two threads (one for the UI). What's worse is that many apps are written in such a way that work gets done on the UI thread. Actually, I am not sure why I am arguing with someone that cannot offer a mature debate and answers with single words.
 
I have yet to see any apps other than Firefox and synthetic benchmarks that are almost strictly single core. Even old apps like Halo demo from 7 years ago use all 4 cores evenly. I very very rarely see any of my 4 cores more than a few % off of each other. And thats with old PPC code! Modern apps are even more multi-core smart. Even at idle now, all the cores are 6-10% with the occasional dip down to 3%.

I have 8 apps open right now, all processes with 1-2 threads are either admin or root. The smallest thread count user app open right now is Transmission with 12. Even the freaking dictionary has 7 threads when freshly opened!

OSX is designed as a multi-cpu/milti-core smart OS. Unless you disable a core with developer tools, there is never a core with 0% activity. It naturally spreads work as evenly as possible across every core available.
Go ahead, open activity monitor and watch the CPU monitor window for a while. You'll see the truth.

To all the "smart" people giving +/- votes, FYI, the votes mean absolutely nothing. All they do is determine which posts get shown on the front page articles. I don't care if 500 people give me -1, it wont alter the fact the other person is wrong!
 
Last edited:
I have yet to see any apps other than Firefox and synthetic benchmarks that are almost strictly single core. Even old apps like Halo demo from 7 years ago use all 4 cores evenly. I very very rarely see any of my 4 cores more than a few % off of each other. And thats with old PPC code! Modern apps are even more multi-core smart. Even at idle now, all the cores are 6-10% with the occasional dip down to 3%.

I have 8 apps open right now, all processes with 1-2 threads are either admin or root. The smallest thread count user app open right now is Transmission with 12. Even the freaking dictionary has 7 threads when freshly opened!

OSX is designed as a multi-cpu/milti-core smart OS. Unless you disable a core with developer tools, there is never a core with 0% activity. It naturally spreads work as evenly as possible across every core available.

Wrong. (even your first sentence is wrong)

By the way: just because you ran through all of the posts that disagree with you and clicked on the down vote and then up voted your own posts does not make you correct.
 
Last edited:
Wrong. (even your first sentence is wrong)

By the way: just because you ran through all of the posts that disagree with you and clicked on the down vote and then up voted your own posts does not make you correct.

It seems like he's backed himself up a bit more than you have. I mean, he posted no links, but you're just doing what you scolded him for. High profile apps are indeed multicore ready. Why wouldn't they be? Things like browsers are constantly chasing whatever will put them on top as the top in terms of speed. Why would they skip over such an obvious gain? I think you're a tad ignorant as we havent lived in a single core world since the Pentium D in 2005.

And the OS makes use of extra cores anyway which benefits what ever 'single core' application your using so whats the point you're even trying to make?
 
It seems like he's backed himself up a bit more than you have. I mean, he posted no links, but you're just doing what you scolded him for.
That's exactly what I was doing to show how annoying it is.

High profile apps are indeed multicore ready. Why wouldn't they be? Things like browsers are constantly chasing whatever will put them on top as the top in terms of speed. Why would they skip over such an obvious gain? I think you're a tad ignorant as we havent lived in a single core world since the Pentium D in 2005.
I don't think I am ignorant in this, since I know more about it than the average user due to what I do for a living. He mentioned that Firefox is a single threaded app, which is incorrect and I stated so, in his own eloquent way. Many high-profile apps are indeed multi-core ready. Many apps that one uses on a daily basis are not. That's kind of the point.

And the OS makes use of extra cores anyway which benefits what ever 'single core' application your using so whats the point you're even trying to make?
The point is that a blanket statement of all apps benefit from multi-core systems and are multi-threaded is not correct. Most of the apps that use extra cores do not scale well beyond 4.
 
At last a coherent argument has broken out, well done folks.
Still need to keep in mind that multi-thread and multi-core programming are 2 different things though:
http://en.wikipedia.org/wiki/Multithreading_%28computer_architecture%29
They are ofc complimentary and very common in OS X today as Apple fully realise the utility they bring to their CPUs and programs.
Let's not devolve back to gainsaying please. :)

Grand Central Dispatch makes writing applications that use available cores a lot easier thanks to the fact that it abstracts threads away from the developer. How well it manages then to spread the load across the cores/processors is another matter.

Unfortunately there are many tasks that can only be split into a limited number of logical units of work (blocks) or they have to run in sequential manner. There are additional complications if the workers need to access (update) the same data. There are basic mistakes though that I see junior developers straight out of university make. One recent example was a system that needed to fetch data from two external systems via a network. These guys thought it was wise for them to call the one system, wait for it to respond, then call the second system. This was an online banking system that they were building and using cheap, junior developers.
 
Most SW is still single thread leaning.

Completely incorrect.
I've gone back to read the thread again to see where it went tits-up. To be fair to Litany, the above is actually correct so I apologise.

This argument should be about multi-core yet for some reason derbothaus (maybe in a moment of madness) mentioned threads and single thread leaning. It depends on your view of "most", because you could argue that there a lot of command line utilities and the majority of them are indeed single threaded, but basically there aren't any single threaded GUI applications in Windows or OSX. It's just not how things work, unless you wrote the GUI layer from scratch and are not using the foundation frameworks like Cocoa/MFC/can't remember the name of .NET equivalent. Even if your application is just a single window that does not do anything and has no controls on it, it will have multiple threads that are abstracted away from the developer. Whether those threads are multi-core aware is another matter and depends on the operating system and how the application was written.
 
Grand Central Dispatch makes writing applications that use available cores a lot easier thanks to the fact that it abstracts threads away from the developer. How well it manages then to spread the load across the cores/processors is another matter.

I don't know how much this helps, as most developers are developing for Windows 7 / Mac OS X, and often Linux as well. I can think of two 3D application developers that claim that 98% of there code is common to all platforms.

I guess it is not so much about threads, more about whether applications are optimised for multi-core.
 
At last a coherent argument has broken out, well done folks.
Still need to keep in mind that multi-thread and multi-core programming are 2 different things though:
http://en.wikipedia.org/wiki/Multithreading_%28computer_architecture%29
They are ofc complimentary and very common in OS X today as Apple fully realise the utility they bring to their CPUs and programs.
Let's not devolve back to gainsaying please. :)

They're not really different. A program that is multithreaded can run on multiple cores.
 
Look what I did now. :eek:
He says tomato, I say tomato.
Simply put most of your cores sit idle 80% or more of the time. Be it crappy thread management or weak multi-core support. I know of "the spread" that Litany eluded to. Not exciting in the least to have 10% usage across all available cores vs. 85% on 2. Same weak result.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.