The Amiga 4000 Tower: The Processor

By name and function, a computer's most central component

By Michael Webb, Editor-in-Chief, MikeWebb@CompuServe.COM

With an A4000T, one has a choice of either the 68040 or the 68060. There are several advantages to taking the 68060 route, not only in speed, but also memory expansion, as probably any 68060 processor card available for the A4000(T) today will accommodate up to 128 MB of fast, uninhibited fast RAM. The standard 68040 board, on the other hand, can use only motherboard memory, which is noticeably slower, and limited to 16 MB fast RAM. The disadvantage to choosing the 68060 over the 68040 would definitely be price. You'll pay about US $700 more for the 68060 model, a difference which seems to me to be just a bit steep, especially considering that the 68040 board (worth however much money) is not, of course, included with the 68060 model.

Anyway, since I was going for top-of-the-line in most ways, I went for the 68060. In retrospect, it may have been better to go with the 68040; but I say this only because if I had waited a little longer, I could have gotten the much-improved phase 5 CyberStorm MKIII board (or even the CyberStorm PPC), rather than the MKII, and had a 68040 board to use as backup or for testing, probably all with about the same amount of money left in the account. But I am very pleased with the 68060 itself.

Yes, as I mentioned, I don't have the official QuikPak 68060 A4000T. I have an A4000T with a phase 5 CyberStorm 68060 board, rather than the QuikPak board. Software Hut made the suggestion/decision while I was making the order, and I'm glad they did. There are several reasons:

If there's one thing that becomes always more clear through day-to-day use of the A4000T, it's that the 68060 is a real luxury for the AmigaOS. That is to say, the incredibly light and fast OS is blindingly quick on the 68060. The true power of the CPU can come through in the applications one chooses to run.



Comparisons

Keep in mind that I was moving up from a 40-MHz 68030/68882 system. These days, when running multiple systems, I realize once again that everything is a matter of perspective. What do I mean by this? Well, back in 1994, I had been using an AmigaOS 1.2 A500 with 1 MB RAM and two floppy drives since 1987 (not counting two relatively brief periods when a 50-MB hard disk was attached). And it was in 1994 that I bought the GVP A530 Turbo for the A500. This one small unassuming sit-on-the-side unit was an incredible fountain of youth for the A500. But who cares about all that other stuff; the hard disk was what I was excited about. Woohoo! Mass storage! The fact that my 1-MB 68000 machine was now a 5-MB 68030 machine was, at first, of lesser consequence.

The A530 brought about a 12-fold speed increase to the A500, but most of the software I used was written for a 68000, and it ran just fine on one. So I saw very little of this potential right away. Before too long, however, I decided to play a game of F/A-18 Interceptor (always a particularly high-performance game), and was promptly blown away by the amazing new frame rates my system was achieving. Over the next few years, I gradually began to use software that actually used the power of the 68030, and I grew to appreciate it.

So 1997 came along, and I decided to go with an entirely new machine, the A4000T. The 68060 is not the leap over the 68030 that the 68030 was over the 68000. Of course, at 40 MHz, the 68030 had a significant mathematical advantage over the 7.14-MHz 68000, even before you take into consideration its other advantages (e.g. fully 32-bit architecture, caches, improved instructions, etc.). The 68060 in the A4000T, on the other hand, exceeds the 68030's clock speed by only 10 MHz. So all things being equal, the 68060 is only about one fourth again faster than the 68030.

But all things are not equal. The 68060 has a very advanced architecture that you would have to have a degree in Electrical Engineering in order to fully understand. What little I know of it includes its SuperScalar functionality, which in certain ways is like having multiple processors in one. In addition, although the 68060 is by definition a CISC chip, Motorola incorporated some ideas from RISC technology into its design.

On average, the 50-MHz 68060 executes many commonplace tasks about 6 times more quickly than the 40-MHz 68030, a very respectable improvement (for those of you so inclined, the 68060 is 2 to 3 times faster than the 68040). When it comes to floating point operations, however, thanks largely to its integrated FPU (as opposed to the 68882's status as a separate unit, i.e. a coprocessor, in the case of the 68030), the 68060 absolutely blows the doors off the 68030/68882 combination. FPU operations routinely occur some 30 times more quickly than on the 68030/68882, and I'm sure you can imagine what kind of advantage the 68060 has over the software emulation of floating point math used when no FPU is available. An interesting note about FPU design is that with the 68060 (and probably with the 68040 as well), Motorola moves definitively away from thinking of an FPU as a "math chip," per se, with all sorts of mathematical operations done at the hardware level, and more towards considering it simply what the name implies, a Floating Point Unit. That is, the main unit does integer operations, and the FPU comes into play when decimal places are involved. It is simplification of design. Legend has it the 68882 can even do some calculus on the hardware level. It's a nice capability, but the 68040/68060 RISC-like FPU will ultimately allow for faster math.

We've kept it within the 680x0 family so far, but how does the 68060 compare to other types of processors? Fairly well, actually. The big deal in Motorola land now, of course, is the PowerPC line, and it's a not-too-widely-known tidbit that MegaHertz for MegaHertz, the 68060 is actually faster in most cases than the first PPC, the 601. But let's go beyond that. While the PPC line has a very strong floating point advantage, there are some things the 68060 can do almost as quickly as a 604, if you hypothetically put the two chips at the same clock rate. Ah, but high clock speeds are all a part of the RISC design advantage. Well, Motorola acted responsibly in this case. At 50 MHz, the 68060 does not need a heat sink or cooling fan.

Almost synonymous with "cooling fan," however, is "Intel." And since when it comes to sheer numbers of personal computers, Intel rules the roost, it would make good sense to compare the 68060 to that line of processors. First, I should emphasize that comparing CPU's in this manner is truly apples and oranges, and that results will vary with applications and testing procedures. But on average, for brute force computational capability, a 50-MHz 68060 will compare favorably to a 90-MHz Pentium. This means you get more bang for the MegaHertz with the 68060. Also, when you go beyond brute force computation, a 68060 Amiga with fast graphics hardware will probably feel about as spritely as even the latest and greatest Intel boxes, largely because of OS differences.

What's New

So I've been using a 68060 Amiga for a few months now. What's my qualitative analysis? "Wow!" How about quantitative? "Yeehaa*3!" Really, this processor has brought some new excitement into the Amiga experience. The differences come up in everyday life. Working with EPS images in Final Writer is a breeze, because they recalculate so quickly. Final Writer's complex printing routines cease to bog down the system. JPEG's decode quickly. I can play MPEG3 audio files at the maximum quality level supported by the hardware, and have CPU power to spare. Even moving-camera animations play back at up to 60 fps. Anything involving prolonged calculations (like rendering) doesn't feel as blazingly fast, of course, but Scenery Animator has been known to produce files over 25 MB in size when allowed to work overnight. And then there's the Mac emulation -- after all, most Mac software actually needs a potent CPU, and the 68060 does a good job.

But much of the time, the software is so fast anyway, I get where I'm going just as quickly, and the 68060 gets to rest. It's like the difference between fission and fusion bombs from the point of view of an ant at Ground Zero. It's just that overwhelming speed and efficiency theme again. But the 68060's impressive capabilities can come in very handy.

Actually, as fast as this Amiga seems, it could be faster, and there's a very good reason for that.



Finding the Pinch in the Garden Hose

You can always find a bottleneck somewhere in a computer system. No matter how fast the CPU, memory, and graphics system are, interfacing with the outside world, for example, will always be slow by comparison. With an Amiga, we have to be especially mindful of performance bottlenecks.

As I said, a faster CPU won't necessarily work miracles for an Amiga, because the OS (and a lot of software) are fast anyway. Another reason is that an OCS, ECS, or AGA Amiga will always be slow in some respects, no matter how fast the CPU.

Yes, as we all know, the Amiga is definitely a little tight on the graphic output end. This isn't due to a lack of raw processing power in the graphics/video subsystem, however, as much as to the design and implementation of the subsystem. Any Amiga chipset to date has some massive disadvantages going against it, and I will cover these in greater depth in the "Chipset" part of this review, but I should mention it here in so far as that is greatly impacts overall system performance.

It really comes down to two things: first, that the system suffers severely from bus contention between the video generation hardware and everything else, especially when higher resolutions and more colors are used. If it could use VRAM and eliminate the contention, any Amiga chipset would get a tremendous performance boost. The second problem is the lack of chunky pixel modes. The planar method has its advantages, but it is horribly inefficient, and even in 1-bit (2-color) mode, it is already four times slower than, say, 8-bit chunky. The problem increases significantly with added bit depth. Alone, either of these problems wouldn't be too bad, but together, they can really put a damper on performance. And unfortunately, AGA did not improve upon ECS in this respect, outside of simply increasing the bandwidth.

The AAA chipset was designed to eliminate both of these problems, and thus would have profoundly improved Amiga graphics speed. We may see this chipset yet, but with current systems, the solution, of course, is to add a graphics board. Fortunately, RTG is getting better all the time, and graphics boards therefore integrate better into the Amiga system than ever before. I'm sure I'll buy one for this Amiga eventually, and when I do, it will probably feel like a new machine all over again.


Of course, we can never completely eliminate all the performance-sapping areas within a system. To the CPU, the rest of the computer is just one big bottleneck (I suppose old, retired processors go to the Big Cache in the Sky...). But that is why, in many cases (rendering and the like excluded), a better disk controller, hard disk, I/O board, or graphics board, or more memory (particularly with PC's and Macs), can do more for a system than simply a newer, faster CPU. When it comes to the Amiga and its graphics subsystem, this is especially true. Of course, this isn't to say that AGA is just plain slow; as long as I don't demand too much from the chipset, AGA combined with the 68060 can result in some very snappy graphics. But unfortunately, this entails using fewer colors or, if not, then keeping resolutions down. It's always a compromise.



Notes About Using a 68060

The 68060 is very powerful, but nothing is perfect. By using this CPU, with its advanced architecture, you risk new incompatibilities with [mainly older] software. Well-written software should work fine, but poorly-coded, rule-breaking programs are apt to fail.

The good news is that if something is going to crash, it will probably crash on any CPU from the 68020 upwards, and that the AGA chipset and AmigaOS 2.0+ are more likely to "break" bad programs. I personally haven't seen any such CPU-related problems, at least among the software that would still run on the 68030.

Well, I should qualify that statement. Amiga software has worked well with the 68060. Mac software, on the other hand, has been a different story. At first, everything I ran under ShapeShifter crashed violently, and I thought the 68060 (or, more specifically, Mac software that breaks rules that finally come back to haunt on the 68060, which no real Macintosh ever used) was to blame. This seemed highly unlikely, however, because so much Mac software was crashing, and because I know there are other 68060 Amigas out there running ShapeShifter. It turned out that Mac System 7.0.1 was failing on the 68060. The problem was that even installers for newer versions of the Mac OS were crashing, so long as they ran under 7.0.1. I finally got that situation sorted out. Still, though, Mac-emulating 68060 users have a few things to keep in mind. First, Mac OS 8 is highly hostile to a 68060. Of the Big Two Mac emulators, only FUSION allows it to run at this time, and must disable the 68060's superscalar functionality in order to do so. Second, there are a few extensions and applications that continue to crash, although not as violently as before. Generally, however, they have been considered poorly-written, and I have yet to determine if the 68060 itself, or Mac emulation on an Amiga in general, is at fault.

One problem with the 68060 is actually a carryover from the 68040. As I mentioned earlier, the 68040/68060 integrated FPU does not have the wild array of instructions present in the 68881/68882 (calculus and trigonometry, for instance, are absent). This is okay, because when those missing instructions are built up using the simpler instructions provided, the result is still significantly faster than what is achieved with a 68881 or 68882. But unfortunately, older '881/'882-optimized software doesn't know this, and continues to use the non-present instructions. Once again, however, the situation isn't so bad, because the CPU can trap these unimplemented instructions, and the OS can look up appropriate emulation code in a library (the term "68040.library" might come to mind). But there is a great deal of CPU overhead involved in doing so, and with some applications, you will really notice. In some cases, the system becomes almost unusable. Incidentally, a jumpy mouse pointer is indicative of the CPU going into Supervisor Mode, which is used during the code look-up.

To try to improve things, phase 5 created the CyberPatcher, a small program which intercepts problem code and patches the bad instructions before they are even executed by the CPU. I don't know much about how this works, but there is essentially no overhead involved, and it can significantly speed up those nasty 68881/68882-optimized applications. CyberPatcher doesn't patch all the missing instructions, but it apparently gets a good number of them. Results will vary, but Scenery Animator (the one on the usual list that I have) shows a noticeable improvement, and the mouse movement becomes smoother as well. For owners of non-phase 5 68060 boards, a 3rd-party equivalent (by some accounts, superior to CyberPatcher) has recently become available.

One final note about the processor in this machine concerns memory. The A4000 was always criticized for its slow memory design, but this is a direct and largely unavoidable consequence of putting the CPU on a separate board, or "module." The A4000T, of course, is the same in this regard. Although the old A4000 68040 board (essentially still used in today's 68040 model) had no provisions for memory expansion of its own, the processor slot has 128 MB of address space, and most current processor boards can use all of it. As I mentioned in another section of this review, Software Hut mistakenly put a 16-MB SIMM on the CyberStorm, instead of the four 4-MB SIMM's I had wanted on the motherboard. I promptly arranged for an exchange to correct the problem. What?, you might be asking, Are you crazy? "That's beside the point, but..." Seriously, I know motherboard memory is slower, but I wanted to start there, and then fill the CyberStorm SIMM sockets over time. It would be a pleasant upgrade, I figured. Plus, I wanted to use 32-MB SIMM's, since that way, I would eventually fill the board to capacity without having to shelve or sell smaller SIMM's. Anyway, after a few months, I went ahead and bought a 32-MB 60-ns Fast Page Mode (I think all that alphabet soup stuff fits together..) SIMM. Indeed, the machine was noticeably faster as a result, but I got a pleasant surprise thrown in too: my mouse pointer, which had been inexplicably jumpy (supervisor mode, I thought, but why?), straightened out its act, and now moves very smoothly almost all the time. Only Mac emulation really seems to agitate it these days.

So what do you do with 50 MB of memory in an Amiga? After all, it doesn't eat memory like Windows 95 or <gasp> Windows NT. Well, if you're like me, you make all sorts of commands resident, allocate massive buffers for the hard disk partitions, and render gigantic animations with Scenery Animator. And with applications like Netscape grabbing 12 or more megabytes on startup, having this much memory is particularly convenient for Mac emulation, as you might imagine..



Conclusion

At 50 MHz, the 68060 does not have the dazzling clock speeds of today's Pentium II's and PPC's. Despite this disadvantage, however, it offers very respectable performance. You see, while it may not run at 300 MHz, the 68060 is built upon highly advanced microprocessor technology. It is, after all, at the top of the 680x0 line, and a fairly recent achievement at Motorola. In some cases, most of the advantage achieved by a PowerPC or Intel over the 68060 will be almost purely mathematical. That is, if you look at the benchmarks, their performance advantages are often direct functions of how many times higher their clock speeds are. This is not always true, especially in the case of the PowerPC line's outstanding floating point performance, but the point is, the 68060 is an excellent piece of technology. As I said, my 68060 has no heat sink or cooling fan. Chances are, with the appropriate heat-dissipation technology, the 68060 could be made to run at comparable frequencies, and probably achieve comparable results, to those of Pentiums and PowerPC's. But that would essentially amount to "cheating," i.e. the Intel approach.

Yes, new materials may push the envelope further, but we appear to be at the end of the road for CISC technology. RISC and the PowerPC truly are the next generation, technologically, and it is a very logical direction for the Amiga at this point.

Until then, however, the venerable 68060 at the heart of an Amiga can make for a powerful system, and a lot of fun. Couple it with more modern display hardware, and you've got a very fast-feeling Amiga. Chances are, only those for whom rendering speed is crucial in day-to-day working deadlines would find the 68060 deficient, and even many of them might not find 68060-optimized software to be lagging too far behind their busy schedules. For the rest of us, a 68060 Amiga can be a joy to work with. Of course, the dual-processing PowerPC technology is there now for those who so desire. But the day when you just plain need a 200-MHz 604 in order to get reasonable responsiveness out of modern software, for us, is not yet here.

Of course, that's all part of what makes using an Amiga so productive, and so much fun.