|
What the change to Intel CPUs means for the Mac
by Curtis on Wed Dec 14, 2005 2:53 PM
After Steve Job's announced that Apple would be changing over to Intel CPUs many developers scrambled to figure out what they would need to weather this migration. Many users have no idea what this change even means for them, and rightfully most shouldn't need to worry about it. I'm going to give a little technical overview of the changes that are coming to the Mac. I'll then go over the steps that developers are taking to make this transition as seamless as possible. I hope that this will clear up some things for you.
First, this change is much different than going from a G3 to G4 or even a G5. These processors changes required modifications of the main logic board, but the processor architecture did not change. A processor's architecture describes how the processor interprets data and what operations it does (its instruction set). Since the mid 90's Apple has used PowerPC chips. This architecture is considered RISC (reduced instruction set computer). The idea behind a RISC is to have as few operations as possible and to make those operations execute very fast. In contrast the Intel CPU is x86 which is CISC (complete instruction set computer). CISC have instructions to do very complex operations. The penalty of this is that all instructions are slower. Immediately you might think that RISC is better, but this is not always the case. RISC processors have the downfall of being very difficult to program. The art of writing assembly programs seems pointless to most programers, and for the most part they are correct. But at some level all programs become compiled into assembly. This compiling step is currently much better for the x86 processor and very efficient code can be created from higher level languages with little trouble. This isn't to say that the same program couldn't be done better for a RISC computer, it would just take more work. One reason for this is the popularity of the x86 architecture, which has been used on common desktops for the past 20 years. This has also caused the x86 processors to become very optimized resulting in extreme performance. These optimizations make up for any speed loss the Intel chips suffer from their architecture.
At this point most users are saying, "thats nice, what's it going to do for me?" This is hard to say at this point. We can speculate about a few things though. Most importantly is better performance. It's no secret that Intel is putting more money into desktop processor research and design than IBM or Freescale (Motorola processor devision spin-off). More research means faster more efficient processors. Intel has shifted from pushing MHz higher to getting more computations per watt. This will give laptops longer battery lives and reduce the heat produced by the processor. These two things will lead to faster, smaller computers. It may be some time before these things are seen in Macs. There are rumors that there will be Intel Macs released in January, but as always Apple is keeping any hard facts under wraps.
By this point in time every developer has at least thought about migrating their applications to x86. This is a very important step as PowerPC binaries don't run natively on Intel chips. Apple has provided the Rosetta software to do on-the-fly translation, but this is not a final solution. Emulating an environment is inherently slow and is usually avoided when possible. For applications being developed with Xcode this should be an easy fix (unless you are using the Velocity Engine which is another discussion). Upgrade to the most recent build of the GCC (GNU Compiler Collection) and Xcode, turn on cross compiling and give it a try. If you already made the transition to GCC 4.0 there shouldn't be too many problems. In my experience the transition to 4.0 was more interesting than working out the dual binary builds. If you have problems check out Apple's Developer site, they have added a lot of resources for making this transition.
If you have any questions or comments feel free to post them.
|