BYTE August 1993 on page 145

Reviews Mips Inside:

The RISC PC. DeskStation Technology's R4400-based machine runs Windows NT with style. But this fast RISC system faces some software hurdles.

Rick Grehan

    DeskStation Technology's new Evolution RISC PC comes ready to run Windows NT: a 50-MHz processor, lots of fast RAM, a SCSI hard drive, six EISA slots, a big tower case, and a big power supply. But you won't find an "Intel Inside" sticker on the faceplate, nor any Intel or Intel-compatible processor in the CPU socket. The Evolution is powered instead by a 64-bit Mips R4400, clocked externally at 50 MHz. Except for its exotic processor, the Evolution is more or less a standard PC system. However, it's designed to run NT exclusively. NT comes from Microsoft built for Mips processors, and NT's HAL (Hardware Abstraction Layer) performs half the magic that allows a high-end RISC machine to coexist with an otherwise ordinary PC.

    This is not the first R4000 system for NT. Other vendors that supported the ARC (Advanced RISC Computing) specification, most notably Acer, have built Mips-based PCs before. But tiny DeskStation Technology makes a significant leap by pricing the Evolution squarely against 486 systems: Evolution prices range from $3995 for a reasonable NT system (an R4000 processor, 16 MB of RAM, a 200-MB hard drive, and a high-resolution monitor) to $9995 for a real Cadillac, including an R4400 processor, 64 MB of RAM, a 500-MB SCSI drive, a CD-ROM, accelerated video, and a 21-inch monitor.

    I tested a high-end Evolution for performance using BYTE's portable benchmarks, tests under development that measure system speed on several platforms and on several operating systems. The Evolution runs NT faster than any system BYTE has yet tested, including a few 60-MHz Pentium machines. As I write this review, Windows NT is not a shipping operating system. However, DeskStation is currently selling the Evolution to NT developers. The unit I looked at, a close approximation of DeskStation's rPC444e/100 model, lacked the polish of an end-user system. DeskStation plans to add the finishing touches before the commercial release of Windows NT. EISA technology and Mips processors do not come from the same world. A chip set designed by DeskStation plays a key role in the magic act that takes bus protocols understood by a Mips R4000PC and transforms them into EISA signals. It's a two-way transformation, of course; EISA signals have to be turned into Mips R4000PC-bus signals as well.

    The upshot is that any adapter card that runs in an EISA slot will run in the Evolution (provided that the drivers are available). The hardware trickery completely shields the card from the fact that it's being shepherded by a non-Intel CPU.

    Of course, all this abstraction needs help from software as well. The help comes from the ARC specification (more or less under the ministry of Microsoft). ARC enabled the DeskStation engineers to produce firmware that is oblivious of the operating system and, with the help of a DeskStation-modified ARC HAL, enabled Microsoft engineers to make NT oblivious of the hardware details of the Evolution. When you power up an Evolution, the BIOS firmware loads and executes an OSLOADER.EXE file. This boot program, using ARC-specified calls, turns around and requests the firmware to load the NT kernel and associated drivers. When all that's loaded, OSLOADER jumps into NT and off you go.

    Evolution systems (there are eight models) run either Mips R4000PC or Mips R4400PC CPUs. Both of the Mips chips are RISC processors that run internally at twice the external clock rate. Therefore, 50-MHz Evolution systems run the processor at 100 MHz.

    An R4400PC differs from an R4000PC in primary cache size; the R4400PC has twice the cache--32 KB total--of an R4000PC. The "PC" suffix on the name indicates that the CPU is "primary-cache only"; that is, there is no on-chip controller for an external secondary cache. All secondary cache control has to be supplied by circuitry on the motherboard.

    DeskStation's custom chip set performs the dual work of managing the CPU's external 512-KB write-through cache and acting as a bridge between the R4000's bus and a 486 bus, also on the motherboard (see the figure on page 146). This 486 bus serves as a stepping-stone from the R4000's bus to an EISA bus. Yet another chip set--this one from Opti--transforms the 486 bus protocols into the EISA bus protocols. Currently, there are no additional components on the 486 bus besides the two chip sets, although DeskStation engineers suggested that they may investigate placing peripherals on this bus in the future.

    As well as providing the driving signals for the six EISA slots, the Evolution's EISA bus acts as the pathway to the Evolution's on-board peripheral I/O devices: the serial ports, parallel port, IDE controller, and floppy drive controller. System memory also connects to the processor through the EISA bus, although it does so via SIMM sockets and not a memory board that would consume an EISA slot. The Evolution accepts up to 4 SIMMs of 4 MB or 16 MB, for a starting memory size of 16 MB and a cap of 64 MB.

Under Scrutiny

    The machine I tested was, as I mentioned, built for developers and so lacking in some spots. However, it wasn't underpowered. Its CPU was an R4400PC, and its memory was brimming at 64 MB. Its collection of drives included a 203-MB Maxtor IDE drive, a 1.44-MB floppy drive, and a CD-ROM drive. The hard drive and floppy drive were controlled by a multi-I/O card plugged into the EISA bus, which also handled serial and parallel I/O. An Adaptec SCSI card managed the CD-ROM drive, and video was driven by an Orchid Fahrenheit 1280 feeding a 16-inch Mini-Micro display. An Ethernet card from SMC was in yet another EISA slot; it became the Evolution's connection to BYTE's network and my means of experimenting with NT's network components.

    Ultimately, working with the Evolution amounted to working with Windows NT. All my testing was done using a March 1993 beta version of NT. I assume that any bugs I encountered (e.g., tasks freezing unexpectedly) will be eradicated in the release version.

    As a technical tidbit, you should keep in mind that the R4000 processors are 64-bit processors. They can, however, run in 32-bit mode, which the Evolution's CPU does under Windows NT. Memory fetches can still occur at 64 bits, and the pathway between the processor and primary cache is 64 bits wide. However, since main memory resides on the EISA bus, its access is only 32 bits wide. Until some vendor releases an R4000-based NT system with 64-bit-wide memory access, it's impossible to gauge how the Evolution's placement of system memory affects performance.

    Although you probably won't want to run 80x86 DOS programs as your primary applications on the Evolution, my preliminary experimentation with it showed that NT's MS-DOS prompt does a decent job of DOS emulation, in spite of the R4000's emulation of an Intel processor. The system we tested had problems handling some of the more infrequently used graphics modes, and, in text modes, blinking text didn't blink at all. The Evolution ran our low-level DOS benchmarks, which contain a great deal of 80x86 code, as well as plenty of low-level calls to the BIOS, video hardware, and math coprocessor (see the table "BYTE DOS Benchmarks").

    Under Intel emulation, the Evolution ran CPU-intensive tasks at about three times the speed of an 8-MHz 286 running DOS, or about 85 percent the performance of a 33-MHz 486. However, its FPU emulation was abysmal, somewhat slower than a real 287. And the Evolution ran at only half the speed of a 66-MHz 486 running benchmarks in the NT DOS box.

    It was while running the benchmarks that I discovered that the emulation provided was of a 1-MB 286 system with a 287 math coprocessor. Engineers at DeskStation hinted that work was underway at Microsoft to extend the emulation to 386 levels; whether or not such is the case remains to be seen.

    To test the real capabilities of the Evolution's CPU, I installed a preliminary version of the Win32 SDK (Software Development Kit) using the Evolution's CD-ROM drive and compiled an early version of the CPU and FPU portions of BYTE's soon-to-be-released portable benchmarks. These programs ran native R4000 code. The table "BYTE Portable Benchmarks" compares these results against a 60-MHz Pentium and a 66-MHz 486DX2. On every test, the Evolution system ran faster than either Intel unit. As you scan the benchmark figures, be sure to keep in mind that, in both cases, we were running a beta version of the NT operating system.

Worth the RISC?

    Although it would be nice to say that the purchase of an Evolution system is simultaneously the acquisition of a fast NT system and a guaranteed protection of the investment you've placed in all your ISA and EISA cards, things aren't that simple. Some adapter cards have ROMs on them, and 80x86 code sits in those ROMs. And as hard as HAL works to hide the details of the hardware from NT, abstraction only goes so far. The Evolution cannot execute the code in peripheral ROMs. The bottom line: Every card needs a driver for the R4000.

    This could be the greatest hurdle the Evolution (and other non-Intel NT machines) faces. For example, suppose you manufacture an Ethernet card that you want to unleash on the NT market. Thanks to HAL, your programmers can write driver code in C with the understanding (and hope) that the source code will work on all NT platforms, regardless of what processor happens to be running the system. But drivers are not "binary portable" across processor lines. If NT continues to advance in its current direction and you intend to thoroughly cover the NT marketplace, you'll have to ship your card with an Intel 80x86/Pentium driver, a Mips R4000 driver, and a DEC Alpha driver.

    If you look at this dilemma from the user's side, it becomes more than a matter of whether a card comes with the driver you need. What's also important is whether all the cards you already own will work. It's unclear on whose shoulders will fall the task of porting drivers across processor lines (and verifying that the ports function properly).

The Cost of Evolution

    What will an Evolution set you back? The low-end model at $3995 includes a 50-MHz R4000 CPU, 16 MB of RAM, a 14-inch monitor driven by an S3-based video adapter, a 3 1/2-inch floppy drive, and a 200-MB IDE hard drive. Upscale, you'll pay $9995 for a 50-MHz R4400 CPU, 64 MB of RAM, a 21-inch monitor driven by an S3-based video card, a 3 1/2-inch floppy drive, a 500-MB SCSI hard drive, and a Multi-Session CD-ROM drive. This version is much like the system I tested, although mine had a smaller hard drive.

    The fate of the Evolution depends primarily on the success of Windows NT. Presuming NT is a smash, getting the most performance out of the Evolution will depend on how rapidly vendors recompile applications into R4000 code, and whether a critical mass of supported peripherals (with drivers) appears. The ARC specification will play only a small role in defining the success of Mips-based systems. Most Mips system vendors, like DeskStation, use ARC only as a starting point.

    For now, the outcome is anybody's guess. The Evolution certainly has the price, and the performance under NT. Let's see if it gets the support.

The Facts

rPC 444e/100 - $9995 High-End Configuration Mips R4400PC CPU 64 MB of RAM 21-inch 1024- by 768-pixel noninterlaced monitor S3 accelerated video card CD-ROM drive 3 1/2 -inch 1.44-MB floppy drive 500-MB SCSI hard drive

DeskStation Technology, Inc. 13256 West 98th St. Lenexa, KS 66215 (913) 599-1900 (800) 793-3375 fax: (913) 599-4024

Figure: The Evolution's Bus Architecture The Evolution's motherboard is home for three buses. A 64-bit-wide R4000 bus connects the CPU to a secondary cache; a 486 bus serves as the interface between the R4000 and PC peripherals; and an EISA bus provides expansion. A DeskStation Technology custom chip set links the R4000 to secondary cache and to the 486 bus, while an Opti chip set links the 486 bus to EISA. System memory hangs off the EISA bus.

BYTE DOS Benchmarks

    Running BYTE's low-level DOS benchmarks in the Evolution's "DOS Box" revealed that the CPU emulation is respectable, but its FPU emulation takes the machine to its knees. All indexes are relative to an 8-MHz 286, because the Evolution emulates only a 286. (Higher numbers are better.)

CPU 3.19 7.29 3.75
FPU 0.80 6.78 4.64

BYTE Portable Benchmarks

    Windows NT CPU and FPU portions of a preliminary version of BYTE's soon-to-be-released portable benchmarks give a good indication of how much faster the Evolution's 50-MHz R4400PC is when matched against a 66-MHz 486DX2 and a 60-MHz Pentium system (all running a March 1993 beta of Windows NT). The Evolution shows 2 to 2.5 times the performance of a 66-MHz 486DX2 and 1 to 1.5 times the performance of a 60-MHz Pentium. These indexes are scaled against a 33-MHz 486. (Higher numbers are better.)

Numeric Sort 4.00 3.90 2.35
String Sort 6.60 4.75 2.54
Bitfield 6.20 4.52 2.30
Emulated Floating Point 3.50 1.79 1.17
Simple FPU Test 4.90 4.43 2.33
Transcendental FPU Test 3.90 3.71 2.05


    Rick Grehan is technical director of the BYTE Lab. He has a B.S. in physics and applied mathematics and an M.S. in mathematics/computer science. You can reach him on BIX as "rick_g".