[ 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
|