18 Comments

Summary:

Steve Jobs, known for his suprises, dropped the Mother of All Surprises at the WWDC Keynote this morning: Macs will be running on Intel processors by WWDC 2007. In fact, he had a few running on Intel machines this morning for his demos, with more showing […]

Steve Jobs, known for his suprises, dropped the Mother of All Surprises at the WWDC Keynote this morning: Macs will be running on Intel processors by WWDC 2007. In fact, he had a few running on Intel machines this morning for his demos, with more showing up in the Mac OS X State of the Union. What does it all mean? Has His Steveness lost his mind? Isn’t the PowerPC superior and isn’t that why we were using it in the first place? What about Altivec? The developers are going to all switch to Windows!

Relax. It’s not nearly that bad, and there were some good reasons for the switch that make sense. The first problem that the PowerPC roadmap was running into was power-per-watt, or how much computer power you get out of the processor for every watt of electrical power you put into it. Having the most energy-efficient processor is a good idea for desktops. It’s absolutely crucial for laptops, who are designed if needed to run off of internal battery power. The PowerPC roadmap was showing modest increases in this category while Intel’s roadmap was showing more sharply increasing efficiency. The other thing was Intel’s processor’s being able to run cooler than the G5. Remember when the G3s and G4s came out? One of the pluses for those processors was that they ran cooler than the Pentium II and III, to the point where Apple experimented with convection-only cooling with the Cube. The G5 desktop comes out and the mantra became “the more fans, the better”, to the point of introducing water cooling. You have blazing power with the G5, but the keyword is blazing. One big reason why we haven’t seen the G5 laptop is because nobody at Apple wants to get sued for charbroiling the laps of their laptop users.

With the new processor comes a new challenge though: How do I make my apps, the ones that I absolutely rely on, work? Will they not work? How can they work?

Here, Apple’s been laying some of the groundwork for a number of years as a private insurance policy. Every version of OS X, from 2000 onwards, has been written for both x86 and PowerPC. Not the applications, just the OS. With XCode 2.01, they’ve been working on XCode tools to allow Cocoa and Carbon application developers to tweak and recompile their existing applications into an Intel/PowerPC “universal” binary. For those that remember the 68k/PowerPC changeover, think of the FAT binaries. There, the application, on launch, checked to see what processor they were running on. If they were being launched on a 68k machine, they’d switch to the 68k-compatible code in the program. If they were launched on a PowerPC, they’d switch to the PowerPC-compatible code. The application appearance wouldn’t change, nor would the functionality. From what I can tell, the same philosophy is behind Apple’s new Universal programs.

Of course, not everything’s going to be recompiled and Apple’s committed to supporting PowerPC-compatible apps to support the huge PowerPC Mac user base they’ve already got. To take care of this, Apple’s introduced Rosetta. I’ve stolen the following description of what Rosetta does (and doesn’t do) from Appendix A of the porting guide:

Rosetta is a translation process that runs a PowerPC binary on an Macintosh using an Intel microprocessor—it allows applications to run as nonnative binaries. Many, but not all, applications can run translated. Applications that run translated will never run as fast as they run as a native binary because the translation process itself incurs a processing cost. How compatible your application is with Rosetta depends on the type of application it is. Applications that have a lot of user interaction and low computational needs, such as a word processor, are quite compatible. Those that have a moderate amount of user interaction and some high computational needs or that use OpenGL are, in most cases, also quite compatible. Those that have intense computing needs aren’t compatible. This includes applications that need to repeatedly compute fast Fourier transforms (FFTs), that compute complex models for 3-D modelling, or compute ray tracing.

Rosetta is designed to translate currently shipping applications that run on a PowerPC with a G3 processor and that are built for Mac OS X.

Rosetta does not run the following:

* Applications built for Mac OS 8 or 9
* Code written specifically for AltiVec
* Code that inserts preferences in the System Preferences pane
* Applications that require a G4 or G5 processor
* Applications that depend on one or more kernel extensions
* Kernel extensions
* Bundled Java applications or Java applications with JNI libraries that can’t be translated

In short, this will let PowerPC-native apps run their code through a translator that tells the Intel processor what it should be doing. As you’ve noticed, there are some limitations, but on the whole Rosetta should allow most PowerPC-native apps to run on Intel-native Macs without recompiling. Once again going back into Apple history, Rosetta is similar in function to the 68k emulator that Apple embedded onto its PowerPC chips to allow the users to continue to run 68k applications. The emulation imposed a speed hit, but the processor was faster overall so the perceived hit was pretty minimal. From what I’ve seen, Rosetta promises to perform similarly.

What’s this all mean? Will you be able to run OS X on a Dell? Is this the end of Apple? No, and no. In short, here’s what it all means: Apple wants faster processors for their Powerbooks that won’t blister people’s legs from the heat of the processor. It wants them to run cooler, so the desktops don’t need eight fans. It wants them to run with more computational power per watt of energy, so your laptop battery will last longer. PowerPC couldn’t take them where they wanted to go, so they’re switching to something which can.

  1. I seen it all aswell and can only say that this is something that would happen soner or later so this is good. Apple will still ahve their own HW so this is grate- my thoughts is dont worry be happy.

    Share
  2. I guess it means I’ll stick to my 5 year old G3 iMac for another year or two – I might jsut as well save myself the money and annoyance of buying a machine which will soon be completely obsolete – I suspect an awful lot of people will do the same.

    I suppose I can understand Apple taking this decision as there really hasn’t been much progress in the PowerPC world for years – none of the processors from the G3 onward ever reached the speeds that were originally claimed for them and the G5 was a fudge – Apple bought whatever IBM had to offer – it does cause worries that Macs will be losing their distinctiveness and just become PC in fancy boxes with a fancy GUI on top

    Share
  3. In reading news and analysis this morning, to me, it’s obvious that the key thing in this Apple/Intel thing hasn’t sunk in yet. Basically, Apple announced they will be CPU agnostic, they can use whatever processor family is the best for the application/hardware at hand. It just happens to be low power/heat for laptops at the moment. The key here is that the whole personal computer space is morphing toward consumer electronics and just like you don’t know (or care) what cpu is running inside an iPod, in the future you won’t care (and it won’t matter) what cpu is running inside your computer. The guts will be irrelevant to both the end user and the developer, they can choose whatever works best, it will all be about the operating system (interface) and your interaction with it. This is a major change. The fact that Apple has pulled this off with both OSX and their developer tools (programming kit) is quite a feat. And if they can do it with Intel, they can probably do it with whatever they need.

    So far it seems, the analysts/reporters have missed the whole point of “cpu agnostic”. Pretty exciting!

    Share
  4. How will a Mac bought today be obsolete before it’s 5-year run is over? Any software you use on it will continue to work for 4-5 years. MacOS upgrades will likely work or at least have the same risk as if Apple went to a “G6″. You won’t be able to officially upgrade the CPU but who does that these days when you can get a brand new Mac mini for 499 or a refurbished iBook for 799?

    How did a Mac gain distinctiveness by using a PowerPC (or 68k before that)? Is an iPod distinctive because it uses a PortalPlayer chip? Probably not, since not all of them use that chip.

    This is a great move by Apple. The forethought and planning will one day be a business school case study.

    Share
  5. [...] ting system? Two words: Hell No. OS X is still going to be OS X. Apple is still Apple. As Rich says, Apple just wants to move to a har [...]

    Share
  6. What about “carbon” apps. I have no “Classic” stuff left I can’t live without, but “Carbon”– that’s another story.

    Share
  7. [...] by Rich Trouton In yesterday’s write-up,I included Apple& [...]

    Share
  8. Rich Trouton Tuesday, June 7, 2005

    Tom,

    Carbon apps will need to have their code fixed, with probably a longer time to fix than Cocoa apps will need. Currently, Apple’s estimating 2 weeks to fix a Carbon app as opposed to 2 days for a Cocoa app. However, Apple’s inclusion of Rosetta should mean that an unfixed Carbon app should continue to run fine. For example, during the demo in the Keynote yesterday, Steve Jobs fired up Word and Excel, two Carbon apps that launched and didn’t crash. Admittedly, he didn’t work much with them during the demo before quitting back out of them, but getting them to launch successfully on Intel is half the battle right there.

    Share
  9. I just about giggled myself silly when I saw the Kent Brockman title line from The Simpsons. That was great!! (And needed after perusing all the mopey “I’m gonna miss PPC…boohoohoo” stuff I’ve been reading.

    Share
  10. Al Fargnoli Tuesday, June 7, 2005

    OMG, the x86 architecture is hitting a brick wall with the Pentium 4 630 only 2% faster than the 530. It wasn’t the best choice when IBM picked it for their PC, just the cheapest. I don’t know what Apple thinks they’re doing, but after buying 4 Macs over twelve years, I’m pretty certain I won’t be buying a fifth.

    Share

Comments have been disabled for this post