MIPS microprocessors are an unusual tale in the world of CPUs. First of all, MIPS, the developer, doesn’t manufacture them. The company develops the micro-architecture and sells patents for its use. As a result, there are much more processors with the MIPS architecture (mostly 32-bit ones, of course) than with the x86 one! Particularly, from one third to half of all processors embedded into various kinds of household appliances are MIPS! Well, this article is not about embedding.
The fastest solution from MIPS is called R16000. It is a 64-bit processor, which, for example, was used by SGI, a firm known for its video-editing workstations.
The R16000 contains 32KB of dual-channel partially-associative L1 instruction cache (curiously, the access time doesn’t depend on whether the instructions in the cache are “leveled up”) and 32KB of dual-channel L1 data cache. The latter is divided into two independent banks. The processor also contains two 64-bit ALUs and two FPUs, one of which is responsible for addition and another for multiplication (and some other more complex operations). The R16000 supports out-of-order execution and a register renaming mechanism. The pipeline of the R16000 has only 6 stages.
The L2 cache is external, DDR SRAM, and works at half the CPU frequency, using the DDR protocol. That is, the data come in at the frequency of the processor. The bus of the L2 cache is 128 bits wide (plus 16 bits for error correction). The size of the L2 cache is up to 16MB, typically 4-8MB. The branch-prediction unit uses a 2K branch history table.
The system bus is 64 bits wide and works at 200MHz. The fastest variety of the R16000 works at 700MHz clock rate. Architecturally, the R16000 (like its predecessors) has a large register file - 64 integer resisters and 64 floating-point registers.
Unfortunately, I couldn’t find the performance results of the R16000 among the official results of the SPEC committee. I did find those of its predecessor, the R14000 model. They differ in the system bus frequency (200MHz against 100MHz). The maximum frequency of the R14000 is 600MHz.
So, the R14000 scored 483 in SPEC_int base 2000 and 499 in SPEC_fp base 2000.
As you see, the R14000 doesn’t show a sparkling performance by the today’s show-business standards. Even if we multiply the results by one and a half (the R16000 has a faster system bus), we won’t get an acceptable number. Anyway, the strong point of workstations and servers from SGI has always been the NUMA-flex architecture, which allows uniting up to 1024 processors into one computer under control of one copy of an operation system (called Irix). Besides that, four processors can be directly attached to each other, without switches, but such systems never really took off.
Today SGI has switched to the Itanium, so there is little hope we will see the MIPS R16000 platform developing any further.