Now I know why Virtual PC won't work on the G5
I heard this from a sales guy while checking out a new 1.8 GHz G5 at the Salem, NH Apple Store, and found a link to a story about the G5 VPC problem here:
Power Mac G5 not as open to Windows
This is a fairly major incompatibility! I was hoping VPC would really fly running on the G5, but without a little-endian mode, integer math could get seriously bogged down with VPC flipping back and forth between big-endian and little endian numbers the hard way.
There probably aren't too many other pieces of software that use the G3/G4 little-endian mode, so I don't imagine much else besides VPC will have problems running on the G5. But for VPC itself, this is a major, major problem. I hope IBM had a damn good reason to leave this feature out.
According to the article, we won't get a 6.x patch. There will be no fix for the G5 problem until the next major release of VPC -- "expected within a year".
Power Mac G5 not as open to Windows
Quote:
The reason for the incompatibility, according to Microsoft, is that the current version of Virtual PC for the Mac relies on a feature of the PowerPC G3 and G4 processors called "pseudo little-endian mode," which helps boost performance of a Mac when it is trying to emulate a Pentium chip.
"Because the new G5 processor does not support this feature, large portions of the (Virtual PC) for Mac program must be rewritten and carefully tested to work properly on the G5 CPU (central processing unit)," Microsoft said.
The reason for the incompatibility, according to Microsoft, is that the current version of Virtual PC for the Mac relies on a feature of the PowerPC G3 and G4 processors called "pseudo little-endian mode," which helps boost performance of a Mac when it is trying to emulate a Pentium chip.
"Because the new G5 processor does not support this feature, large portions of the (Virtual PC) for Mac program must be rewritten and carefully tested to work properly on the G5 CPU (central processing unit)," Microsoft said.
This is a fairly major incompatibility! I was hoping VPC would really fly running on the G5, but without a little-endian mode, integer math could get seriously bogged down with VPC flipping back and forth between big-endian and little endian numbers the hard way.
There probably aren't too many other pieces of software that use the G3/G4 little-endian mode, so I don't imagine much else besides VPC will have problems running on the G5. But for VPC itself, this is a major, major problem. I hope IBM had a damn good reason to leave this feature out.
According to the article, we won't get a 6.x patch. There will be no fix for the G5 problem until the next major release of VPC -- "expected within a year".
Comments
http://www.xlr8yourmac.com/VPC/ConnectixOnVPC4.html
Indeed disappointing to find that the G5 lacks this capability; I too had been hoping for some gonzo VPC performance on the G5. Does Microsoft have the motivation to really push hard on the VPC development to try to overcome this, and make VPC halfway decent on the G5? I fear not. Ugh.
-- Mark
Originally posted by neutrino23
I thought the 970 was part of the PowerPC family. How is it that it doesn't implement something that the other processors do? I could understand it maybe having a poorer implementation but shouldn't the code at least run? This sends up a red flag for me. Will there be something else missing from the 970?
All of the PPC processors differ slightly in instruction set and features from each other.
-- Mark
Originally posted by the cool gut
Apple seemed to have the processor pretty much custom built. I wonder if this is a tactic to get that peice of shit of their hardware?
?
The 970 was not custom built, though they did ask that AltiVec support be added late in the process.
-- Mark
Now I guess they should have banned me rather than just shut off posting priviledges, because kickaha and Amorph definitely aren't going to like being called to task when they thought they had it all ignored *cough* *cough* I mean under control. Just a couple o' tools.
Don't worry, as soon as my work resetting my posts is done I'll disappear forever.
Originally posted by AirSluf
They should at least have made a fully functional and standards compliant albeit not as fast technique to ensure the programs continued viability. Not doing so was a gamble at best. Another nail in the coffin of my ill-respect for the management of Connectix's engineers and the engineers performance as well.
The little endian mode was part of the spec of the processors -- the G3 and the G4 -- that Connectix was writing for. I don't see how you can call using this feature not "standards compliant". I doubt Apple or Motorola or IBM put up any big warning signs "Danger! Do not use this feature as it may not be supported in the future!".
Even as VPC performs on the G4 now, people bitch and moan about how slow it is. You think Connectix should have let VPC be even slower, that they should have looked what must have appeared a godsend for performance in the face, and said "Hmmm.... nyah"?.
Instruction after emulated instruction, endian-ism is going to come up constantly while emulating an x86 processor. And it's not likely to be in big convenient bundles. Imagine:
<start little endian mode> (fast mode bit set)
instruction
instruction
instruction
...
instruction
instruction
instruction
<end little endian mode> (fast mode bit set)
...verses...
call endian-swap (call overhead + several instr. of proc. time)
instruction
call endian-swap (call overhead + several instr. of proc. time)
instruction
call endian-swap (call overhead + several instr. of proc. time)
instruction
...
call endian-swap (call overhead + several instr. of proc. time)
instruction
call endian-swap (call overhead + several instr. of proc. time)
instruction
call endian-swap (call overhead + several instr. of proc. time)
instruction
For this kind of use, having a built-in little-endian mode is just too good to pass up. Not only would it be a damn close call even if there was a standards-compliance issue, I have no reason to think there was such an issue to begin with. I don't think the engineers would have had any good reason to believe, or even suspect, that the G3/G4 little-endian mode would be taken away from them in the future.
Now I guess they should have banned me rather than just shut off posting priviledges, because kickaha and Amorph definitely aren't going to like being called to task when they thought they had it all ignored *cough* *cough* I mean under control. Just a couple o' tools.
Don't worry, as soon as my work resetting my posts is done I'll disappear forever.
The 970 does have both big and little endian modes.
What it's lacking is *pseudo-little-endian* mode... that allows a big-endian moded 970 to run *some* little-endian mode in the middle of the normal big-endian operation.
Bi-endianness is part of the PPC base spec. All PPC chips can operate in either big or little endian fashion - but this is set at power up time, and is immutable until the next power cycle.
Pseudo-endianness got around this problem. Is it a *HUGE* problem? Not really. Endian emulation is a known problem with well known *fast* solutions. Is it a bit of a bugbear? Yup.
Originally posted by shetline
I don't think the engineers would have had any good reason to believe, or even suspect, that the G3/G4 little-endian mode would be taken away from them in the future.
The 970 has been in production a long time. Wouldn't Apple have warned Connectix about the change? Wouldn't they have know from test machines months ago? I think there's every reason to believe they could have had a head start. If it's going to take a year, they should be at least six months through the process. I would suspect further if they were given any fair warning.
Originally posted by bunge
The 970 has been in production a long time. Wouldn't Apple have warned Connectix about the change?
My comments weren't in regard to whether Connectix had time to fix VPC. Rather, my comments were in reference to the notion that Connectix having ever written VPC to depend on the little-endian mode was a Bad Thing. I don't believe it was.
As to whether they had time or not to fix VPC before the G5's release ... who knows how much warning they had? Maybe they had some warning, but knew how much work it was going to be to fix the problem, and were happy to dump the problem on Microsoft.
Regardless, once VPC has been fixed for the G5, it won't be anywhere near as fast as it could have been with processor-level little-endian support. In addition, Microsoft might not want to support and test two versions of the VPC code, so it could well turn out the VPC 7.0 will be even slower for G3s and G4s than 6.0 is.
Originally posted by shetline
Maybe they had some warning, but knew how much work it was going to be to fix the problem, and were happy to dump the problem on Microsoft.
To put it another way if you're negotiating to sell the product and compatibility in that regard isn't an issue, why would you bother doing that development?
-- Mark
"little-endian" has to be the greatest piece of technological lingo EVAR.
No..big-endian is!
Does anyone really no if the G5 has it or not? What's the deal, is Programmer around?