[ The PC Guide | Systems and Components Reference Guide | The Processor | Processor Families | Fifth Generation Processors ]

Cyrix 6x86 ("M1")

Cyrix entered the fifth generation processor market in a big way with its (IMO poorly-named) 6x86 processor, formerly called the M1. This is an advanced processor that is an alternative to the Intel Pentium, and is pin- and voltage-compatible with it. Cyrix apparently gave it the "6x86" moniker in reference to some of its more advanced features, which it calls "sixth generation". In reality, the processor is comparable in power (and in many ways, architecturally as well) to the fifth-generation Pentium. It is, like the Pentium, a superscalar, native x86 execution CPU.

The 6x86, like the AMD K5, is not a Pentium "clone", in the traditional sense of the word. Clones are exact or near-exact copies, usually being reversed engineered or based on licensed code. The 6x86 is based on an original design of Cyrix's and is not 100% Pentium compatible. (It is 100% x86 compatible, but the Pentium uses some extensions to the base x86 instruction set that the 6x86 doesn't support).

The 6x86 incorporates several advanced architectural features that allow it to outperform a Pentium of equal clock speed. For example, a Cyrix running at 133 MHz will typically equal or outperform a Pentium 166 (not Pentium with MMX 166). For this reason, and because the public seems overly obsessed with thinking that clock speed is all that matters, Cyrix helped invent the "P rating" system. This was a good idea, to help people make more valid comparisons. Unfortunately however, it has caused a great deal of confusion of its own, because Cyrix named the chips with their P rating and not their clock speed. Many users (and even vendors!) confuse the P rating with the clock speed and try to set their motherboards to run, say, a 6x86-PR166+ to run at 166 MHz. This is overclocking the chip by 25% and the usual result is that the chip fails. It is important to make sure that the chip is set to its correct clock speed.

Compared to the Pentium (classic), the Cyrix 6x86 has the following enhancements or improvements that contribute to its greater performance to clock speed ratio (it also has all the advantages over the 486 that are mentioned in the section discussing the original Pentium):

  • Deepening of Internal Pipelines: Both of the internal integer executions units are increased from 5 to 7 stages.
  • Out of Order Completion: Instructions flowing down the two integer pipelines can complete out of order.
  • Superior Branch Prediction Unit: The branch prediction unit of the 6x86 can handle multiple branches and has better performance than the Pentium's.
  • Improved Cache Mapping: The primary cache in the 6x86 is 4-way set associative instead of the Pentium's 2-way. (It is also unified instead of being split like the Pentium's, though I don't think this is really an enhancement).
  • Register Renaming: This feature improves parallel performance of the pipelines.
  • Speculative Execution: The 6x86 uses speculative execution to reduce pipeline stall time.

Of course the 6x86 is also cheaper than a Pentium of the same performance rating. Often, it is less than half the cost. This is in fact the main reason that the 6x86 is purchased instead of the Pentium. Compared to the Pentium (classic), the 6x86 has the following disadvantages:

  • Software Compatibility Problems: This is probably the biggest problem with the 6x86 and one reason that many people won't use it, even though it provides excellent value for many applications. Some rather parochial software has been written by programmers who think Intel is the only company making CPUs, and therefore they have used Pentium-specific instructions (recall that the Pentium has extensions to the standard x86 instruction set). This causes problems with the 6x86 because the 6x86 is not 100% Pentium compatible. Some companies have made "patches" available to allow their software to run on the 6x86. This problem is most pronounced with games and high-end graphical utilities that have been heavily optimized for the Pentium.
    One of the most publicized problems with the 6x86 is that its early versions had a bug that causes Windows NT to run more slowly than it should have. Cyrix has addressed this issue and is offering chip replacements to affected users. New systems shouldn't have this problem.
  • Processor Identification Problems: In addition to programs that won't work with the 6x86, there are those that would work with the 6x86 if only they knew what it was. There is a special instruction called "CPUID" that is used to identify the make and model of the processor. Some programs use this to detect if the computer is running on a Pentium, and will refuse to run (or run in a reduced mode) if they don't find one. These tests were originally used by software requiring a lot of power, to distinguish between Pentiums and 486s (which the software would be too slow to run on). The 6x86 by default does not respond to the "CPUID" instruction so some programs think it is a 486. Again, this problem is most pronounced with games. Also, early versions of Windows 95 will not identify the 6x86 properly since they predate it--they think it is a 486. This doesn't cause any performance problems however, other than programs (games) running under Windows 95 looking at the information that Windows 95 detects to decide if the machine is a Pentium or not . This problem is also fixed with the OEM SR2 release, which detects the 6x86 properly.
    Various utilities are available to "trick" the system into identifying the chip as a Pentium, if needed. This can solve many of these problems, although not all of them. See this page for more information.
  • Motherboard Compatibility Problems: Some motherboards (especially cheapo ones) have quirks that cause them not to work correctly with the 6x86. Cyrix maintains an approved motherboard list to help 6x86 buyers choose boards that are compatible with the chip. There are some boards that will work with it despite not being on the list, but the ones on it are known to work.
  • Heat and Power Problems: The 6x86 uses significantly more power and generates more heat than the Pentium. This causes problems in some boxes and with some motherboards. Later versions address this issue and the low-power 6x86L eliminates it almost completely (but requires a motherboard with 2.8 volt core power). The best way to avoid this problem is to use an approved motherboard (as mentioned just above) since often the heat problems are caused by motherboards with insufficient voltage regulators. You should also use an active heat sink specifically meant for use on the 6x86; special cooling units are designed for the 6x86 and cool better than generic Pentium fans.
  • No Multi-Processor Support: The implementation of SMP (symmetric multiprocessing) supported by today's motherboards is customized to Intel processors and will not work with the 6x86.
  • Lower-Power Floating Point Unit: While the 6x86 equals or exceeds a Pentium of its "P rating" at integer operations, it lags far behind in floating-point performance. Cyrix intentionally decided not to spend time optimizing the FPU due to its lack of importance for most applications (which is true). A 6x86 generally has floating point performance slightly below a Pentium of its clock speed (as opposed to P rating). So a 6x86-PR166+ has integer performance equal to a Pentium 166 or higher, but floating point performance more comparable to a Pentium 120 or even 100. The most famous problem this causes is with Quake, the popular game that uses floating point instructions. Most games actually do not use the FPU much at all.

Many of the compatibility problems with the 6x86 are a result of the fact that most software was written when Intel was the "only game in town". With AMD and Cyrix establishing themselves as serious players, it is likely that in the future programmers will be more comprehensive in their choice of coding methods. However, the 6x86 really isn't totally Pentium compatible, which the buyer needs to take into consideration.

The 6x86 chip is designed for Socket 7, and is available in several different clock speeds, some of them rather unusual. All of the chips use a 2x multiplier, and they support bus speeds of 50, 55, 60, 66 and 75 MHz. Of course only 3 of those will be readily recognizable to those familiar with Pentium processors. The 55 MHz bus speed of the PR133+ is in particular an oddball; many (if not most) motherboards will not support this speed.

The 75 MHz bus speed is an interesting advance in many ways, as it pushes the traditional 66 MHz memory speed limit forward. The system bus speed is for most systems a bottleneck that severely limits overall performance; increasing it can increase performance greatly. This in fact is one major reason that the 150 MHz 6x86-PR200+ performs at the level of a Pentium 200. However, there are several additional caveats associated with the 75 MHz bus speed used by the 6x86-PR200+:

  • Chipset Support: Intel is the major producer of Pentium-class chipsets, which are rated to 66 MHz, the fastest memory bus speed that Intel processors use. Not surprisingly :^) Intel is not in a big hurry to support a higher bus speed used only by a Cyrix chip. This leaves two choices for motherboard manufacturers: overclock an Intel chipset (which some do) or use an alternative.
  • Motherboard Support: Largely because of the chipset problem, motherboards that support the 75 MHz bus speed of the PR200+ are harder to find than regular motherboards.
  • PCI Device Overclocking: Since the PCI bus runs at half of the memory bus speed, when you increase the memory bus to 75 MHz you are increasing the PCI bus to 37.5 MHz. When you do this, you are effectively overclocking all of your PCI cards by 12.5%. This is not usually a problem, but you should bear in mind that many peripheral makers do not do extensive testing at the higher bus speed because of the very small market of the Cyrix chips. This will hopefully change in the future as higher bus speeds become more prevalent.

The Cyrix 6x86 is manufactured by IBM, which in fact also sells the 6x86 under its own name. (Cyrix doesn't have its own manufacturing facilities). These chips are identical; they are manufactured in the same IBM fabrication plant, and independently packaged and tested. The rumor is that the IBM version is superior due to better testing, but I've found nothing reliable to prove this.

Responding to complaints about the heat and power problems of the 6x86, Cyrix came out with a lower powered version called the 6x86L. This chip reduces power consumption by 25% or more compared to the 6x86. It uses a smaller, 0.35 micron circuit size, and split rail voltage much like the Pentium with MMX (3.3V external, 2.8V internal). This version is preferred for those seeking to reduce the power problems of earlier models.

Overall, the 6x86 is a decent processor that provides a lot of value, but at the cost of some headaches that users will have to deal with. When it first came out, it was an excellent alternative to the Intel Pentium CPU, because it was selling for several hundred dollars less. As Pentium prices dropped, so did the spread in cost between it and the 6x86, and there was increasingly little reason to use the Cyrix chip. Today the 6x86 is essentially obsolete; the main reason is the inexpensive availability of Cyrix's own 6x86MX MMX chip.

See this web site dedicated to the Cyrix 6x86 family for more information on this processor.

Note: The 6x86 scores quite impressively on the older processor benchmarks such as Norton SI 8.0. Do not be deceived into thinking that the 6x86-PR200 is 60% faster than the Pentium 200 as this benchmark implies. If anything, this statistic just proves how inadequate the older benchmarks really are at accurately measuring the capabilities of a modern PC. Compare to the same benchmark for the AMD K5, which has similar overall performance.

Look here for an explanation of the categories in the processor summary table below, including links to more detailed explanations.

General Information

Manufacturer

Cyrix

Family Name

6x86, 6x86L

Code name

"M1"

Processor Generation

Fifth

Motherboard Generation

Fifth

Version

6x86-
PR120+

6x86-
PR133+

6x86-
PR150+

6x86-
PR166+

6x86-
PR200+

Introduced

1995

1996

Variants and Licensed Equivalents

IBM 6x86 (same chip, marked differently and using different test process)

Speed Specifications

Memory Bus Speed (MHz)

50

55

60

66

75

Processor Clock Multiplier

2.0

Processor Speed (MHz)

100

110

120

133

150

"P" Rating

120

133

150

166

200

Benchmarks

iCOMP Rating

!?

iCOMP 2.0 Rating

!?

Norton SI

676

750

816

907

1020

Norton SI32

32

~37

41

48

~55

CPUmark32

!?

Physical Characteristics

Process Technology

CMOS

Circuit Size (microns)

0.6 (0.35 for 6x86L)

0.5 then 0.44 (0.35 for 6x86L)

Die Size (mm^2)

210 (169 for 6x86L)

169

Transistors (millions)

3.0

Voltage, Power and Cooling

External or I/O Voltage (V)

3.3

Internal or Core Voltage (V)

3.3 (2.8 for 6x86L)

Power Management

SMM

Cooling Requirements

Active heat sink

Packaging

Packaging Style

296-Pin SPGA

Motherboard Interface

Socket 7

External Architecture

Data Bus Width (bits)

64

Maximum Data Bus Bandwidth (Mbytes/sec)

381.5

419.6

457.8

508.6

572.2

Address Bus Width (bits)

32

Maximum Addressable Memory

4 GB

Level 2 Cache Type

Motherboard

Level 2 Cache Size

Usually 256 KB - 512 KB

Level 2 Cache Bus Speed

Same as Memory Bus

Multiprocessing

No

Internal Architecture

Instruction Set

x86

MMX Support

No

Processor Modes

Real, Protected, Virtual Real

x86 Execution Method

Native

Internal Components

Register Size (bits)

32

Pipeline Depth (stages)

7

Level 1 Cache Size

16 KB Unified

Level 1 Cache Mapping

4-Way Set Associative

Level 1 Cache Write Policy

Write-Through, Write-Back

Integer Units

2

Floating Point Unit / Math Coprocessor

Integrated

Instruction Decoders

1

Branch Prediction Buffer Size / Accuracy

256 entries / 85-90%

Write Buffers

4

Performance Enhancing Features

Out of Order Execution, Speculative Execution, Register Renaming

Next: AMD K5 ("K5" / "5k86")


Home  -  Search  -  Topics  -  Up

The PC Guide (http://www.PCGuide.com)
Site Version: 2.2.0 - Version Date: April 17, 2001
© Copyright 1997-2004 Charles M. Kozierok. All Rights Reserved.

Not responsible for any loss resulting from the use of this site.
Please read the Site Guide before using this material.