Tagline

Beat the 5 o’clock rush – Leave work at noon!

This is the second CP podcast. The same RSS feed should work in whatever podcasting program you use, or you can download the attached file (bottom).

I was wrong. Gruber was wrong. Most of the Mac Web was wrong. The mainstream media was right. Hell is quite a bit chillier now, all things considered.

I could try to hold on to the idea of the PowerPC as the best choice for Apple and to find some way to lament this change; to blame the powers-that-be and call for a return to the technically-superior PowerPC line of processors. It’s really rather tempting, honestly. All the propaganda we’ve read over the years about Mac vs. PC always landed on the cleanliness of the PPC design and how it was a technically-superior processor. We know it has a shorter pipeline, it doesn’t have a ton of hacks to try and run older code, it (used to) use less power and generate less heat. We know this. We know it’s a good chip.

More than that, we know the industry knows it’s a good chip. All three major game console makers are going with a variant of IBM’s PPC chip for their next-gen game consoles (and they’re running at over 3 GHz, no less). Microsoft even used Apple’s G5s to develop for the platform. It really looked like PPC was going to be big.

Not Good Enough

But, as these things go, good technology won’t save your ass if you can’t get it out of the door. IBM couldn’t make enough high-end G5s and couldn’t get to 3 GHz in them. Apple even said so in its SEC filings:

The Company’s ability to produce and market competitive products is also dependent on the ability and desire of IBM and Freescale Semiconductor, Inc. (Freescale), the sole suppliers of the PowerPC RISC-based microprocessor for the Company’s Macintosh computers, to provide the Company with a sufficient supply of microprocessors … IBM is currently the Company’s sole supplier of the PowerPC G5 processor … IBM has recently experienced manufacturing problems with the PowerPC G5 processor, which resulted in the Company delaying the shipment of various products and constrained certain product shipments during the second half of fiscal 2004 and the first quarter of fiscal 2005. Manufacturing problems of either of these suppliers in the future, or failure by them to deliver microprocessors to the Company in sufficient quantities with competitive price/performance features could adversely affect the Company’s results of operations and financial condition.

This is a very bad position to be in to begin with, but this is not the first time Apple’s dealt with this with the PowerPC. Motorola had a problem getting the G4 to 500 MHz right out the door and caused huge problems at Apple (and it even caused a new computer to be made because of their inability to deliver: the Power Macintosh G4/350 (PCI) or “Yikes!” unit, a Smurf with new colors and a G4 inside, essentially). Not being the first time, or the second, this was getting old with me, the user, and certainly with those in power at Apple.

I remember using Rhapsody on Intel back in college. It was quite excellent and ran a lot like the Mac version. It was kind of disturbing to see Platinum on a PC, but I got over it. So when people started talking about Marklar I knew it was true. NeXTstep was multi-platform, handled binaries for several chips, and was generally capable of understanding that it wasn’t tied to its hardware. When I looked at Apple’s developer docs over the years it was clear that ability wasn’t being removed. Mac OS X was staying the course set by NeXTstep and being architecture-agnostic at its core. When Darwin/x86 came out it was just plain clear as day.

So when Steve said Mac OS X was living a “double life” for the past few years the surprise was more that he admitted it rather than he was doing it. I think we all knew they were doing it, that Marklar was true and that Mac OS X would someday, somehow, run on Intel again as Rhapsody once did. The question was how it would come to light.

It came to light in a typical “Steve” way. Marklar was an ace in the hole for Apple when it came to negotiations with other companies (this would be Motorola/Freescale and IBM). “Either make your chip run faster or we’ll leave you. We can do it in a year.” Now, when your whole company runs on one chip, your programs are built for that chip, and you have no visible path out of that scenario, it’s easy to take the threat with a grain of salt. It’s easy to believe that Apple would never do it.

It’s also very easy to underestimate what Steve Jobs will do when provoked.

IBM made Steve look like a fool in public. They promised Apple, promised him, that they would make 3 GHz in a year with the G5. Promised. A year later, they’d only added a paltry 500 MHz to the top speed of the chip. Two years later, only a 700 MHz gain. Intel added 1.5 GHz in two years. It was quite obvious that this was how things would be. Having said ace, it’s easy to see what had to be done with it.

Part of Marklar, we know now, was Rosetta: a technology to run PPC code on Intel at unprecedented speed. Not 100% live, but not Virtual PC-slow, either. Old programs would run, new programs would run faster, and new computers with their new chips would run faster still. If IBM had known about this, they didn’t behave like it. In Apple’s 2004 10-K there’s this gem:

Net sales and unit sales of iMac systems were down 23% and 16%, respectively, during fiscal 2004 versus 2003. The decrease in iMac net sales and unit sales was largely due to the delay in the introduction of the new iMac, based on the PowerPC G5 processor, primarily as a result of manufacturing problems experienced by IBM.

As recently as six months ago IBM still hadn’t gotten their act together, knowing that Apple wanted to jump ship. So, Apple did.

Now What?

Moving Macintosh to Intel has been compared to moving from Motorola’s 68000-series processors to their 60x-series PowerPC processors. This is not the same. The PowerPC chip had enough similarities to the old 68000-series that the emulation code wasn’t terribly bad and, especially with later chips like the 603, the PowerPC could run the older code at something approaching a reasonable speed. For many things, you simply didn’t notice (unless you were using a 601).

Will Rosetta do the same? Yes and no. On the one side, it’s a whole other processor, so pipelining and registers and all that nitty-gritty goodness is wholly different and will require some dancing to work right. Very intense applications will not run in emulation well.

That said, going from CISC to RISC (680×0 to 60x) was a chore because each CISC opcode translated into two or three RISC codes. This was a minor speed hit early on with the 601. Now we’re going from RISC to CISC where one opcode is, generally, one opcode. For lighter programs with light register usage, this means it could go very, very fast. Not quite real-time, but fast enough. It could go even faster if, and I’m sure it is, Rosetta is watching for Obj-C system calls and just calling them rather than emulating it all the way through. So, the emulation will be good for most applications but run like VPC for heavier programs.

Speak English, Buddy!

For those heavier programs you’ll want the native version, of course. Now generally, most recent programs developed in Xcode can just be recompiled and off they’ll go. Some folks, however, are in quite the bind for their Mac OS X programs. They’ve been with the Macintosh since the old, old days and may have started their program in MacApp. When that folded there was only one decent IDE left: Metrowerks. Since that’s been maintained for years and years there’s been little reason for many to switch from it. You know, until now. Companies having to switch IDEs (and frameworks and libraries, etc.) to Xcode will tack on a very large cost to their program in the form of time and effort. Many will not do this and live with emulation until Metrowerks develops Universal Binary support.

If history is any guide, expect Quark on MOSX/Intel in five-to-eight years.

What Does All This Mean?

Apple changed the processor that drives the computer. This is not just any old part change. You can’t reduce this and say “Apple just changed the chip in the middle of the computer, what’s the big deal?” It’s a very big deal. Apple cannot use the same logic board designs they have now. They can’t even use the same controller chips they use now. They’re going to have to start with an Intel reference design and chipset (like Centrino for portables) and either replace parts or build around Intel’s. The Macintosh logic board will be completely redesigned. In the world of car analogies, while moving from G4 to G5 was replacing the engine, we’re replacing the engine, frame, and moving to diesel in one fell swoop. The old stuff just won’t work.

That said, there’s a lot of things that will work. Now that the Macintosh will be binary-compatible with PCs we’re going to see mainstream installs of Linux and not just ports. We’re going to see Wine for the Mac. We’re going to see ways to load the Windows Media 9 DLLs to play our TiVo recordings (woo!). We’re going to see the same binary-level hacks for the Mac that Linux users have had to make to get by. Consequently, we’re going to clobber Linux.

We’re going to see faster computers because Intel is not the sole provider in the market. If Apple can go from PPC to Pentium in a year, they can go from Pentium to Athlon in even less time, with near-zero repercussions to developers.

We’re going to see Windows on a Mac. Either a native boot (with minor help) or with VPC running at native speed. Your Mac can run Mac OS X and Windows apps. Your PC can run Windows apps. Microsoft gets their money either way, so don’t expect anything other than VPC running like lightning.

When going to get hardware you’re not going to have to look too hard for a Mac logo, especially on video cards. Not only will they work unmodified on Mac hardware, all the Intel-based optimizations that Nvidia and ATI have in their drivers will port straight over. (DirectX optimizations, however, not so portable.)

All things considered, this could be a very good thing.

Or Not

It’s not all roses, though. We’ve lost some things, some very good things, and it may take a while to fully realize the loss.

We’ve lost the major element keeping Mac OS X off the PC users’ desktop. In doing so, someone, somewhere will run it on their white-box PC. Someone else will make it easier to do so and someone else will package that and ship it. In a year, perhaps two, Leopard will be on PC users’ desktops.

Effectively, Apple’s back in the clone business and has no say over it. Apple must stay ahead on hardware as well as keep Mac OS X pretty and kick-ass. Moreso, and this could be good or bad, benchmarks will mean something now. When comparing the Windows DirectX-using Doom 3 against the Mac OpenGL-using version the hardware will be the same and it’s down to software. Apple can’t slack and has to get that code up to spec pronto. There’s nothing more embarrassing than being slower at the same task with the same tools.

In that vein, Apple’s lost one of its performance leads: AltiVec. Commonly known as Velocity Engine, AltiVec allowed for 128-bit SIMD vector processing on the Mac and beat the ever-loving shit out of SSE3 (SSE) at similar tasks. Almost every graphical goodie before Tiger’s Core Image was done on AltiVec. Which, now clearly obvious, was a good reason for Core Image to offload that to the GPU. Apple’s obviously been planning for this for a while.

Mommy, Hold Me

There’s some general fears I hold about this, but first, a story. Let’s see if you can name the protagonist.

A long time ago, in a land called Callyfourneeah there was a man with a very nifty little computer with a niftier operating system. It was designed such that it was superior to the day’s computer in every which way, right down to the advanced operating system that powered it. However, it didn’t sell. It could have been the $10K price tag, or that it had no application base, or any other reason, but the machine was only used in niche applications like education and science for many years.

Over time, it was clear that the operating system was the real kicker and so the company changed the processor that powered the OS to Intel and started to sell the OS as the product, ditching the Motorola-powered hardware. Over time the OS gained a following, but never a big one, and right as the company was about to hit the ground it was swallowed by another company for its OS.

The same company which appears to be doing something quite similar.

Where will Apple be in ten years, now? Selling Mac OS X and fighting against Microsoft? Selling a very clean and usable Windows computer? The dominant PC maker, having beaten Windows to under 50% market share? In the exact same place? Who knows? All I know is that it’s the same man at the helm and it looks like the same direction.

Grab your balls, gents, we’re in for a ride.

AttachmentSize
cp20050608-2.mp43.11 MB
Comment viewing options
Select your preferred way to display the comments and click "Save settings" to activate your changes.
Submitted by ChrisDolan on June 8, 2005 - 11:50am.
Nice article. My main disagreement is this comment:
Consequently, we're going to clobber Linux
I think this is very wrong. Linux is free, in both senses of the word. The $129 price for OS X is prohibitive in many parts of the world, and in many segments of 1st world nations. Beyond that, Linux will continue dominate over OS X in the server arena due to stability and raw performance. And, most importantly, Linux doesn't need marketshare to survive, unlike commercial OSes, because its largely volunteer-driven. I concede that OS X may hinder the *growth* of Linux on the desktop, but I very much doubt that the Linux user base will shrink that much.
Submitted by cypherpunks on June 8, 2005 - 2:11pm.

Yes, the only way OS X will eat Linux will be by people hacking Darwin so OS X runs on any PC, and piracy.

For the main article, you’re wrong about the CPU change being more than a simple motor change. The P4 dev kits are virtually unchanged G5 towers with a slightly different northbridge and no OpenFirmware.

Submitted by Adam Knight on June 8, 2005 - 3:00pm.

You can’t have a “slightly different” northbridge and no Open Firmware. Look at the pictures others have posted. They put an Intel board in a PowerMac and called it macaroni…

Submitted by g. on June 8, 2005 - 3:25pm.

hi,
I just subscribed to your feed and had some “problems” with your mp4 file: for some reason iTunes does not want to load a file having an “.mp4” ending onto an ipod shuffle. mb it’s because I assigned .mp4 to a non Quicktime player, but if I change the filename to the more specific “.m4a” (mp4 audio) then everything works perfect.
It would be cool if you would consider delivering your audio only files with an m4a ending in the future…

Submitted by Adam Knight on June 8, 2005 - 6:37pm.

Noted. I’ll keep it in mind.

Submitted by sgallaghe on June 8, 2005 - 7:19pm.

While I agree that IBM didn’t deliver the goods in terms of speed with the G5, stating that in a similar period Intel added 1.5 GHz to their processors is a little misleading. Two years ago, both chips were at different speed levels, therefore the only meaningful comparison is in % increase, not GHz added.

Intel hasn’t been all that great at pushing the clock speed envelope over the last few years.

Submitted by Adam Knight on June 8, 2005 - 7:55pm.

Even at their top speed, they deliver in quantity. Something IBM was unable to do. This is the real point of that. IBM can get a single chip or two to 5 GHz. Getting a run of them there, or even at 3 GHz, has proven beyond their abilities.

Intel, however, can get a steady stream of 3.5+ GHz chips out the door.

Comment viewing options
Select your preferred way to display the comments and click "Save settings" to activate your changes.
User login