There are many ways to upgrade your Mac to improve its performance. You can add more RAM, a faster hard drive or CD-ROM, a backside cache, a faster processor of the same type that you are already using, or an altogether new type of processor that's faster and more efficient than the last one. Usually, the last option provides the most bang for your buck.
But putting a new processor into a Mac that wasn't designed for it requires some top-notch engineering. The latest round of upgrades, which capitalizes on the new G4 processor, is no exception. Here's a review of the major problems facing this round of upgrades -- and the solutions to those problems, if there are any.
Before anyone produces a processor upgrade for the Mac, they must first consider how the upgrade will fit into that Mac. For example, the most efficient way to put a G4 upgrade into a blue-and-white Power Mac G3 is to put the G4 on a ZIF (Zero Insertion Force) daughtercard, and then use it to replace the existing G3 ZIF daughtercard in the Blue and White G3. However, some older Macs don't have ZIF sockets, and they have to be upgraded through the processor slot -- the slot where the original PowerPC 604 processor resided. And the list goes on -- suffice it to say that different generations of Macs have different upgrade methods.
Whenever a new processor is developed by the AIM consortium (Apple, IBM, and Motorola -- the troika that brought the PowerPC to market and are driving its development), all of the makers of upgrade cards immediately investigate how they might put this new processor into an upgrade package for your Mac. One of the first problems that upgrade engineers consider is which upgrade method is best suited for a given Mac model and what engineering problems there may be. Then, because of the exceptional competitiveness of the upgrade market, they get straight to work on solving their engineering problems in order to get a product to market.
One of the main problems encountered while bringing G4 upgrades to market involves speculative processing . This is not an issue unique to G4 upgrades. The earlier round of G3 upgrades foreshadowed this problem when some G3 upgrades failed to operate properly with certain SCSI cards and other peripherals. These issues only pertain to G3 or G4 upgrades that use the processor slot -- this includes Macs like the 7300 and 9500, but not any Mac that came with a G3 processor.
All Mac processors since the Motorola 68020 have used speculative processing to increase performance. The idea is that all processors have down time -- time where they are waiting for data from memory or some other slower part of the computer. To make the best use of this down time, the processor will look at the instructions coming down the pike and guess about what data it may need to process, moving that data into its cache. If the processor is given a command it has already anticipated, it will react much faster -- because it's already got the data in hand.
When Apple makes a Mac, it designs it so that all of its parts work together properly. However, when a new processor is installed into a Mac that wasn't specifically designed for it, the balance can be disturbed. Upgrade-card makers must make sure that the new processor will work with the older Mac.
The G4 communicates with the other components of the Mac differently than the PowerPC 604, so you can't simply plug in a G4 processor and hope that it will work.
Processors only communicate with RAM. For example, when data comes from your hard drive, it is first read from the drive and then transferred into a RAM cache for the processor to retrieve. The processor has a set of addresses (a "map") for all of the components in your Mac. This map tells the processor that incoming data from your mouse is stored here, main memory there, and so on. This map is stored in your Mac and is one of the first things that the processor looks for on startup.
As you can imagine, if that space isn't mapped out properly, the processor will make mistakes. A major problem occurs when the processor speculates. If the map is misconfigured, the processor may view the space designated for the hard disk, rather than RAM. Normally, when the processor peeks ahead into RAM to see what's coming, it doesn't do any damage. But if it's mistakenly peeking onto the hard drive, something bad happens -- the hard drive doesn't realize that the processor is peeking. If the processor comes back looking for that first packet of data again, the hard drive (thinking the processor's done with packet #1) will send the second packet of data instead. The processor, under the mistaken impression that the second packet is the first packet, begins to work with the wrong data. A big boo-boo has just occurred.
To fix that problem, a G4-upgraded Mac needs a new map, one that basically slaps a "Here Be Dragons" label on the hard drive and other potentially destructive areas, thereby restricting speculative processing to spaces where it won't do any harm.
There are two ways to make the fix. You can use software -- basically, the proper map is pushed into the Mac's Open Firmware, where it will be used on every startup and stored until someone does something to delete it, like zap the PRAM. Or you can use hardware solution, where the proper map is hard-wired into chips on the upgrade card.
Newer Technology has opted to take the hardware route; all of the other American upgrade vendors (Sonnet Technologies, XLR8, and PowerLogix) have gone with software. Newer claims that its solution is more robust; however, Macworld Lab's testing has concluded that both solutions are viable and stable.
While the speculative-processing problem is purely an engineering problem, the "ROM block" that prevented G4 ZIF socket upgrades from working in blue-and-white Power Mac G3s was not. Functionally the blue-and-white G3 is almost identical to the early "PCI Graphics" edition of the Power Mac G4 -- and since the Power Mac G3 has a ZIF socket holding its processor, by swapping it with a G4 you should theoretically get a speedy G4-based Mac in a blue-and-white case.
But Apple embedded instructions in an update to the blue-and-white G3's ROM that basically told those Macs not to start up if they sensed the presence of a G4 processor. As a result, upgrade manufacturers were forced to divert time and resources to work around this roadblock before they could sell G4 upgrades for those systems.
Nowadays there are loads of G4 ZIF upgrades out there. PowerLogix R&D was the first to have a solution for the ROM block last September, and all upgrade companies were selling G4 ZIF upgrades by November.
Apple maintains that they build solid, powerful, and stable computers that are intended to be used as they were created. The company quite rightly points out that it can't be held responsible for future incompatibilities with yet-to-be-invented processor upgrades that are manufactured by other companies. But if the G4-blocking ROM update was created merely to thwart attempts by users to upgrade their Macs, that's unfortunate. Apple certainly has every right to take such action, but it seems to be a waste of the company's time as well as a little bit petty.
There will always be new upgrades whenever a new processor becomes available for the Mac. Additionally, there will always be new engineering problems that will crop up, given the infinite combinations of Mac models and PowerPC processors. You can expect problems and solutions like these with every new generation of PowerPC processor. Somewhere out there, a G5 chip is slouching toward Cupertino.