Re: tired of altivec
Originally posted by Pedro Estarque
OK, so I'm getting tired of altivec. I've used it and it sure does speed up some things ( in my experience Photoshop and OSX GUI are much faster), but at what price?
First of all, I think it goes against the whole RISC chip design's philosophy. It adds complexity to the chip, increasing heat, making it harder to produce and therefore more expensive. If that developing effort was spent in better FPU, Integer, FSB, handling more instructions at a time, etc we could have a much better and cheaper PPC on our macs today.
Besides, you have to teach your developers to code their softwares in a specific way in order to get the speed boost, another example of mislead effort. A developer should focus on the features and productivity of their software, optimization is the compliler's job.
We all know how cool and energy efficient this G3s are. Imagine a dual G3 1.1 Ghz powerbook with 200 MHz FSB, 1MB L2cache per chip and 4.5 hours of battery life. It would toast any G4 in most tasks (except altivec instructions on non MP aware programs ) and probably most x86 laptops as well.
1) Altivec is designed around a RISC philosophy. RISC is generally taken as Reduced Instruction Set Complexity. The generally accepted definition of that is to have well designated units with large register sets and a load/store architecture. Altivec is designed to integrate well into such a philosophy.
2) Everything adds complexity to a chip. Larger on-die L2 caches add complexity. Being able to dispatch more instructions per clock adds complexity. Better Integer, Floating point, Branch units add more complexity. Faster front side busses add more complexity. Compared to making any of those systems better, adding Altivec is (relatively) a snap because the biggest issue with adding Altivec is laying out the chip so that 128 bits arrive at the correct time instead of 32 or 64 bits. Improving your FPU, Integer, or Branch unit by contrast usually involves redesigning that unit. Improving the Load/Store unit (and by extension the FSB) is a matter of timing and signaling, and the smallest error gets you bad data or a system hang. So while Altivec adds complexity to a chip, so does nearly any other improvement.
3) Nothing happens in a vacuum! When we got the G4, we also got a better Floating point unit. Why didn't Motorola make a better FSB? Probably because it wasn't a concern when the G4 ran at 400Mhz on a 100Mhz bus. And when Motorola decided they cared more about embedded than desktop, there was never any pressure to make a better FSB. It was probably luck that we got any improvements beyond Mhz on the 7450 because by then Motorola was in full money saving mode. If you look at the G5, it has all the same features that the G4 offers, but is so much better because the engineering was put into it. The fact that it has Altivec didn't detract from that engineering effort.
4) You don't need to know Altivec to take advantage of it! That's why Apple writes to much Altivec code. The entire system uses it on OS X. It's this simple: if you have a G4 or G5 Mac, your always using Altivec for something to your advantage. Apple even offers simple libraries for developers to use that provides optimal code for G3/G4/G5, so you don't even need to write the code yourself to make it optimal. Many times the compiler
can't create optimal code for you. It's the good old Garbage In Garbage Out. A developer that completely ignores performance does so at the loss of customers because far more people will use the fast app that does 90% of what they want than use the slow app that does 100%. And there are some damn simple things I can do that will cause a 3Ghz machine to slow to a crawl. Do it a little differently, and a 200Mhz machine can outpace it. Optimization does not end at the compiler.
5) Ya know, a dual G3 laptop would be pretty cool. But it will never happen. People have screamed about how bad the Dual G4s are with FSB, and ya know what? A Dual G3 will have the same problems. And no, I doubt that your theoretical laptop will have 4.5 hours of battery life just like now. The 750GX has the same power usage characteristics as the 750FX. Your dual G3 probably won't toast the G4 due to memory bandwidth restrictions. It would likely operate as a single G3 in the same circumstances. And Apple wouldn't give you a 200Mhz FSB because the PowerBooks only have a 167 max.
Truthfully, anyone who thinks that the new iBook rev will be more than a single 1.1Ghz G3 running on a 100Mhz bus is having a pipe dream. And it is far more likely that it will be a 1Ghz G3 that they put in the top line machine. Yes, the iBook had a 900 Mhz G3 while the PowerBook had an 867Mhz G4. But that is 33 Mhz. A top of the line iBook with a 1.1 G3 is 100 Mhz over the 12" which I think is enough to cause confusion, which is why Apple won't do it.
So many people have been come G4 haters because of Motorola's screw ups. If IBM hadn't taken the G3 in, it would probably had the exact same issues (or worse, Motorola could have refused to make it at all). Don't hate the G4 because Motorola didn't exert the effort to keep the engineering staff that would have made it better, or spent the money to make it better. The iBook will eventually get a chip branded as a G4 - be it a G3+Altivec (the urban legend) or G4s that Apple buys from Motorola is irrelevant, as eventually the G3 will become a footnote in Macintosh history. It's somewhat amazing that it's lived on in the iBook for as long as it has.