Dan Crevier's Blog

In search of a better name...

Thoughts on Apple on Intel rumors

Rumors are flying that Apple will announce a switch to Intel processors on Monday. This wouldn't surprise me much. I think Apple hates being dependent on IBM for processor advances, which are critical for them to be competitive. Apple has successfully made it through a couple of other large jumps like this - first from 68k processors to the PowerPC, and from Mac OS 9 to Mac OS X.

The timing seems pretty good. When there were rumors about this a couple of years ago, it was just after developers had spent a bunch of time and money upgrading their applications to run on MacOS X by carbonizing them or rewriting them. It would be really tough on developers to ask them to turn around and do the Intel work (meaning they have no time for feature work). Customers don't really appreciate the huge amount of work that can go into changes like this and don't like to spend money on an upgrade that just makes an application run like it used to, but on an updated platform.

One of the technical hurdles for many applications will be the the difference in endian-ness between the two processors. Say you have a 2-byte variable with the number 1 stored in it. On a PowerPC processor, the first byte in memory will be 0 and the second byte will be 1. On an Intel processor, this is flipped around. So, if an application writes binary data to a file, the developers will need to do work to swap bytes around as it reads/writes. As another example, Unicode strings are made up of two-byte characters and are typically put onto the clipboard with big endian (PowerPC) byte layout. Applications will have to figure out the byte order and swap if necessary. Luckily, Unicode has a standard mechanism to help with this problem - a byte order mark at the beginning of the string. There are a few factors that will help out with the file format issue:

  • XML has been taking off as a popular file format, which doesn't have endian issues, except in any embedded binary data.
  • Many of the big applications are cross platform already and have probably dealt with the endian issues to some degree.
  • Cocoa apps can rely on Cocoa to serialize data, and Apple can do the endian work so developers don't have to worry about it at all. 

There's also the obvious problem that code written in PPC assembly won't work. However, I don't think there's a whole lot of that around any more. Virtual PC is one of the biggest exceptions I can think of, but that's a whole 'nother story :-)

When Apple switched to the PowerPC chips, Apple failed to provide good tools to developers, and Metrowerks appeared to save the day with an awesome new Mac development environment with great PowerPC support. Over the last few years, Apple has been putting more and more effort into powerful free development tools for the Mac, driving people away from Metrowerks. I wonder if this change will be the nail in Metrowerks coffin... That would be too bad.

Isn't it interesting times when the X-box is moving to PowerPC and Apple is moving to Intel?

 

Published Saturday, June 04, 2005 11:25 AM by dancre

Comments

 

Luxury Guide the Lifestyle and leading up-market lifestyle portal for luxuryguider and resources for luxurious goods and top quality product brands said:

I'm personally disappointed that there's no rumors of Apple in talks with AMD. Currently they're the leader in 64-bit procs as it is... I don't see why they'd want to go with intel unless because of their production facilities they would be able to pump out more and cheaper lower-grade 64-bit procs than AMD... which I suppose is plausible.. but you'd think they'd want to support someone who's not necessarily a MS lapdog.
June 4, 2005 12:22 PM
 

jw said:

Apple has been maintaining x86 versions of several of their APIs for years. Applications that are written on top of them would need little modification.

Recall that NEXTSTEP developers managed to support four different architectures simultaneously (68K, PA-RISC, SPARC, and x86), and Apple's developer tools support the generation of PowerPC and x86 FAT binaries out of the box.

I've also heard speculation about Apple looking at a certain code translation technology that promises close to native speeds. Of course, that doesn't change the fact that the PowerPC's SIMD unit is vastly superior to SSE-2.
June 4, 2005 1:11 PM
 

Thomas said:

I doubt very very much they will move to intel.
The PowerPC is an incredibly efficient architecture, much more than the x86.

Theres the endian issues, the fact that G5 is fully 64 bit (and 32 bit), they have full 64 bit support in the OS, and that IBM & co is bringing out cell soon. If anything I'd expect them to move up to cell.
June 4, 2005 2:31 PM
 

dancre said:

The OS does not have full 64-bit support. I posted on this previously: http://blogs.msdn.com/dancre/archive/2004/12/23/331632.aspx

With regards to AMD, in my opinion, it doesn't matter so much who they intially go with. They can fairly easily switch later.

Knowing Apple, if they announce, they'll probably go along with some suprise announcements from Intel.
June 4, 2005 11:16 PM
 

Jake Hoelter said:

I wouldn't be too surprised if this is true. Although it will throw our Virtual PC 8 plan into a tailspin <sigh>.

As for PowerPC being more efficient than x86, well, yes it is a much cleaner instruction set architecture. But there are mitigating factors: Intel has lots and lots of $$$ to spend, and they've done some amazing work given the, shall we say less than ideal, x86 ISA. Add to that some of the cleanup of the ISA in x86-64 (most importantly more GPRs). Add to that the realization that as CPUs become ever larger with greater parallelization (i.e. more execution units), the extra circuitry for breaking down the overly-complex x86 ISA becomes a smaller percentage of the silicon, and therefore less a factor in performance versus other architectures. IBM's PowerPC 970 is a really great chip, but Intel and AMD are producing some excellent CPUs, and probably for less money.

As for Cell, it's not for the desktop, and you're not going to see it in a Mac. It's carefully designed to be very efficient at manipulating data for generating highly detailed real-time 3D graphics. In other words, for a game console. There are better ways to spend your silicon budget for a desktop Mac, and Apple knows what those are. Cell ain't it.
June 4, 2005 11:56 PM
 

shahine.com/omar/ said:

June 7, 2005 1:10 AM
 

shahine.com/omar/ said:

June 7, 2005 1:23 AM
 

shahine.com/omar/ said:

June 7, 2005 1:24 AM
 

Dave Cortright said:

So it's official; Apple's going with Intel chips. As far as I can tell, Steve Jobs gave the virtual finger to the big ISVs right there in the keynote:
"Carbon Apps --Metroweks -- Jobs says to transfer to Xcode."
http://www4.macnn.com/macnn/wwdc/05/

Still, I think this is a great opportunity for Microsoft to get their apps running on Macs.
http://blog.360.yahoo.com/blog-0ZFmUbk1erC6prHGUJbW_UclZ3O1Sw--?p=81
June 7, 2005 11:25 PM
 

dancre said:

June 7, 2005 11:28 PM
 

JB said:

Do we really know that the the PowerPC and the replacing X86 processor are functionally equivalent? Allen Turing proved long ago that all processors are potentially equivalent insofar as their ability to realize an algorithm. This does not mean that processors don't have critically different side-effects that have nothing to do with the apparent algorithm being realized. Let me try to be specific.

The PowerPC has a Branch processor where all program branches are executed. This means that if the action at the branch processor is monitored, (by splicing some instructions in), it is possible to generate a reliable account of what instructions were executed in a procedure. In other words, the PowerPC's architecture makes it an intrinsically ACCOUNTABLE to machine code audit. A consequence of this is that in principle it is possible for software to know if it is being spied on or manipulated from a source outside the program itself. (See, for example, "Implementing Cardinal[Time][.] on the PowerPC" at
"www.geocities.com/grok_32/v1/LanguageSpecification/Transit/Time/Processor/Procesor.htm".)

To the best of my knowledge, this characteristic of being ACCOUNTABLE is not true of Intel processors (please correct me if I am wrong!). This fact is consistent with Intel's interest in hardware solutions to satisfy Copyright Interests and various features to restrict, encrypt and appropriate code.

Here is my paranoid thought:

The real reason the Mac is going Intel is because the processor has
hidden branch processes which are intrinsically undetectable. This means,
anyone running an Intel processor can be monitored without detection.
In other words, big Capital has decided that the general public must
have machines that can be monitored without their knowledge. This serves
the combined interest of the "War against Terror", and the need to
enforce Copyright.

The "newest Intel chipsets, like the 945g, support Intel Active Management Technology, which allows for on chip control of all kinds of I/O." Who benefits from this kind of thing? This looks like the PERFECT eavesdropping technology. Intel will deliver all the Computer Literati's Intellectual Property to big Capital's door. Sweet... if you have stock.

If someone wants to prove me wrong, then they have to show an algorithm
which can be used to account for all machine instructions used by any
procedure on an X86 machine.

Please... PROVE ME WRONG!

Jack B.
June 9, 2005 11:48 AM
 

shahine.com/omar/ said:

June 13, 2005 4:38 PM
 

gavinshearer.com said:

The Web is alive (freaking out, really) with the News.com report that Apple is planning on unveiling a new generation of Macs with Intel chips at Monday's WWDC conference: Apple has used IBM's PowerPC processors since 1994, but will begin a phased transition

June 2, 2007 3:53 PM
New Comments to this post are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker