January 2002

Random Rob 7

Macintosh and PowerPC: The future?

 

Introduction

This article started off with a quick chart of the speed figures (very simply as clock speed in MHz) of the Apple Macintosh, and it's growth in speed since conception. I went on to add figures for Intel's processor releases as well.

What I found was that a graph produced with the data since 1989 shows some interesting trends that certainly were not evident before this. I speculate (assuming that these figures are accurate) what this might mean for the PowerPC, Intel, the Macintosh, and what Motorola must do.

 

The Data

First some warnings. When I assembled these figures I didn't want to spend more than a short amount of time gathering data on them, and partly because of this it is possibly unfair in many respects; there is no reference to memory bandwidth, MIPS, FLOPS, instructions per clock, instruction & architecture efficiency, etc - therefore we have to be careful not to fall into the Megahertz trap. Moreover, the Intel figures are processor releases - not availability in boxes. I've tried to compensate for this with a release lag as a further line on the processor speed graph - albeit very crudely.

All figures were the highest clock speed release available in that year, or the previous year if there were no releases that year. But still, I hope the results are not too far off. I would suggest that they are for entertainment purposes only, without further verification and compensation for the lack of any instruction efficiency adjustments.

The graphs certainly doesn't show the increase in speed that occurred when instructions per cycle dropped to and then went below 1 instruction/clock. Motorola, AMD and Intel all try to increase the throughput for specific instructions and data per clock cycle. The result is very difficult to measure in objective real-world terms (even with processors in the same family) - with certain instructions being tuned, and others being sacrificed (barrel shifter anyone?).

Following on from this I've been asked if a MIPS (million instructions per second) or FLOPS (floating point operations per second) would not be a better base metric. It certainly would be interesting to see, although who's MIPS figures do you believe? I speculate that as long as the FLOPS per clock doesn't increase or decrease significantly (whatever that means - I have no real data to back this up), I argue that the graph holds some meaning. I will say that the graph does NOT show which processor is faster.

Finally, yes, it would be interesting to see a AMD comparative line.

 

 

 

Basic Analysis

It appears that the slope of the Apple line (obviously Motorola driven) is at a lower gradient than Intel's line over the last 7 years. If the line is going to be continued (predicting the future), Intel can get easily to 3 GHz this year, if not to 3.5 GHz. Motorola will only get to a predicted 1.2 GHz (this year) if the trend continues. Any higher clock speed looks out of place on the graph but is obviously not impossible. Both Motorola and Intel have made this type of jump before (see the processor increase graph) and rumor sites certainly talk about 1.2, 1.4 and maybe even 1.6 GHz boxes in the pipeline for Apple.

Unless Motorola start to increase their average growth rate, or Intel's growth rate slows, Intel will outpace Motorola, and the game will then be won. I'm not saying that a 3 GHz Intel computer is better than a 1.2GHz PowerPC computer. I'm saying that Intel's processors are growing (in clock speed terms) faster than Motorola's.

What is impressive is over the last 7 years Intel have kept a fairly constant growth. It is not so strange that they plan processor speed targets - but it is strange that they achieve them consistently. I'm sure being chased by the likes of AMD constantly makes them very focused on what they have to do. It may be the case that Motorola have a bit of catching up to do if they are to keep up with Intel. If you are cynical you could say that apart from a couple of times they have basically been playing "MHz catchup" for the last 7 years and the same would be true of AMD. (The big jump in 1994 for Apple are the PowerPC's arriving!)

I also wonder if the PowerPC architecture advantage is a fixed-percentage advantage, and hence won't matter as long as Intel can keep increasing clock speed ahead of the pack? Certainly, I feel it is unlikely that efficiency improvements will be able to keep a constant rise in performance, and hence would rather increase or decrease the fixed relative performance between the microprocessors. (This applies between AMD and Intel as well).

 

The Effect on Apple

If Motorola doesn't address the slope of the line then Apple may have to take very drastic action. Macintosh rumor sites tend to resurrect the conversations about Apple moving to AMD or Intel every few years. And recently Motorola have been having redundancies and plant closing - although of course Motorola do much more than produce microprocessors for Apple.

Whether moving to x86 would be a good move or not is difficult to say. Certainly Apple would not need to make Mac OS X to run on other people's x86 boxes. Although Mac OS X is a good contender, I think that going directly against Windows would be a supremely bad move. Many of the operating systems that have tried have failed to make any major long term impact - OS/2 and BeOS are examples. Apple probably couldn't make the business work any more than anyone else, and without control of both the software and hardware Apple loses a lot of its ability to innovate. The bottom line is that Apple makes most of their money from selling hardware, but it is the software that is different.

 

But what if Apple switched to x86 processors?

The hardware insides of a Macintosh PC are just as applicable to a x86 box as it is to a PowerPC box. Apple has leveraged and helped create much of the standard hardware. The Uni-N memory controller chip that links the processor bus to the rest of the system would probably require a fair amount tweaking. Nothing impossible though.

Apple would need to provide emulation at least for PowerPC native Mac OS X apps, and realistically also for classic apps - although I guess that once any PowerPC emulation has been done, classic would not be too much of a problem and would just "run". This would allow the thousands of existing and legacy applications to run. To gain full advantage of the Intel processor, though, porting of the application to x86 (a recompile?) would be required.

The difficulty of this would be dependent on the path Apple takes - the simplest is a straight port with no OS API (application programming interface) changes. Apple does have a history of making it difficult for their developers - both in the original PowerPC port (where the base run-time drastically needed a revamp at the same time to bring it into the 90's), and the Mac OS 9 to Mac OS X carbon porting changes. This is a little unfair (the OS changes were warranted) but I would really hope for the simple option!

I'm certain that most developers are pretty battle worn at the moment. Even asking them to recompile could cause a massive uprising. Even a simple port would have to tackle endian issues (bytes are stored in a different order on Motorola machines to Intel machines causing problems when data is written to disk, or elsewhere - PowerPC can run in both modes, but due to the Macintosh being originally a 68000 processor, it uses the Motorola Big Endian format). But in two years time, when the pain of the Mac OS X transition is just a faint memory asking developers to recompile to x86 may be a different story.

There is another business problem with changing over to Intel or AMD - Microsoft. Whilst Microsoft and Apple get on grudgingly at the moment, if Apple really started getting more market share, Microsoft would no doubt start acting all territorial. Would they play the 'abusing the monopoly card' and start to threaten Intel and AMD to play on their side (whomever Apple bought chips from)? Intel doesn't like being bullied, but Microsoft has some clever people working there.

In userland, emulators like Virtual PC would run a lot closer to full PC speed. This is an advantage, but there is another side to this: If you are running Windows most of the time, well, you might as well RUN windows on an Intel box. And as soon as you do this, you can buy a cheaper Intel box. (I still maintain that Apple's boxes are feature for feature the same price as a Dell, Compaq or HP box, but there are plenty people building and selling cheap PC clones with tiny profit margins).

This doesn't apply when running virtual machines on, say Linux, because Linux runs on these cheaper boxes and it is FREE. If Mac OS X runs on the cheaper boxes then it will not be economic for Apple to make hardware, and then you are directly competing with Microsoft for purely OS sales. To make selling operating systems work you have to have a much bigger user base and support it with other businesses. For Microsoft this was, and to some extend still is, Microsoft Office.

 

The Insides

As for myself - I dislike the x86 architecture against the beauty that is the PowerPC. Intel have made good steps to make the x86 better - for instance what was MMX has been incrementally better with each new version, and the P4 is certainly closer to the power of the Altivec Unit (Velocity Engine) that the original implementation of SIMD (single instruction, multiple data).

But still something is missing. Planned instruction sets. Logical extensions of registers. Elegant design. Some amount of future proofing at least! All new processors gain from programs being specifically compiled for them, but there is a limit to what a developer can do when faced with major feature changes each revision.

I also know that not many developers get involved with programming the microprocessor with assembler these days, shielded with high-level languages C, C++, Java, et al. But they allow so much beauty, clever design and ugliness to be hidden so that everything becomes a uniform non-issue - with the exception that their compiler hasn't been updated yet. And, of course, the people who buy the most machines - Joe Public - don't see anything but the applications and the operating system.

The coder in me still loves a clean implementation. Seven years ago my favorite processor for assembler language programming changed from the 68000 series to the PowerPC. The PowerPC also has a clean implementation that runs quickly. I do most of my programming in high-level languages, but surely the insides matter as well?

 

Conclusion

I hope the PowerPC doesn't disappear from the PC landscape. The world is not a better place with only one of everything. There is strength in diversity.

From the opposite angle, you shouldn't read too much into the data presented here, either. Too little information is dangerous, and I believe that Motorola will most certainly push for as much speed as they can. Much has been said about whether Motorola actually want to make PowerPC for Personal computers - I believe they really do, otherwise they would have given it up years ago. Like AMD and Intel, Motorola will continue to drive upward - this is certainly one market where competition certainly drives the technology.

I've also heard said that computers are fast enough. But to be honest, that is a stupid statement - yes - Word Processing could be done in the Mid-80's that was "fast enough". But you need today's speed to encode your own DVD in a realistic time, and to digitally edit your digital movies. Tomorrow will bring more uses for faster computers.

 

Rob Probin
Lightsoft

http://www.lightsoft.co.uk
rob@lightsoft.co.uk

Rob Probin is a Software Engineer and Development Manager writing Macintosh, PC, and embedded system software and occasionally designing hardware as well. He has been writing software since 1981 and still hasn't gotten bored, although his fingers are getting cramp.