Intel's Itanium Will Get x86 Emulation
pissoncutler writes "Intel has announced that they will be releasing a software emulation product to allow 32-bit x86 apps to run on Itanium Processors.
According to these stories (story 1, story 2), the emulator is capable of the x86 performance of a 1.5Ghz Xeon (when run on a similar speed Itanium.) Who said that no one cared about x86 anymore?"
If Apple starts producing AMD based systems, which I doubt will happen, don't expect an open architecture. You can bet that there will be proprietary elements to the platform and OS/X won't run on commodity x86 hardware.
Comment removed based on user account deletion
These same thoughts wandered through my mind and then out again, simply because apple have Been There Done That over and over before. there were PC compatibility cards for Pluses, for the Mac II, for the Quadras, and for PCI PPC macs... none of which were particularly succesful
Then again the fact they've done it so many times before could mean they're likely to bash their head against this particular wall one more time
Me and a few friends have long held the belief that Apple releasing OS/X for the x86 platform would KILL Apple. Unlike Microsoft, Apple's 'coin' is their hardware platform, rather than software. The software is just there to sell the hardware. If they released OS/X for x86, then their hardware sales would plummet.
:) But... that's still 'talks', isn't it? :)
Yes, they could make some money off selling OS/X. However, they would then have to become MUCH more interested in ensuring their software is not being pirated, and that means some kind of DRM. A lot of folk love Apple because of their anti-DRM stance, and a lot of that love would disappeaer if Apple went down this route. As it is, Apple don't seem THAT concerned about piracy of their software, instead relying on those that want to 'do the Right Thing' with Apple, which is a fair percentage of their user base.
Instead, this is my theory on the Apple/AMD relationship, if there is one.
- It would be STUPID of Apple to rely on a single-source for their new processors, so, who better than to ask as a 'second source' than AMD? Yes, I'm sure Apple/IBM will get a leetle percentage out of all the chips that AMD make, but I'd bet my dollars that's what's going on.
Of course, the other possiblity is that AMD HAD talks with Apple, and they consisted of "Hey, lets go do lunch." "No."
So Apple says this is the year of the laptop, right? If I'm not mistaken, AMD chips run hotter than just about anything out there. So who wants a laptop with 15 minutes of laptop life and the capability of burning your wang to a small, blackened stump of carbon (or for the ladies a sizzling fajita)?
Besides, are they or any of the Mac software vendors going to support two versions of their Mac products? No.
Yup, that's right. Keep perpetuating the myth. Have you looked at the Apple Store lately? iBooks are <$1K ... compare to a Dell or similar notebook and you'll find that Apple matches or beats their pricing.
... as are the Dell, Compaq, HP, IBM and Gateway machines.
True - the desktops are still somewhat pricey. $1000 more? No. Not if we're talking iMacs, and if you're comparing them to a machine purchased from a major manufacturer like Dell or Compaq - If you're talking beige-boxes, well then yes. Apple computers are $1000 more than a beige box
But keep in mind, Apple is really focusing on the portable market segment this year, so that's where most of the value is going to be.
Does nobody remember that both AMD and Apple sit on the consortium for Hypertransport? If you look at Apples current lagging hardware specs you'll see a need for two things. A faster Bus and a faster CPU.
AMD == Hypertransport && IBM == P970
Not everyone wants to roll up their sleeves and start coding just to use "desktop" software. There *are* people out there who just need to write documents/work on spreadsheets/balance their checkbook, and not all of them share the Open Source agenda: do you really think they all ought to participate in Open Source, instead of just switching to some OS they feel suits them better ?
Apple has heavily optimized OS X and the so-called iLife apps (iTunes, iPhoto, etc.) for AltiVec, the special vector instruction set that the G4 has. That's why OS X runs much more nicely on G4's (which have AltiVec) than on G3's (which don't). The reason all the buzz started about Apple migrating new Macs to the 64-bit IBM chips in the first place was that IBM introduced AltiVec workalike instructions for their new chips, so Apple could move up without sacrificing the AltiVec optimizations. Moving to x86-ish hardware would mean that they'd lose all the AltiVec optimizations they've made, so it seems unlikely to me.
If we do, I think it would probably be only for a brief transition period, like when they switched from the 68K line of processors to PPC. But who knows. I really hope they don't switch to AMD, that would make people less inclined to write software that is still compatible with the PPC architecture I own (assuming they don't make binaries compatible with both... i don't think they can, can they?).
This is the biggest reason I've doubted the Apple/Opteron rumors from the start. When Apple switched from 68k to PPC they chose a processor that was capable of emulating the old platform at full speed to ensure a seamless transition from the user perspective. I doubt Apple would be interested in anything but a seamless transition this time as well. Opteron, however, doesn't have enough registers (among other problems) to do a good job at emulation the PPC architecture. I would guess that there would have to be AMD chips that are 10x faster than PPC chips (they're getting there, but PPC isn't that far behind yet) or Apple would not be satisfied with the PPC emulation experience. I would believe the use of Itanium more that the use of Opteron, just because Itanium is much better suited to PPC emulation. Unfortunatly a single Itanium CPU costs more than most complete Apple systems right now, so that's probably unrealistic as well.
As for all the people that say the 970 is vaporware because of the lack of hype, well there's always been much less hype from IBM and Motorola about their new CPUs than from Intel, AMD, and (formerly) Digital (remember the old Digital Alpha CPU ads back in the late 80s/early 90s? "We're on our third generation 64bit architecture. Our compitition hasn't even started designing their first." It was the first CPU specific TV ad I remember seeing. Classic). IBM markets to manufacturers, not to end users, so unless you're a developer you don't see the hype. IBM and Apple are well suited for each other because IBM has a history of licensing portions of their CPU cores and using them to put together custom processors for the customers. Apple would love to have that kind of control, and they won't get it anywhere else.
For Apple to run OS X (or it's descendants) on Apple branded computers, they would have to create serious confusion and frustration among Apple users. Apple users don't want to think about "what processor version installer should I run." Sure there are so-called fat binaries that include binary code for multiple platforms, just as Apple used when transitioning between Motorola 680x0 (aka 68K) processors and PowerPC processors. However, that was a one way transition. People knew that PPC was the future or all Apple as well as an upgrade. PowerPC processors could run 680x0 code through emulation quite well with no user intervention. With a transition to x86, however, Apple would have a huge problem with backwards compatability for existing applications. PowerPC emulators are in the works for x86 (actually, at least one will work on most modern architectures), but believe me, they are not an acceptable solution for production use - especially among most Mac users.
Using two simultaneous platforms is a big problem for sales and developer relations. Which is better? Why even bother with the other platform then? Or, why is the new platform so much better yet it has little available software? Why bother porting to the second platform when sales are sluggish on that platform? Then existing customers get angry. Why is my platform being abandonned? New customers feel the same if the gamble doesn't pay off and gets killed. The only partial exception is if one platform does not substitute for the other, say appliances vs. desktops and servers. Think Sun's purchase of Cobalt.
If Macs could suddenly run Windows applications (without something like VPC), why would anyone write anything except Windows apps? The big companies that now target both platforms could just drop their Mac software and tell Mac users to buy the Windows version. Companies that now specialize in the Mac market could start making Windows apps and sell to both platforms. Apple would totally lose control of the integration that has made the Mac experience what it is today. I just can't see any other reasonable result of what the poster suggests.
In short, NO.
Firstly, as everyone knows, Apple makes money off one thing, and one thing only - HARDWARE. They make great software only to sell their hardware.
The benefits of controlling the hardware are
- A better user experience
- Lower tech support costs
- Better quality control
- Specialized/customized designs with an eye toward aesthetics
They CANNOT allow others to create hardware upon which their software will run. This means that they have to use a special BIOS, and manufacture their own boards. IF they switch to an OS that can be run on an x86 processor (and custom mothboard/bios/etc), you will find, the very next day, a crack for the software which will allow it to run on any generic motherboard, and further down the line a BIOS image which will allow an unmodified software to run on a non-custom motherboard.Right now they can control it because a 'commodity' PPC motherboard costs more than the same apple motherboard. It would surprise me if Apple wasn't applying some pressure to various suppliers to prevent the widespread availability of commodity PPC equipment which is very similar to Apple's own. This is common in the industry. Furthermore, they may even have a slightly altered/customized version of the various PPC chips they use.
The only way for Apple to play against WINTEL is to not compete - not competing means selling essentially different products. Apple would die if they had to sell their OS and try to make a profit at it - the company is simply not designed to compete against MS. (Although if they did Windows would improve dramatically)
Put another way, Apple is a whole user experience company. They don't want the user to go to a generic theatre, sit in seats made by some strange company, eat food purchased from GFS, and watch a movie made by three different movie studios. They want you in their theater, their seats eating their food, and watching their entirely controlled movie.
This is good for those who only want to deal with one company, and are willing to pay for it. They know their market. They may be trying to expand it a little towards the geek segment that play with software but don't care about hardware (we run unix!). It is unlikely that they will ever capture the imagination of the hardware geek, they know it, and they aren't courting us.
So stop posting freaking stories about OS X on any commodity hardware, ok?
-Adam
Could someone please explain to me why there is such a "need" to have Mac OS X on an x86 processor? Why is it a good thing to run on a processer with 4 registers (8 if you use the address registers for non address calculations) and an outdated asm languages when 32 registers and risc is just so much fun? Their are a lot of different processors out there and I really don't think x86 is the best in the world. Why would anyone what to run any code on anything made by intel. I'm not trying to start a flame here, I just want to know why so many people want x86 over anything else (mips, sparc, hp-risc, power-pc).
Actually I think there is a very good reason for Microsoft to buy VPC that has nothing to do with Apple. Intel has indicated they are switching focus over to the Itanium line, and over the next 5+ years the limits of the x86 platform are going to become more troublesome (things like 64 gig limit of addressable memory...).
The Itanium's x86 emulation is only so-so. VPC makes a product which allows an entirely alien architecture to run x86 apps almost perfectly providing you have an x86 OS. It would be possible for the VPC guys to take their PPC code and recreate it for Itanium to create the same level of compatability for Itanium architectures. That would be functionality that Microsoft would want to offer their customer base.
The PowerPC isn't a proprietary processor. If you'd like to design a motherboard that uses it, go ahead. No one's stopping you (unless it infringes on an Apple design, that is). The hard part would be selling it...
Apple will not destroy its PPC customer- and developer-bases by tossing them aside after all the time, money, and effort expended on Mac OS X. Apple will adopt the PPC 970, take Motorola out of the CPU development loop, and provide Mac OS X for a tightly proscribed x86 configuration (including its own branded boxes--almost everything but the CPU in a Mac is now commodity parts, so that perceived barrier is long gone).
Steve Jobs is a patient man when it comes to the world-at-large. He knows that Apple probably won't ever replace Microsoft as the dominant player in the x86 market, but he also knows that this is probably the perfect time to give them some competition. Microsoft faces a number of challenges to its dominance: its attitude toward DRM, its "trusted computing" initiative, the quiet debacle it's weathering vis-a-vis virtual weekly security updates to XP and other critical software, the growing popularity of open source software, its enterprise licensing scheme, and the increased scrutiny it's under after losing the anti-trust case (like IBM before it, the loss itself will prove more damaging than the punishment).
Apple will continue to produce Mac OS X for PPC. The x86 version would be--in the beginning--a loss-leader. It would get noses into the tent from every market segment. That interest would fuel developer interest (notice how quickly the "there's no software for the Mac" discussion abated in the flood of Open Source offerings it now enjoys).
Once that interest is cultivated, Apple has a whole slew of products/ideas "on the shelf" that would benefit from this renewed interest. There's an advantage to being ahead of your time if you survive long enough.
Exactly. A year ago it might have made sense for Apple to switch to x86, but with the impending 970 release it would be silly. It would substantially reduce the currently huge demand for the 970, as buyers would fear the machines being obsoleted if Apple abandoned the PowerPC entirely. But HyperTransport is win-win for everybody (well, not MS and Intel, darn).
How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
I have a better reason: AMD can fab those CPUS easily and IBM has better things to do than fab chips for Macs. Apple needs to make sure it doesn't have to stop the assembly line for IBM to fab more CPUs. My guess is that Apple will have AMD produce IBM 970 chips alongside IBM. IBM probably doesn't want to be the first in line for Macintosh CPUs, there's not enough money in it for a multi-faceted operation like IBM. AMD can produce ample chips and they might be able to make a profit doing it
I think you have this backwards. AMD just recently signed up to use IBM's new manufacturing plant to increase production yield on chips and allow for higher process manufacturing (.09 micron.) IBM wouldn't be disrupting anything to "just" manufacture chips for Apple. Since AMD will be booming in the embedded business when/if HyperTransport takes off, they'll need the extra manufacturing space to produce their chipsets.
You're also overlooking a very obvious clue to the PowerPC 970 being the chip of choice for Apple: the fact that IBM has included an AltiVec engine (and by that name, too.) IBM has stated before and stated again that they will not be using AltiVec, that it's simply there for 2nd and 3rd party vendors to take advantage of.
Can you name one practical vendor that utilizes AltiVec other than Apple? I highly doubt IBM is catering to Amiga.
The whole thing about Apple being in talks with AMD is more plausible if it's put in terms of HyperTransport chipsets and software compatability, and not switching their entire platform over to AMD64. As noted before, IBM and Apple are both on the HyperTransport consortium, it's only reasonable that they need to talk to each other now and again regarding HyperTransport issues. If you see on The Register or some other place about Apple being a purchaser for chips from AMD, please keep in mind that it's most likely HyperTransport chipsets and not Opterons.
Okay, regardless of whether or not Apple ever designs X86 computers, if they did it wouldn't lower their profits. Why? They can still charge more their computers if the OS only runs on their version of x86 hardware! If it runs faster, the Mac faithful will be pleased. Sure someone is likely to hack it to work on a white box PC, but as far as average end users are concerned, it is not a big issue and any piracy issues would be easily offset by the number of new people buying slightly cheaper Windows compatible Macs. (Heck, I might even consider it.)
I also suspect that OSX (if written properly for a small set of sound/video cards) would be faster than Windows on the same machine. Even if it isn't, people crave the Mac experience. Mac users have never minded paying more. They don't even care that Macs are the slowest on the block right now. It's about the user experience folks. Plain and simple.
Niche marketing can be counter-intuitive, but it's also the classic question of whether you want to be a big fish in a little pond, or a little fish in a big pond. Apple chose the former, exerts great influence in its chosen market, and makes a profit in probably some of the worst years ever in the industry.
There are far worse business models, and technically it's nearly impossible to provide the kind of hardware-software integration that Apple currently sells without controlling the hardware. It's not so much they like being a hardware and software company as that they can only distinguish themselves in the market by also selling hardware.
Let's examine your business plan, where:
Apple could make a very nice transition to Opteron/Athlon64. [...] I also feel Apple should stick with PPC on the notebook side.
which in effect nearly triples the development effort for a Mac software vendor. First, you need to build and test an Athlon version (which is not going to be compatible with the Windows version), build and test a PPC version, and then test the PPC emulation version. Thereby making Apple's already small marketshare even more fragmented, when the obvious sensible thing to do is to get a new high end PPC CPU, drop the G3, and improve G4 compiler optimizations.
If PPC 980 (or whatever) turns out to be a big win over Opteron2, it's not that big of a deal to switch back.
That would be plainly insane. Apple's third party software vendors tend to be smaller, and would have a very hard time hopping from platform to platform. Even some big ones have not completed the OS X transition, and you're talking about going to x86 and back?
I think Cocoa programmers must be masochists, or perhaps Apple are sadists.
Spoken like someone who has absolutely no idea what he's talking about.
If you can't make the shift to OO concepts in programming, then yes: Cocoa's not going to be any fun for you. For those of us who don't like doing the same work over and over again for each app we write, Cocoa is a godsend.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I don't think you are entirely correct. First of all, IBM manufactures the G3 as far as I know. Secondly rumour has it that the G3 can go much much faster than it currently does. Apple does not buy faster G3's from IBM because it would look rather silly if your G3 had a higher clock-rate than your G4. (This is ignoring of course that the G4 has that altivec unit which means that it would still beat a faster G3 on altivec optimized apps. But your average consumer probably does not understand these things.) Advantage of getting everything from IBM? You keep your G3 line going, but ramp up the speed considerably. The G3 goes into low end laptops. You drop Motorola completely and put a powered down version of the 970 into your high end laptops. (Rumour again is that at 1.4 GHz the 970 consumes energy at the same rate as the current G4's). The downside? As you correctly observed, Apple then has all its eggs in one (IBM) basket. But the situation does not seem to be as bleak as you make out.
I was under the impression that fat binaries worked by having specific code for all supported architectures, not by being very high level, and thus could be as optimized as the programmers cared to make it.
Nicotine free Amish .sig.
There are several big differences though.
1. Most people using Unix on non-i386 platforms (or just Linux at all), are far more advanced than your average Windows/Mac users.
2. Most applications used on Unix are open source... That means the CPU hardly matters at all.
For Windows/Mac OS X, most software is binary-only, and companies are going to decide that it's not worth the effort of supporting processor X, when it only has a fraction of the users. So, which ever gains popularity will be the defacto only system to use, and users of the other will be out of luck.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
This is great and all, but it's still EMULATION. x86 support in the Itanium seems very 'tacked on', unlike AMD's idea of simply extending the regular x86 instruction set to the realm of 64 bit. The way I see it, AMD chips will always be faster than Intel at x86 stuff. And when everyone is changing over, that's CRITICAL.
I am a filthy pirate.
This actually reminds me of when Apple's emulation strategy back when they migrated from the old 680x0 series to PowerPC. It was well orchestrated and was actually something of a triumph for them. I hope that bodes well for Intel's attempt.
For Intel to have a long term future without the embarassment of junking the whole architecture, they need Itanium x to run IA32 credibly. Advances in x86 performance keep coming at such increasing development costs that I think they would have to be able to migrate the market to IA64 within 5-10 years from now.
I would like for both the IA64 and the Hammer architectures to flourish, but Intel's taken an extremely bold step with EPIC, and I don't want to see them get punished in the market for that alone. I like the spirit of aiming higher.
-- John Truong
The epic architecture is flawed in the sense that it can not run anything not in parrallel without having optimizations lost.
:-) I think what you're referring to is interleaving.
I don't think you really mean parrallel
Compilers that support interleaving can achieve parrallelism up to the number of stages on the pipeline (something ridiculus ia64 like 13 or something).
Now of course, if a compiler can optimize for interleaving without programmer intervention, a JIT can optimize for interleaving.
int func(int a);
func((b += 3, b));
Actually Java and .NET bytecode style applications are likely to beable to be better optimized than their C and C++ equivelants with a decent virtual machine when running on Itanium.
A VM bytecode program contains alot more structural information of how the original program looked than C or C++ programs. On the Itanium the compiler has to take a "best guess" or some profile data to compile for the most common program-flow, this is one of the largest factors that limit Itanium peformance since alot of the run-time hardware optimisations are n't and cant be there.
A VM could analyse program-flow and compile different versions of the same function, dynamically changing which is used for example.
Of course this does n't help the vast majority of C/C++ code out there, but your assertion is hardly correct.
Yep that's the difference between CS and the real world. The x86 ISA may not be the most elegant or clean but it is kicking the snot out of everything except maybe Power. Sure it can be seen as kludge on kludge but yet no one seems to be able to come out with something that beats it for perfomance without costing many times more.
There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
Back before Bill Gates and IBM's Entry System Division thrust Intel microprocessors into every other home on the planet, electronic systems designers were actively courted by Intel by their claim to developing products that won't invalidate all existing design work in one swell foop. And, for the most part, they held up on their end of that promise, which is why the Pentium 4 still has a little bit of the 8080 in it.
Now, when the i432 came out, it was a completely different beast -- and the i432 died a justified death. The i860 didn't fare that well, either. The i960 has seen quite a number of design-ins, because the solution base the i960 was geared to was sufficiently different from the 80x86 that designers didn't try to replace 80x86 chips with the RISC-based i960.
Intel, that was a clue.
What Intel didn't foresee, but should have, is the great technological bust of 1999 put a number of companies under. Source code has flown to the four winds, in some cases the foreclosures also nailed every single backup. In short, the migration path via recompilation was no longer an option. (Not to mention that there were no dollars to make even the most trivial changes to the source to deal with 64-bit processors.)
So this announcement is surprising only in that it comes so late in the product development cycle, as Intel is coming out with its second generation of IA64 chips.
Competition. It's a good thing.
If you make the emulator separate enough from the core of your new architecture, you can switch the power off when you're not using it. A number of big pieces of silicon in our lives do this, including mobile video solutions (I think the latest mobile radeons, and maybe some of the desktop chips as well?) and some CPUs.]
The only really good thing about a software solution is that you could have a microcode update, as you say, and of course it takes up space, that's always a bummer.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
From I read in the article, I think it is not an emulator per se. It is more like a just-in-time compiler/translator. Probably it is something similar to what the Transmeta Crusoe or Alpha FX!32 does. Both of these products already proved that you could do it in software implementation pretty efficiently.