Article 273 of comp.sys.amiga.reviews: Path: menudo.uh.edu!usenet From: dcc@dcs.ed.ac.uk (David Crooke) Newsgroups: comp.sys.amiga.reviews Subject: REVIEW: PPI Mercury 68040 accelerator for A3000 Followup-To: comp.sys.amiga.hardware Date: 3 May 1993 14:51:18 GMT Organization: The Amiga Online Review Column - ed. Daniel Barrett Lines: 419 Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator) Approved: barrett@math.uh.edu Distribution: world Message-ID: <1s3bh6$ooa@menudo.uh.edu> Reply-To: dcc@dcs.ed.ac.uk (David Crooke) NNTP-Posting-Host: karazm.math.uh.edu Keywords: hardware, A3000, A3000T, accelerator, 68040, commercial PRODUCT NAME Progressive Peripherals Inc. Mercury 68040 accelerator for the Amiga 3000. BRIEF DESCRIPTION The Mercury is a board which provides a fast Motorola 68040 processor and some memory expansion capabilities. It fits in the A3000's FastSlot, located at the right front of the motherboard. This enhances the performance of the A3000 in processor-intensive applications like compiling and ray-tracing. Fallback to the 68030 is possible with software provided, although only on the 3000/25. This is not as useful as 68000 fallback on A500/A2000 accelerators, but comes in handy for the odd, semi-awkward game (Lemmings II!). The board is available in 28MHz and 35MHz versions with 0-32 MB of RAM. AUTHOR/COMPANY INFORMATION [MODERATOR'S NOTE: This address is out of date. I'm working on getting a correct one. - Dan] Name: Progressive Peripherals Inc Address: 938 Quail St. Lakewood, CO 80215-5513 USA Telephone: (303) 238-5555 PRICE I purchased my board from Creative Computers. The test configuration (28MHz Mercury with no RAM) was priced at $579.00 (US) plus shipping (shipping to Europe by air (DHL) was $80 US). VAT (17.5%) and duty (3.4%) were payable on import to the UK. This price was due to a "special offer" recently given by PPI, but stock at this price may still be available from some dealers. Other prices quoted by Creative were $879.00 for the Mercury 35MHz with no RAM, and $499.00 for the 3000/040 board (25MHz, no memory expansion, fits A3000/25 only), so I chose the Mercury 28 as the best price/performance/capabilities choice. Other dealers were more competitive on the Mercury 35 but more expensive on the Mercury 28 and 3000/040, and on shipping. I strongly advise UK readers to import products like accelerators from the US themselves. I have done this several times, and the savings are substantial over UK dealer mark-ups. HARDWARE AND SOFTWARE PREREQUISITES HARDWARE Commodore Amiga A3000 or A3000T, with ROM Kickstart version 2.04 or later. (You can use other Kickstarts from disk with appropriate software, but you must have at least 2.0 in ROM.) The reason that 2.0 Kickstart ROMs are needed is that the SoftKick A3000 (with 1.4 ROMs, which loads "wb_2.x:devs/Kickstart" from disk) uses the 68030's MMU to map the disk loaded Kickstart. Since the 68040's MMU is incompatible with the 68030's, this would fail. SOFTWARE None, but AmigaDOS 2.04 or above is strongly recommended. MACHINE USED FOR TESTING The version of the Mercury tested was the 28MHz one with no on-board memory. The test machine was an A3000/25 (normal desktop version) with 2 internal floppies, 2 internal hard disks, and 8MB of static column Fast RAM. This machine did not have 2.04 ROMs, and so they were installed at the same time as the Mercury. All performance figures are with all caches on, Kickstart in RAM, etc. The PD "Ramsey" program was used to enhance performance for "68030 mode" comparisons. COMPONENTS SUPPLIED IN PACKAGE Mercury board with 68040 processor chip fitted Floppy Disk (DS/DD 837K AmigaDOS) with PPI and CBM support software 1Mx4 80ns page mode ZIP DRAM chip 4-pin floppy drive power lead 4 mounting bolts Go-faster sticker with Motorola "04!0" logo 40 page A5 size handbook PHYSICAL DESCRIPTION (TECHNICAL) The board is about 7 inches square, and when installed covers the Fast RAM and CPU area on the front right of the A3000 motherboard, under the drive platform. The majority of the minor chips are surface-mounted, while the large memory control chips are in PLCC (?) sockets, and the 68040 is a large PGA. Eight angled sockets for byte-wide SIMMs are provided, accommodating standard PC-compatible 1Mx8 or 4Mx8 (or x9) SIMMs in groups of four, allowing configurations of 4, 8, 16, 20 or 32 Megabytes (in addition to the 18Mb on the Amiga motherboard) -- this memory option was not tested. A miniature muffin fan is mounted on a sloping bracket above the 68040, blowing air down onto and across the chip from the front to the back of the Amiga (desktop A3000). A 200-pin mini edge connector on the underside mates with the FastSlot. Holes meet up with the mounting posts on the motherboard, for securing the board with the bolts provided. Floppy-style 4-pin power connectors are provided for routing power through the board. The build quality is high. SOFTWARE INSTALLATION It is prudent to install the software first so that the system is 68040-aware on its first power-up with the accelerator. An install utility is provided; and despite a custom setup, I used it, after a careful walkthrough on the "Pretend to Install" option. The installation was successful and I made no changes, other than to "Leave Out" the "Switch" program icon in the Workbench window. HARDWARE INSTALLATION All notes refer to the desktop A3000, with differences noted. As with the installation of Fast RAM, access to the right side of the motherboard requires a major disassembly of the A3000 including removal of the drive platform, as described in the small installation handbook supplied with the 3000. If the machine is fitted with static column Fast RAM, the first memory chip, whether DIP or ZIP, must be removed, and the supplied page mode chip fitted to the ZIP socket (U850). This circumvents a bug in the A3000's memory controller (Ramsey) and allows the PPI board to do burst transactions. The board is then fitted to the FastSlot and bolted in place. The second floppy drive power lead is routed down to the board, and the lead supplied runs back up to power the second drive. If the machine is an A3000/16, the motherboard must be jumpered to 25MHz operation, and 68030 fallback mode will be unavailable. The mounting bolts supplied do not fit in the A3000T which does not normally have mounting posts fitted, but the makers claim the board is secure without them as long as the machine is not transported. It is prudent to reassemble the machine partially and test it before full reassembly, and between installation of the Kickstart ROMs and the board if doing the two upgrades simultaneously. The manual states that if the machine has low density memory (256Kx4's) in the Fast RAM area, a 256Kx4 paged mode ZIP should be purchased, but I can't see why the 1Mx4 one supplied wouldn't do. PRINCIPLE OF OPERATION The accelerator accesses the system bus through the FastSlot, and supplants the motherboard 68030 and 68881/2 with the 68040. Since the 68040's "RISC style" FPU does not support the full 68881 instruction set, the remaining functions are emulated in software by the supplied "68040.library", which is loaded by the "Init040" program placed in the startup-sequence by the installer. Due to the extremely fast implementation of the FPU instructions which are provided in hardware, in all cases the software emulation on a 28MHz 68040 exceeds the performance of the same instruction in hardware on a 33MHz 68882. General use, with predominantly simple instructions, is much faster. "Init040" also configures the accelerator memory and can map Kickstart into it if present. In a 25MHz machine, the 68040 part of the accelerator can be turned off from software with a warm boot, leaving the expansion memory available, and powerup in 68030 or 68040 mode can be selected with a jumper. SOFTWARE OPERATION The only software day-to-day users need is the "Switch" program, which switches between 68040 and 68030/88x, with a warm reboot (Ctrl-A-A). It is Intuition-based. The primary use I have found for this is to fall back to 68030 mode for speed comparisons, and to play Lemmings II. The CPU choice persists through multiple warm boots until changed or until the machine is power-cycled. There is also an Intuition-based program for manipulating the caches called "CPU040". There is nothing wrong with this, but old habits die hard and I still use Commodore's "CPU" command from the CLI. Also, you can use "CPU" to write scripts which automagically detect which processor is running, which you can't do with "CPU040". Version 37.34 of Commodore's "SetPatch" is provided. This is a 2.04 version with some 68040 fixes. Version 37.4 of 68040.library is provided. More enthusiastic users will want to use other PD and Commodore software to enhance the board's use (see RECOMMENDATIONS, below). COMPATIBILITY The hardware is designed only for the A3000 series machines, although (in theory at least) it could work in an A4000 as a replacement CPU board if there is physical space for it. Users intending to buy a 4000/030 and boost it should contact PPI! For compatibility purposes, most Amiga software falls into one of two categories, at least as far as hardware is concerned: (i) Old game, only works properly on 16-bit systems (ii) Productivity software or newer game, works on anything with enough memory. This implies that almost anything which will work with the A3000 and 2.0 to start with will work with the 68040 as well. One class of exceptions to this are programs which use self modifying code (including special loaders and self-unpacking executables). the 68040 has much larger caches than the 68030, and has a "CopyBack" (write only when necessary) mode on the data cache. The combination of these can tip some bad code over the brink, but the CopyBack mode and the caches themselves can be disabled from software, using Commodore's "CPU" command. The more important incompatibility is in the Memory Management Processor (MMU). The 68030 one is largely compatible with the old 68851, but the 68040 one is quite different. Things like Kickstart remappers ("CPU FastROM", "SetCPU KickROM") and virtual memory systems ("HDMem", "GigaMem") often do not support it, but 68040 versions or equivalents are becoming available. In particular, the Commodore Amix (Unix) system on the A3000UX does not support the 68040, but I think "Enforcer" now does. These are all minor complaints; and for most general productivity and programming use, the 68040 works seamlessly with the rest of the system. Apart from the speed increase, you'd never know it was there. PERFORMANCE Using the A3000's own memory (80ns Static Column) with burst modes, caches and CopyBack enabled, and Kickstart in RAM, the 28MHz board delivers 20,200 Dhrystones according to SysInfo 3.15. This is 4.3 times the speed of the same A3000/25 in 68030/68882 mode, 38 times the speed of a ChipRAM A600, and 10% faster than an A4000/040. All of these are integer-only. Floating point performance is over 5 MFlops, as compared to 0.66 MFlops for the 25MHz 68882. General use shows performance improvements from none, with graphics or disk intensive operations, to well over three times with large C++ compilations, as compared to the A3000/25. The LaTeX batch typesetting system (with an optimised FPU-using executable) shows around a 70% speedup over a range of documents. Tests using the "C" version of Dhrystone 1.1, compiled to use the FPU, weigh the 28MHz Mercury in at around 29,500 Dhrystones. This compares with 7,400 for the 25MHz 68030/68882, 31,000 for a Sun 4 SPARCstation ELC, and around 1,200 for an 7MHz 68000-based Amiga with (non-trapdoor) Fast RAM (the latter with no FPU, of course). MEMORY EXPANSION SYSTEM I did not test the memory expansion capability, but I believe the details given are correct. The board has 8 sockets for industry standard PC-clone style SIMMs, and accepts 1Mx8 (or 1Mx9) and/or 4Mx8 (or x9) SIMMs in two groups of 4, allowing 4, 8, 16, 20 or 32 MB. This memory is in addition to the 18MB capacity of the motherboard and CAN be used in 68030 mode as well. Memory speeds supported are 100ns, 80ns and 60ns for the 28MHz version, and 80ns, 60ns and 40ns for the 35MHz version. The preferred choice is the middle one in each case. Since the board supports the memory CAS signal, burst mode memory access can be achieved with the cheaper page mode SIMMs as well as static column. (The A3000's built-in Ramsey controller does not supply CAS, and needs Static Column mode RAM for bursting.) WARRANTY The board has a standard return-to-company warranty. SUPPORT PPI have a Tech Support phone line as well as a BBS. At the time I bought the board, they were very busy, and it was widely known that they would take a few days to respond to a call at that time. I don't know if the situation has improved. I did try to call them once (over the EC thing, see DISLIKES below) and I got a machine ("For this, press 1," etc.). As I was calling from a rural area, I did not have a pushbutton phone. I tried playing tone dial from a modem speaker down the line, which should have worked, so I suspect they might have nobbled the answering machine! No human ever came on the line. I also called Creative Computers about the EC040. Their customer service guy was very helpful, and said that he would warn other customers and get on to PPI about it. He also offered to buy the board back if I wanted, but I declined. BUGS The only bug found is an occasional tendency to boot in 68030 mode, despite 68040 being selected by the jumper. The software processor selection is 100% reliable. PARTICULAR GOOD POINTS - The performance is all you could demand from the hardware; there are no design flaws in this area. In particular, unlike A500/A2000/A1200 accelerators, there is no need to get additional RAM to realise the full benefit of the speedup. - The memory system uses cheap SIMMs, and is fairly flexible (e.g., if you have 4MB, you can put in 4 4x8's and have 20MB, and not have to dispose of the 1x8's). - The cooling fan probably prolongs CPU life (but see below). - The power arrangements ensure it does not suck too much current through the FastSlot - The kit provides *all* you need (except possibly Kickstart ROMs and a screwdriver!). DISLIKES AND MISFEATURES - The boards overclock the 68040's - the 28MHz one uses a 68040/25, and the 35MHz a 68040/33. PPI claim that these small margins are safe, given the extra cooling provided, and they are probably right (I have had no problems). - Contrary to the picture on the box, the CPU clock crystal is soldered to the board. I had toyed with the idea of replacing it (56MHz) with a 50MHz one to bring the CPU back down into its specified range, but this put me off :-) - The 68040 supplied was not a production chip, but was designated "XC68EC040RC25". Contrary to my first angry conclusion, this chip DOES have a full 68040 with MMU and FPU inside, but it has the less advanced bus system of the 68EC040. Also, the "XC" designation means it has at least one minor bug (in the design), and is therefore only for prototyping purposes. I have, however, had no problems with it, and it performs in every way like a full MC68040. - The software supplied is lacking in one major respect: it will remap Kickstart only into the board's onboard RAM, if present, and not to the motherboard Fast RAM. Also, when it does so, it takes a full 1MB, and not just 512K. This problem is exacerbated by the fact that Commodore's "CPU" command (even the AmigaDOS 3.0 version) does not support the "FastROM" option for 68040's. - The software supplied assumes you will be running AmigaDOS 2.04, which could be irritating when (if ever) a 3.x upgrade puts in an appearance. I suspect that 3.0 will have its own 68040.library and proper 68040 support in Kickstart, however. The case for 2.1 compatibility is less clear (and I don't have it to try). I am in the process of acquiring a developer's release of 3.0, so contact me by e-mail to find out how that works out. - The on board memory, when fitted, is not contiguous with the Fast RAM on the motherboard, leaving a dilemma as to which to upgrade. Some applications only use the largest *contiguous* block of free memory, and so would not fully benefit from e.g., a 3000 with 4MB of Fast RAM and another 4MB on the Mercury. This is not PPI's fault and is dictated by the A3000's design, but they could have provided MMU software to get round the problem. - The use of the page mode ZIP reduces performance in 68030 mode by about 3% against static column RAM. Not a major worry. - As mentioned, 68030 fallback is not supported on an A3000/16. RECOMMENDATIONS Any A3000 owner considering upgrading to a 4000/040, but not particularly worried about AGA graphics, is strongly encouraged to snap one of these up if it can be obtained cheaply, as the cost saving is considerable (and you get to keep that nice fast 1GB SCSI hard disk ;-)). Beware that the resale value of the upgraded A3000 machine is depressed by A4000/040 in the same way that the base machine has been knocked down by the A4000/030. Anyone who has a PPI Mercury is recommended to get the "Set040" program by Nic Wilson, which is shareware. I plead guilty in that I have yet to register, but I'm waiting to find a source of Aussie currency/cheques without the bank's massive fees. "Set040" remaps Kickstart (to any RAM) and can load "soft" Kickstarts, and picks up the slack. MY PLANS FOR THE SYSTEM When the Amiga port of Linux (PD Unix) is more advanced, I intend to complete the system with a larger hard disk, Linux, and a high resolution graphics card for which I will obtain or write X windows drivers. This will result in a fully modern, high performance Unix workstation, while still retaining Amiga compatibility, for a total cost of around L2000.00 UK, including the second-hand A3000. The other option would have been to buy a 486 PC clone and keep my old A500/030 system, but this would have cost a bit more and would be ideologically unsound. ;-) SUMMARY Apart from the graphics, the performance of the A3000 with Mercury exceeds that of the A4000/040 in all areas, and I can completely recommend the Mercury to prospective purchasers. The only thing which lets it down a tiny bit is the MMU software, but there are third party utilities available which fulfill most needs. David Crooke dcc@dcs.ed.ac.uk 3-May-1993 --- Daniel Barrett, Moderator, comp.sys.amiga.reviews Send reviews to: amiga-reviews-submissions@math.uh.edu Request information: amiga-reviews-requests@math.uh.edu Moderator mail: amiga-reviews@math.uh.edu