Macintosh new technology overview


With Monday's (hopefully) impending announcements from Apple, here are some thoughts on the individual technologies mentioned in the "leak" last week.

G5 (aka IBM PowerPC 970)

The 970 (which it looks like Apple will be calling the G5), is the first workstation-class chip released from IBM's Power4 architecture of CPUs. "Normal" Power4 CPUs have multiple processor cores, basically making each chip a dual-CPU configuration. However, the 970 has had its second core removed.

Another important change is the introduction of the Altivec vector instruction set on the chip. Altivec provides instructions that work on large groups of data at a time and are designed for graphics and signal- processing, leading to higher frame rates for video, quicker response to filters in Photoshop, and general interface snappiness under Jaguar.

An article from the IBM site provides some additional comparisons and outlines of the PowerPC 970 and it's differences with its predecessors.

For starters, the 970 is 64-bit processor, unlike the G3 and G4 which are both 32-bit. This means that it can work on 64-bits of data basically as efficiently as the G3/G4 can work on 32. It also means that the CPU is designed to address (at least virtually) 264 bytes of RAM, as opposed to the 232 addressable by the G's. This may not mean much to users whose laptops only have 128MB of memory, but there are some nice technical gains that come from this change. In particular, when working with very large files (think Photoshop, or a movie in production), the system can take better advantage of file mapping by thinking of the entire file as part of its the computer's memory. This can reduce the I/O necessary to make small changes and can also make system resource use more efficient. With 264 bits of address space, we're safe for the foreseeable future.

Related to this is the expansion of the physical address space from 32-bits on the Gs to 42-bits on the 970. Those additional 10 bits increase the amount of physically addressable RAM from 4GB to 4,096GB, which is unlikely to fit in your server, much less your desktop any time soon. This, by the way, is what allows the expansion to 8GB of SDRAM also noted in the specifications. One of the problems that Apple has been struggling with for a few years is that they (like many other manufacturers) reserve memory addresses for things other than memory. In the case of the Macintosh, we've been topping out at between 1.5GB and 2GB because the remainder is set aside for devices like the PCI slots. With 4,096GB of address space, we shouldn't (for the time being) have problems accommodating the address space requirements.

Additional benefits will come from increasing the L1 cache (the closest and fastest cache in the CPU) from 32k to 64k on the data side, doubling the size of the chip's L2 cache from 256K to 512K, and adding an additional floating point execution unit (allowing twice as many floating point operations to be performed in the same amount of time).

Bus Speed

The leak says that the machines will be running with "Up to 1GHz processor bus." So, what does this mean? Macintoshes to date have been saddled with 133/166MHz FSB's, which the G3/G4 single pulse for 64-bits per cycle. This means that you can move between 1GBps and 1.3GBps to and from the processor. Apple has attempted to make the most of this by using custom ASICs (privately manufactured and designed chips) that allow other parts of the computer (Ethernet, hard drives, graphics cards, etc) to access the memory when the processor isn't doing so, giving some advantage to having the high-speed memory the recent Macs have.

In contrast, Intel's Pentium 4 has a 200MHz front-side bus (FSB) that is quad-clocked, thus getting a rough equivalent of 800MHz. This multiplied by its 64-bit bus allows it to pull in or push out about 6.4GBps. Not too shabby in comparison and a large contributor to the speed woes of the Macintosh community recently.

The 970 will realign the debate. The FSB in the chips runs at 1/4 of the speed of the processor, so the 2GHz 970s will have 500MHz FSBs. These are double- clocked, and separated into two separate 32-bit buses. Thus, maximum throughput on each bus on the 2GHz 970 is 4GBps, or 8GBps if both are pushing data simultaneously. The P4 has an edge in applications where all of the data is moving in one direction (since the 2 buses in the 970 are split by input and output), but there is considerable debate over the efficiency of changing directions on the P4 FSB, so that advantage may be mitigated significantly when doing heavy duty simultaneous I/O, which is the norm for many programs.

Serial ATA

Long-time Macintosh users will remember that Apple has used three different hard disk technologies so far. Initially, the Macintosh Plus was provided a 340kbps channel over the floppy port that was used with the Hard Disk 20, a 20MB hard drive available in 1985. Then came the venerable SCSI, which was added in the Macintosh SE and the Macintosh II in 1987(ish).

SCSI served Apple and its users well, providing a much higher performance solution than the ATA/IDE drives that PC users were getting. Generally speaking, the SCSI standards kept well ahead in performance and reliability. However, in the mid 1990's, things changed. SCSI development slowed down and the growing number of PC users kept the development of new hard drives focused on larger drives compatible with the PC. Macintosh users, and others dependent upon SCSI were stuck with drives that, while performing much faster, were relatively small. Even today, it is hard to find SCSI drives as big as the now-biggest IDE drives. Due to this change, and cost considerations, Apple changed to supporting IDE as the primary storage mechanism, and then gave up on SCSI as a built-in feature (although you can still order it as an add-in). Even Apple's Xserve systems use IDE, as does the Xserve RAID, Apple's high- performance external disk system.

After years of fighting between the ATA camp and the SCSI camp to come up with a drive interface that fits for everyone, the Serial ATA working group was formed and developed their 1.0 specification, which is what people are now starting to use. SATA 1.0 provides for 1.5gbps (about 150MBps) communication between the hard drive (or other similar device, like a CD-ROM) and the controller on the computer. This performance boost is added to by the fact that unlike the IDE specification, each drive has a dedicated channel and does not share a cable with another drive. Therefore, there is lower overhead when talking to the drive because the controller and the drives don't have to negotiate which drive is exchanging data.

Because of the move from parallel to serial, the cabling has also become much simpler. Unlike IDE cables, which currently have 80 wires (40 live and 40 to make sure the signals don't leak) and large connectors with 40 pins on them, the SATA cables have just 7 wires, and are therefore much smaller and easier to manipulate. The cables themselves are much more flexible and will tend to lead to a more presentable internal layout. Top this off with a lower-power signal capable of reaching 1m instead of the IDE standard of 40cm, and you have a very nice change.

I went looking for SATA drives on the net and found them to be very reasonably priced, but also available in much greater variety than either SCSI or IDE/133 drives. 200GB drives are available for less than $300 (comparing with 210-250 for IDE), but quite a bit faster and usually packing a much larger 8MB cache (instead of a 2MB for example).

AGP 8X Pro

This one is a bit more straightforward. All Macintoshes currently max out at AGP 4X, and AGP 8X will transfer bulk data at double that rate.

PCI-X

PCI-X is a revision of the PCI standard that ups it from it's 33MHz or 66MHz (both are in the specification, but Apple is one of the few manufacturers to ship 66MHz PCI as a standard on their machines) to 133MHz. However, there is a newer specification for PCI-X (version 2.0) that extends the intrinsic bus speed to 266MHz and 533MHz, thus cranking it up another notch or two. Assuming Apple ships a PCI-X-compliant slot, it'll be interesting to see which standard it complies with. Beyond increasing the clock rate, the PCI-X specification also modifies some of the protocols so that backward compatibility is maintained, but the higher speeds can be used without incident with newer devices. It is unclear what the performance impact of having slow devices and fast devices sharing the same bus will be, however, this will not be a direct issue in many cases, because the controller can only speak to one device when it is running at its highest rated speed (i.e. at 133MHz in the PCI-X 1.0 or at 266/533 in the 2.0).

USB 2.0

Last, and probably least, is USB 2.0. I'm not saying it is bad, but it's certainly not very important. We are unlikely to see a move anytime soon to replace FireWire with USB for digital video applications, because of some important protocol differences between USB and FireWire.

However, for storage devices and certain other peripherals it will provide some boost and it will get rid of the USB vs USB 2.0 inferiority complex that some current Macintosh users have.

In Conclusion

That's about it. When we hear on Monday whether any of these things are real, I'll put some information up, but until then, this is a summary of what I know about the various technologies and how they may play together. I have left out information on HyperTransport, because it is still too fuzzy how that fits in to the picture, but we'll be watching and listening to Steve and hopefully we'll all know a lot more after the WWDC Keynote.