Mac transition to Intel processors

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by MeiStone (talk | contribs) at 08:22, 7 September 2006 (Reaction to the change: added fixup tag). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Jump to navigation Jump to search

The Apple Intel transition was the process of changing the CPU of Macintosh computers from PowerPC processors to Intel x86 processors. The transition began at the 2005 Worldwide Developers Conference (WWDC), when Apple Computer CEO Steve Jobs made the historic announcement that the company would transition from the use of PowerPC microprocessors supplied by Freescale (formerly Motorola) and IBM in their Macintosh computers, to processors designed and manufactured by Intel, a chief supplier for most of Apple's competitors[1]. The new Macs (dubbed "Mactel" or "MacIntel" by fans) run on Intel Core and Xeon x86 processors.

Apple's initial press release indicated the transition would begin in June 2006 and finish by the end of 2007, but it actually proceeded much more quickly. The first generation Intel-based Macintoshes were released in January 2006, and Steve Jobs announced the last models to switch in August 2006, with the Mac Pro available immediately and with the Intel Xserve available by October 2006.[2]

Timeline

  • February 28, 2006: Jobs announces that the Mac mini now also comes with an Intel Core chip, in either the Solo or Duo varieties.
  • April 5, 2006: Apple announces the release of Boot Camp which will allow users of Intel based Macs to run Windows XP.[3]
  • April 24, 2006: Apple announces the 17" MacBook, replacing the 17" PowerBook.
  • April 27, 2006: Intel announces that processors with the Intel Core Microarchitecture would be released months sooner than previously thought.
  • May 16, 2006: Apple announces the 13" MacBook, replacing both the iBook line and the 12" PowerBook.
  • July 5, 2006: Apple announces a special educational configuration of the iMac, replacing the old G4 eMac.
  • September 6, 2006: Apple announces iMacs with Intel Core 2 Duo, from 1.86 GHz to 2.33 GHz

Precedents

The Macintosh line underwent a similar transition between 1994 and about 1996, when Apple switched from Motorola's 68K series of chips to IBM/Motorola PowerPC processors, developed jointly with Apple and IBM. This took several years, during which Apple produced versions of the Mac OS which could run on either platform, introduced fairly low-level emulation of the 68K architecture by the PowerPC models, and encouraged third-party developers to release "fat binaries" that could run natively on either architecture.

More recently, Apple has transitioned the Macintosh from the earlier Mac OS to Mac OS X, a Unix-like operating system. This transition also took a number of years (a small percentage of older Macintoshes still run the earlier operating system), and was facilitated by the inclusion of Classic, an environment in which an instance of Mac OS 9 could be run, permitting the execution of programs which had not been ported to Mac OS X, as well as the introduction of Carbon for Mac OS 9 and Mac OS X, allowing programs to run natively on either system.

A long-rumoured internal project within Apple (rumoured to be called "Marklar"), was designed to ensure that builds of Mac OS X remained largely as portable as its predecessor NeXTSTEP, so as to compile for both PowerPC and x86-class processors. Jobs confirmed this, stating that every version of OS X had in fact been compiled for Intel processors as well as PowerPC. It is not publicly known if Apple maintains current builds for any other architectures.

Reasons

Jobs stated that Apple's primary motivation for the transition was their disappointment with the progress of IBM's development of PowerPC technology, and their greater faith in Intel to meet Apple's needs. In particular, he cited the performance per watt (that is, the speed per unit of electrical power) projections in the roadmap provided by Intel. This is an especially important consideration in laptop design affecting hours of use per battery charge.

In 2003, Jobs had introduced Macintoshes based on the PowerPC G5 processor and promised that within a year the clock speed of the part would be up to 3 GHz. Two years later, 3 GHz G5s were still not available, and rumours continued that IBM's low yields on the POWER4-derived chip were to blame. Further, the heat produced by the chip proved an obstacle to deploying it in a laptop computer, which had become the fastest growing segment of the personal computer industry. It is rumoured that Steve Jobs had been considering Intel since his return at Apple. However, limited resources and steady speed improvement of the PowerPC family (up until the G5) kept Apple with IBM.

Some observers were surprised that Apple had not made a deal with AMD, which has in recent years become a strong competitor to Intel, sometimes introducing technologies more quickly than the traditional industry leader. AMD's shorter track record and smaller production capacity, and Intel's significant brand awareness among the consumers and ability to also provide Apple with complete motherboard designs, have been offered as possible reasons for the choice of Intel. Also, as the laptop market was cited as a major reason for the switch, Intel was a more appropriate choice than AMD, as the Pentium M line of mobile chips has been proven to deliver better performance and lower heat than AMD's rival Turion 64 chips[citation needed].

Benefits of the move

Advocates of the transition point out the potential for the new Intel Macintosh systems to run four classes of software at near native speeds: OS X binaries; Java/.NET applications; GNU applications and potentially now Win32/x86 applications. No other hardware vendor can offer more than three of these.

Originally, emulation software such as DOSBox or Virtual PC was required in order to run x86 software on the Macintosh platform. Such software could now enjoy much more success with near-native performance through virtualization. For those customers wishing to achieve a more conventional environment, a dual, triple, or even quadruple boot solution would likely be possible on an x86 Apple device. Apple has already indicated they do not intend to take steps to prevent other operating systems being deployed on their new machines, and have subsequently released the Boot Camp software (including Windows drivers for Mac hardware) to facilitate setting up a dualboot system.

Although most games depend on the use of DirectX APIs not available for the Apple architecture (on either processor type), it should be easier to port API-independent code now that developers no longer have to resolve endian issues associated with moving from x86 to PowerPC.

Hurdles associated with the move

Reaction to the change

Within the Mac community, rumors of a switch to the x86 architecture had surfaced in years past but had never materialized. Claims of the superiority of the PowerPC architecture were common, sometimes even playing a key part in Apple’s own advertising. Some open source advocates and hardware geeks had appreciated, as consumers, the availability of a personal computer whose components derived nothing from the so-called “Wintel” combination. With that separation gone, and old alliances redrawn seemingly overnight, many longtime Mac users expressed concern about the platform’s future, questioning whether Apple’s brand identity would be preserved. Among the specific concerns:

  • Rosetta, the PowerPC dynamic translator, which (when first announced) only emulated a G3 at 60-80% of a similar power CPU's clock speed;
  • Classic, the Mac OS 9 virtualization for Mac OS X, cannot operate on the x86 architecture, leaving the new Intel-powered Macs incompatible with original Mac OS applications without a proper third-party PowerPC emulator;
  • the quality and performance of Intel's chipsets;
  • the x86 architecture itself, and whether it would affect system performance and application quality;
  • concerns over issues of endianness (see discussion, background, and etymology);
  • reduced floating point performance in real world applications relative to equivalent or contemporary PowerPC processors;
  • the possibility of Windows and Windows applications running natively on Mac hardware, possibly killing off Mac OS X and/or applications developed for it;
  • the early announcement of the change causing an Osborne effect; and
  • the possibility that Intel could force Apple to use the Intel Inside branding, which was (and is) generally scorned within the Mac community as tasteless, even aesthetically repugnant.[citation needed]

Many of these fears were put to rest at Macworld 2006 with the arrival of the first Intel-based Macs.

  • Rosetta was improved to offer much faster speeds than originally demonstrated (though benchmarks suggest that PowerPC code still does not perform as well under emulation on Core Duo iMac as it does on a G5 iMac[5]).
  • Intel's new Core Duo CPUs perform nearly as well as the most powerful Power Macintosh G5 towers, and outperform the G5 chip in the 2005 model of iMac on both integer and floating point SPECmark tests.
  • Limited compatibility with legacy Classic Mac Applications could be achieved by using emulators such as vMac, Basilisk, and SheepShaver running on either Mac OS X or on Windows running on an Intel Mac.
  • Applications native to both PPC and Intel-based Macs such as Safari web browser have been demonstrated to perform better on the Intel-based Mac than on the PPC.
  • Fears of an Osborne effect were dismissed after sales of Macintosh computers for the Christmas 2005 quarter were higher than the previous Christmas, leading to an increase in Apple's PC market share.
  • The Intel Inside branding did not appear on Intel-based Macs like the MacBook, MacBook Pro, iMac, or Mac mini.

Viruses

In some quarters there have been fears that the use of Intel processors would render the Macintosh vulnerable to Windows viruses. Virus code is specific to the operating system or environment it affects, not merely the processor type. PowerPC processors enforce some restrictions on the alignment of executable code, which could make exploiting certain vulnerabilities less difficult on an Intel CPU. Regardless of CPU architecture, a user on Mac OS X is by default granted a lower level of privilege than on Windows XP. In the absence of a privilege escalation exploit, malicious software running under Mac OS X would only be able to damage files writable by a particular user, but not core system files. Viruses which interact with the system at a very low level would also have to contend with a different system architecture, kernel, APIs and filesystem. Vectors of exposure such as ActiveX and Outlook should also not be a problem, since neither runs natively under Mac OS X. Vulnerabilities such as the WMF problems in Windows would also not be directly applicable, but similar issues may potentially exist.

Hardware-oriented

There are questions over the extent to which Apple will retain control over the non-processor components of the system design. Apple is traditionally a systems builder, and some fear that Apple's industrial design philosophy may be affected if the company switches to non-Apple parts. Others note that Apple has slowly been switching to standard parts since the introduction of the PCI Power Mac in 1995, and say that using a non-Apple chipset in itself would not harm the Mac's image.

The new Intel Macs employ a new Intel technology for firmware, Extensible Firmware Interface, not the Open Firmware Apple had been using. EFI removes the traditional PC reliance on the BIOS while providing more functionality.[6] However, Intel has also designed and marketed EFI as a platform for trusted computing, Apple's use of which remains to be seen.

The use of the x86 architecture allows Windows to run natively on Apple hardware, and opens the possibility of using the Wine package to run Windows executables directly. Some fear that the change will make OS X a less valuable target for software developers, since OS X users can use a dual-boot setup, or, perhaps, Wine, to run Windows apps instead. Others say that it could be a boon to switchers, since they would not have to leave their Windows applications behind while trying out OS X. The idea of OS X being available on regular PCs has also been discussed, but Apple has said that they will not allow regular PCs to run OS X. It was previously thought that since XP is incompatible with the Extensible Firmware Interface, it would not be run on Intel-based Macs.[7]. Prior to the Boot Camp announcement, a prize contest[8] resulted in a working solution for dual-booting Windows XP and Mac OS X on an Intel Mac. Microsoft has announced that Windows Vista will not be EFI-compatible on 32-bit platforms, but Apple has thus far not given any reason to doubt that it will be possible to run Vista on an Intel Mac. In fact, some users of Vista public beta 2 claim to have managed to get it to run on Intel-based Macs.[9]

Intel was seen among the Macintosh community as a purveyor of hot-running chips (especially the Pentium 4). Apple themselves mocked the Pentium range in their "Toasted Bunnies" advertisements of the late 1990s. However, the Pentium M chips, which were designed for laptop use, run much cooler than the Pentium 4. Apple claims the new Intel Core chips, which are based on the Pentium M microarchitecture, have dramatically better performance per watt than the PowerPC G4 and G5.

Finally, the relative quality of the x86 architecture has been discussed. Critics of the switch say that x86 was a poor choice because of its lack of hardware registers compared to the PowerPC, the awkwardness of the x86 instruction set, and the lack of AltiVec (also known as Velocity Engine). Proponents have responded by saying that the x86 architecture has evolved greatly since the original 8086 was introduced, and that CPUs in general have combined RISC and CISC philosophies in their internal designs for some time, making the distinction obsolete. They also point out that improvements to coming versions of SSE may equal AltiVec, and that most programmers rarely deal with x86's peculiarities now because the compiler does the work.

The Core Solo and Core Duo chips are 32-bit designs. On August 7, 2006, Apple released the Mac Pro and Intel-based XServe, introducing Intel 64-bit EM64T architecture into the lineup through the use of the Xeon processor.

Existing applications

File:Universal Binary Logo.png
The Universal badge indicates software that will run at full speed on both PPC and Intel Macs.

Java applications that don't rely on Java Native Interface, Dashboard Widgets, and scripts that execute inside an interpreter all work immediately on both processors and are immune from changes. OS X applications that can't be migrated run inside a PowerPC dynamic translator on Intel called "Rosetta." Rosetta was originally limited to a G3 instruction set, but now currently supports AltiVec and the G4 instruction set, leaving only the G5 additions unsupported. Rosetta is an instruction translator comparable to the 68K emulator that allows PowerPC Macintoshes to run pre-PowerPC code, rather than a virtual system like Classic; it does not require a second operating system to be loaded as a subsystem before the application can work.

AltiVec itself has been encapsulated since Mac OS 10.3 by a vectorisation library; this library automatically selects between AltiVec on the PowerPC and SSE (or equivalent regular instructions) on x86.

A new version of Xcode has been released that supports the generation of Universal Binaries for Intel and PowerPC, the new system's equivalent of the earlier 68K-PowerPC fat binaries. Cocoa applications can be ported simply by recompiling them and checking for endian problems. Carbon applications may require some additional tuning, but not of the complexity of the transition from Mac OS 9. Applications written using Metrowerks CodeWarrior suite will need to be modified; those which use PowerPlant will run after some code changes, described by Apple and Metrowerks. Metrowerks does not appear to have announced the future direction of its compiler suite after the transition, although it has sold its x86 Compiler/Debugger technology to "a third party."

Classic will not be supported on the x86 architecture. This means that pre-Mac OS X software will not be able to run on Mac OS X out of the box, to which some users running older applications (such as QuarkXPress 4 and 5) have objected. (This also represents the first time in the history of the platform that applications dating from 1984’s original 128k Mac have been unable to run on a stock Mac.) However, third-party emulators, such as Mini vMac, Basilisk II, and SheepShaver, have been ported to Intel-based Macs, allowing some pre-Mac OS X software to run.

References