DemoCoder said:
I think the lost is due to poor design. Even if the NV3x had great yields on .13, it wouldn't change the fact that the architecture has problems.
The real "gamble" NVidia made was their multi-precision architecture, support for old register combiner stuff, and stencil acceleration, while not really doing anything to their rasterization and AA. Nvidia bet that the multiprecision design would yield real benefits, but their implementation is too constrained.
I think the problem with the NV30 is that, prior to what I said along time ago, it is not a completely new architecture, but an evolution of the NV2x. ATI had a totally new team work on the R300, so they threw out alot of the legacy stuff that didn't work on the R200 and gambled a clean new simple implementation would be better (e.g. booted the integer pipelines)
Nvidia's design is overly complex, and they didn't get it right this generation. Reminds me of AMD's early attempts on the k5/k6. Perhaps they will get it right with the NV40 and the architecture will start to get legs.
I would agree with this--it's pretty much how I've seen the issue myself. I disagree on the nV3x architecture getting legs, however. I've always thought nVidia should dump most of the nv3x design and go for something clean and new, instead. I think they retained just enough of their older architecture to present real problems in bolting on their newer concepts and as you say this has resulted in an overly complex architecture that generates poor manufacturing yields along with an inefficient architecture that performs relatively poorly. In otherwords, nV3x architecturally is a mess...
The real question is "Can they do better?", I think. If you look at the inordinate amount of time and money they invested in pcb design and in bolting on a giant fan & cooling system on nv30U simply to clock up to 500MHz, and step back and see that this was all done for what turned out to be a dead-end product they couldn't market in quantity and were not prepared to back for reliability, it raises some interesting questions along those lines, I think. Especially when you consider that as of last August nVidia saw what nv30 would be competing with in the R300, I think it really begs the question.
Looking at the fact that nv35U simply lowers the nv30U clock by 10%, ostensibly to reduce power & thermal requirements and to increase yields, and the fact that yields are still not on par for nv35, it doesn't look good.
Then there's the knee-jerk "blame it on TSMC we're going to IBM" phase the company publicized. Now we see at the very least a steady easing of the company's initial rhetoric on blaming TSMC, and it is apparent that nVidia will continue to use TSMC for the bulk of its manufacturing and that IBM's future role seems to be of a type of "probationary" status to the degree that nVidia isn't naming which of its gpus has in fact taped out at IBM. It just looks like, at least circumstantially, that nVidia is actually coming to realize that many of its nV3x problems are design related instead of FAB related.
I would have thought nVidia would have realized this when the company decided FX-FLOW was a requirement needed to pump up nv30U to a point where it could compete with R300. Maybe the company did, but their actions since last August relative to nV3x production do not indicate that anyone in the company had a clear idea of the design problems fundamental to the architecture. At least to me...
In its place what I probably would have done when R300 shipped last year and I saw what I would be competing with is quietly pull nv3x and go back to the drawing board. I can't see how this would have cost them more than going ahead with nv30 in terms of production and advertising, thermal R&D, and etc., only to turn around a couple of months later and declare it a failure. Had they simply scrapped it prior to attempting to ship it there never would have been a need to stipulate to such an obvious failure and the company would have been no worse on the product front than they were anyway (since because nv30 didn't fly they were left with their GF4 products in the main--just where they'd have been if they'd have scrapped nv30 last fall and started over.)
Maybe if they strip out the integer pipe and some other things that would help--but if the nV3x architecture is fundementally based on nv2x--they may not be able to do that. If the only thing they are using IBM for is a third attempt at nV3x, though, instead of to manufacture a new design, they may have no better experience than they did with TSMC. I'd like to see them make a clean break with "GF-FX" in every way and put it behind them. But maybe they can't, is what I'm wondering, because they have nothing else to bring to the party...
It's a crap shoot really. Same with TBR and other technologies. Engineers are trying out new ideas, sometimes their timing is right, and sometimes things work, and sometimes timing is bad and it doesn't work. You bet an architecture will yield savings and improvements, but either there are unintended consequences, or it takes so long to come out because of increased complexity, that by the time it is delivered, the original predict efficiency savings are no longer relevant.
This is why these companies as they get bigger sometimes err towards conservativism and incrementalism, because big bold architectural changes are unpredictable.
I agree with this and often said last year that it would be inadvisable to assume a performance delta between nv30 and R300 that many were assuming, because they were predicting nVidia's future performance based on its past record. When you go to "new" architectures, the past gets tossed out of the window and the counters are reset...more or less...