c6 Data Sheet
c6 Data Sheet
idt
C6
TM
Processor
Data Sheet
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
Trademarks
WinChip, IDT-C6, C6, and CentaurHauls are trademarks of Integrated Device Technology
Corporation.
AMD, the AMD logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc.
Am486 is a registered trademark, and AMD-K6 is a trademark of Advanced Micro Devices, Inc.
Microsoft and Windows are registered trademarks of Microsoft Corporation.
Intel, the Intel logo, and combinations thereof are trademarks of the Intel Corporation. MMX and
Intel486 are trademarks of the Intel Corporation. Pentium is a registered trademark of the Intel
Corporation.
Cyrix, the Cyrix logo, and combinations thereof are trademarks of the Cyrix Corporation. Cyrix
6x86MX is a trademark of the Cyrix Corporation.
Other product names used in this publication are for identification purposes only and may be
trademarks of their respective companies.
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
REVISION HISTORY
CONTENTS
1 INTRODUCTION ...................................................................1-1
1.1 Basic Features .................................................................1-1
1.2 Processor Versions ..........................................................1-2
1.3 Competitive Comparisons ................................................1-3
1.4 Compatibility.....................................................................1-6
1.5 Data Sheet Assumptions ..................................................1-7
2 ARCHITECTURE...................................................................2-1
2.1 Introduction.......................................................................2-1
2.2 Key Concepts ...................................................................2-2
2.3 Component Summary.......................................................2-3
2.3.1 General Architecture ..................................................2-3
2.3.2 I-Cache .......................................................................2-5
2.3.3 Translator Unit............................................................2-5
2.3.4 Execution Unit ............................................................2-6
2.3.5 D-Cache .....................................................................2-7
2.3.6 X86 Fetch Unit............................................................2-7
2.3.7 FP-Unit .......................................................................2-8
2.3.8 MMX-Unit....................................................................2-8
2.3.9 Bus-Unit......................................................................2-8
3 PROGRAMMING INTERFACE..............................................3-1
3.1 General.............................................................................3-1
3.2 Additional Functions.........................................................3-3
3.3 Machine-Specific Functions .............................................3-3
3.3.1 General.......................................................................3-3
3.3.2 CPUID Instruction.......................................................3-4
3.3.3 Extended CPUID Instruction Functions ......................3-7
3.3.4 EDX Value After Reset. ..............................................3-8
3.3.5 CR4 ............................................................................3-9
3.3.6 Machine-Specific Registers......................................3-10
3.4 Omitted Functions ..........................................................3-10
3.4.1 Pentium Appendix H Enhancements ........................3-11
3.4.2 Other Functions........................................................3-12
CONTENTS i
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
4 HARDWARE INTERFACE.....................................................4-1
4.1 Bus Interface ....................................................................4-1
4.1.1 Differences .................................................................4-1
4.1.2 Clarifications...............................................................4-3
4.1.3 Omissions...................................................................4-3
4.2 Signal Summary ...............................................................4-4
4.3 Power Management..........................................................4-7
4.3.1 Static Power Management..........................................4-7
4.3.2 Dynamic Power Management.....................................4-7
4.4 Test & Debug ...................................................................4-8
4.4.1 Machine Check...........................................................4-8
4.4.2 BIST............................................................................4-8
4.4.3 Internal Error Detection ..............................................4-9
4.4.4 JTAG ..........................................................................4-9
4.4.5 Debug Port ...............................................................4-10
5 ELECTRICAL SPECIFICATIONS..........................................5-1
5.1 AC Timing Tables for 75-MHz Bus ...................................5-1
5.2 AC Timing Tables for 66-MHz Bus ...................................5-3
5.3 AC Timing Tables for 60-MHz Bus ...................................5-6
5.4 DC Specifications .............................................................5-8
5.4.1 Recommended Operating Conditions ........................5-8
5.4.2 Maximum Ratings .......................................................5-9
5.4.3 DC Characteristics ...................................................5-10
5.4.4 Power Dissipation.....................................................5-10
6 MECHANICAL SPECIFICATIONS ........................................6-1
6.1 CPGA Package ................................................................6-1
7 THERMAL SPECIFICATIONS...............................................7-1
7.1 Introduction.......................................................................7-1
7.2 Typical Environments .......................................................7-1
7.3 Measuring TC ....................................................................7-1
7.4 Estimating TC ....................................................................7-2
7.5 Recommended Thermal Solutions ...................................7-4
7.6 Contacts ...........................................................................7-5
ii CONTENTS
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
CONTENTS iii
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
1 INTRODUCTION
INTRODUCTION 1-1
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
1-2 INTRODUCTION
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
INTRODUCTION 1-3
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
1-4 INTRODUCTION
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
INTRODUCTION 1-5
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
1.4 COMPATIBILITY
The IDT WinChip C6 processor is compatible with both the Intel
Pentium processor and the new Intel Pentium processor with
MMX technology. However, the IDT WinChip C6 processor is
specifically optimized for desktop and mobile PC configurations
(as opposed to server environments).
An IDT WinChip C6 processor can plug into existing Pentium
processor-based desktop and portable system boards and can
operate without requiring changes to the system hardware. In
some cases, a special BIOS may be needed (due to possible use
by the BIOS of Pentium processor-unique machine specific
registers). Currently, BIOS support for the IDT WinChip C6
processor is available from Award, AMI, and SystemSoft.
The IDT WinChip C6 processor does not provide Pentium-
compatible multiprocessing (neither do the mobile Pentium
processor, the AMD-K6 processor, and the Cyrix 6x86MX
processors).
Note that all processors developed for use in PCs (“x86”
processors) have some differences in low-level functions. (These
include differences between the various Intel processors; and
between these processors and the equivalent Cyrix and the
AMD processors.) The IDT WinChip C6 processor has similar
differences.
Centaur has performed extensive testing of hundreds of PC
boards, peripherals, software applications, and operating
systems to confirm the IDT WinChip C6 processor’s
compatibility.
Indicative of this compatibility, the IDT WinChip C6 processor
has obtained the XXCAL Inc. Platinum Certification (their
highest compatibility rating) and Microsoft Windows 95
certification.
1-6 INTRODUCTION
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
INTRODUCTION 1-7
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
2 ARCHITECTURE
2.1 INTRODUCTION
Even though the IDT WinChip C6 processor is externally
compatible with the Pentium processor, the internal
architecture and design of the IDT WinChip C6 processor is very
different from that of the Pentium processor and other
contemporary x86 processors such as the AMD-K6 and Cyrix
6x86MX processors. The IDT WinChip C6 processor uses a
unique design approach that provides significant benefits to the
end-user.
This design approach provides high performance at low cost and
low power using a relatively simple architecture that runs at
high internal clock frequencies (MHz), includes large on-chip
caches, and is extensively optimized for the target PC
environment. The resulting IDT C6 processor is smaller (die size
is only 88 mm2 in 0.35µ geometry technology) and uses less
power than any contemporary X86 processor.
Philosophically, this is a return to the same basic concepts of
RISC design that allowed microprocessor performance
breakthroughs in the 1980’s. Recently, however, contemporary
x86 processors have followed a different path using very
complex internal designs employing advanced architecture
concepts such as superscalar execution, out-of-order instruction
execution, reorder buffers, non-blocking caches, and so forth
(these terms are all found in the datasheets of competitive
products).
Unfortunately, while these advanced technical concepts make
for good technical reading, the real bottom-line benefit that they
provide to the end-user has been limited; especially when
considering the resultant large chip sizes (resulting in high
costs) and high power consumption. No such advanced technical
hocus-pocus is to be found on an IDT WinChip C6 processor — it
merely offers compatibility with good performance, very low
costs, and very low power consumption.
ARCHITECTURE 2-1
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
2-2 ARCHITECTURE
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
n Optimize the design for the target user environment. The IDT
WinChip C6 processor implements very specific and detailed
design tradeoffs to provide high performance with low cost.
Minimal hardware is provided for functions that are not
heavily used or that are not critical to performance in the
target environments (low-end desktop and mobile systems).
These design optimizations are based on extensive and
detailed analysis of the actual behavior of Windows
operating systems and applications
n Small is beautiful. The IDT WinChip C6 processor is highly
optimized for small physical size and few logic transistors. In
addition to the obvious cost benefits, this small size provides
secondary benefits of low power consumption and improved
reliability.
ARCHITECTURE 2-3
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
X86-To-Microcode
Translator X
Queue
Decode R
PDC
Address Gen A
Address
D-Cache FP MMX
Access Pipe Pipe D
& Execute
Writeback W
D-TLB D-Cache
BFRS
2-4 ARCHITECTURE
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
2.3.2 I-Cache
The I-cache contains 32 KB organized as two-way set associative
with 32-byte lines. An LRU replacement algorithm is used. The
associated I-TLB contains 64 entries organized as a 4-way set
associative with a pseudo-LRU replacement algorithm. This
large cache has a one-clock access time and operates at the high
clock frequencies of the IDT WinChip C6 processor.
The I-TLB utilizes an eight-entry unified page directory cache
that significantly reduces the TLB miss penalty. In addition, the
I-cache control logic includes several innovative features that
minimize cache invalidates and unnecessary bus fetches.
As opposed to many other contemporary x86 processors, the data
in the I-cache is exactly what came from the bus; that is, there
are no “hidden” pre-decode bits. This facilitates the provision of
large cache capacity in a small physical size.
The I-cache is dynamically turned off when not used to reduce
power requirements.
ARCHITECTURE 2-5
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
2-6 ARCHITECTURE
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
2.3.5 D-Cache
The D-cache is very similar to the I-cache: 32 KB organized as
two-way set associative with 32-byte lines. An LRU replacement
algorithm is used. The associated D-TLB contains 64 entries
organized as 4-way set associative with a pseudo-LRU
replacement algorithm. This large cache has a one-clock access
time and is designed to operate at the high clock frequencies of
the IDT WinChip C6 processor. The D-TLB shares the 8-entry
unified page directory cache which reduces the TLB miss
penalty. The D-cache is dynamically turned off when not used to
reduce power requirements.
ARCHITECTURE 2-7
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
2.3.7 FP-Unit
In addition to the basic integer execution unit, the IDT WinChip
C6 processor has a separate 80-bit floating-point execution unit
that can execute floating-point instructions in parallel with
integer instructions.
The floating-point unit is designed to maximize clock frequency
and to minimize chip size while providing adequate levels of
floating-point performance for typical desktop use. Some
floating-point instructions are pipelined, but some are only
partially pipelined.
The IDT WinChip C6 processor issues only one instruction per
clock but most integer instructions and most floating-point
instructions can execute in parallel.
The floating-point unit is dynamically turned off when not used
to reduce power requirements.
2.3.8 MMX-Unit
The IDT WinChip C6 processor contains a separate execution
unit for the new MMX-compatible instructions. The MMX
architecture registers are the same as the floating-point
registers, otherwise the MMX execution unit has its own adder,
multiplier and shifter separate from the floating-point unit.
The MMX unit is dynamically turned off when not used to
reduce power requirements.
2.3.9 Bus-Unit
The IDT WinChip C6 processor bus unit provides an external
bus interface compatible with the Pentium processor. In
addition to the expected bus control functions, the bus unit
implements a large page-directory cache to reduce the impact of
TLB misses as well as several special optimizations intended to
reduce cache misses. Four 64-bit write buffers allow internal
execution to proceed overlapped with waiting for external stores
to complete.
The IDT WinChip C6 processor bus unit contains many special
features designed to reduce bus traffic and cache disruption.
Examples include store byte-combining function, cache cast-out
snarfing, “smart” lock management mechanisms, and so forth.
2-8 ARCHITECTURE
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
3 PROGRAMMING INTERFACE
3.1 GENERAL
In general, the IDT WinChip C6 processor is compatible with
both the bus and software-visible architecture of the Intel
Pentium processor with MMX technology. That is, a program
that executes on a Pentium processor should generally execute
on an IDT WinChip C6 processor and produce the same results
(with the exceptions as noted in this datasheet).
The IDT WinChip C6 processor’s Pentium-compatible functions
include:
n All basic X86 instructions, registers, and functions
3.3.1 General
All x86 processor implementations provide a variety of machine-
specific functions. Examples are cache and TLB testing features,
and performance monitoring features that expose the internal
implementation features. These types of functions are different
and incompatible among all different x86 implementations—
including the Intel i486, the Pentium, and the Pentium Pro
processors, and between these processors and competitive
processors from Cyrix and AMD. The Intel documentation
clearly identifies these types of functions as machine-specific
and warns of possible changes in new implementations.
This section describes the IDT WinChip C6 processor machine-
specific functions that are most likely used by software and
compares them to related processors where applicable. Appendix
A describes the IDT WinChip C6 processor machine-specific
registers (MSRs).
This section covers those features of Pentium-compatible
processors that are used to commonly identify and control
processor features. All Pentium-compatible processors have the
same mechanisms, but the bit-specific data values often differ.
Table 3-1
Register[bits] - C6 P54 P55 K6 M2
Meaning
EAX 1 1 1
(highest EAX input
value understood
by CPUID)
EBX:EDX:ECX “Centaur “Genuine “Genuine “Authentic “Cyrix
(vendor ID string) Hauls” Intel” Intel” AMD” Instead”
Table 3-2
EAX Bits - C6 P54 P55 K6 M2
Meaning
3:0 - Stepping ID
7:4 - Model ID Same as the return value in EDX after Reset
(see next section)
11:8 - Family ID
13:12 - Type ID
Table 3-3
EAX Bits - Meaning C6 P54 P55 K6 M2 Notes
0 - FP present 1 1 1 1 1
1 - VM86 Extensions (VME) 0 1 1 1 0 1
2 - Debugging Extensions 1 1 1 1 1
3 - Page Size Extensions (4MB) 0 1 1 1 0 1
4 - Time Stamp Counter (TSC) 1 1 1 1 1 2
supported
5 - Model Specific Registers 1 1 1 1 1 3
present
6 - PAE supported (P6 Function) 0 0 0 0 0 4
7 - Machine Check Exception 1/0 1 1 1 0 5
8 - CMPXCHG8B instruction 0/1 1 1 1 1 6
9 - APIC supported 0 1 1 0 0 7
10:11 -Reserved
12- Memory Range Registers 0 0 0 0 0 8
13 - PTE Global Bit supported 0 0 0 0 1 4
14- Machine Check Architecture 0 0 0 0 0 4
supported
15- Conditional Move supported 0 0 0 0 1 4
16:22 - Reserved
23 - MMX supported 1/0 0 1 1 1 98
24:31 - Reserved
3.3.5 CR4
Control register 4 (CR4) is a new feature of the Pentium
processor that controls some of its advanced features. The IDT
WinChip C6 processor provides a CR4 with the following
specifics:
Notes On CR4
General: a “0/1” means that the default setting of this bit is 0
but the bit can be set to (1). A “0” means that the bit is always 0;
it cannot be set. An “r” means that this bit is reserved. It
appears as a 0 when read, and a GP exception is signaled if an
attempt is made to write a 1 to this bit.
1. The IDT WinChip C6 processor does not provide this
“Appendix H” function and this CR4 bit cannot be set.
However, no GP exception occurs if an attempt is made to
set this bit. The Cyrix 6x86MX processor also does not
provide this function.
2. This is a Pentium-Pro processor function that is typically
not provided on P55-compatible processor.
3. The IDT WinChip C6 processor Machine Check has
slightly different specifics than the P54C Machine Check
function
4 HARDWARE INTERFACE
4.1.1 Differences
The areas where the IDT WinChip C6 processor differs from the
Pentium processor are not anticipated to cause operational
compatibility issues. These differences are:
n Bus Frequency Control
n Machine Check Exceptions on BUSCHK# and PEN#
n Drive Strengths
n Probe Mode / JTAG / TAP Port (see Test and Debug Section)
Drive Strength
Desktop Pentium processors have three driver strengths that
can be selected at Reset for certain pins (for example ADS#).
The driver strength is selected by the BRDYC# and BUSCHK#
pins when sampled at RESET deassertion
4.1.2 Clarifications
Power Supply Voltage
The IDT WinChip C6 processor operates with a unified power
plane. Depending on the version, the processor requires either
3.3 Volts or 3.52 Volts at its VCC inputs.
The IDT WinChip C6 package is compatible with Socket 7, in
that the VCC2DET# pin is internally no-connected. Flexible
socket 7 motherboards can use the fact that VCC2DET# is not
internally connected to force the motherboard core and pad
regulators to produce the same voltage.
5V Tolerance
Like the P55, the IDT WinChip C6 processor’s CLK input is not
5 Volt tolerant. It should be driven by a 3.3 Volt device.
4.1.3 Omissions
Advanced Peripheral Interrupt Controller (APIC)
The APIC is not supported by the IDT WinChip C6. The APIC
pins (PICCLK, PICD0, and PICD1) are classified as reserved,
and should not be connected on the motherboard.
(The APIC is also not supported in the mobile Pentium
processor, the Cyrix 6x86MX and AMD-K6 processors.)
4.4.2 BIST
A Built-in Self Test (BIST) can be requested as part of the IDT
WinChip C6 processor reset sequence using exactly the same
mechanism as used on the Pentium processor (INIT asserted as
RESET deasserted).
4.4.4 JTAG
The IDT WinChip C6 processor has a JTAG scan interface
which is used for test functions and the proprietary Debug Port.
However, unlike the Pentium processor, the IDT WinChip C6
processor does not provide a fully compatible IEEE 1149.1 JTAG
function. In particular, the boundary scan function is not
provided.
From a practical user viewpoint, JTAG does not exist and the
associated pins (TCK, and so forth) should not be used.
5 ELECTRICAL SPECIFICATIONS
t6e ADC#, D/C#, W/R#, SCYC Valid Delay 0.8 7.0 ns (1)
t38 RESET Pulse Width, Vcc & CLK Stable 15.0 CLK’s
t39 RESET Pulse Width after Vcc & CLK 1.0 ms Power
Stable Up
Notes:
1. CL = 0 pF
2. Not 100% tested. Guaranteed by design and characterization
3. All outputs are glitch free signals, guaranteed to rise and fall monotonically when driven into
capacitive loads. Most system loads must be treated as transmission lines. Depending on the
length of the transmission line, loading and impedance mismatches, the signal may not rise or
fall monotonically at a given point along the transmission line.
4. Setup time must be met to guarantee sampling on a given processor clock. Signals may be
driven asynchronously, but, if so, are not guaranteed to be sampled by a specific clock edge.
5. Hold time must be met to guarantee sampling on a given processor clock. Signals may be driven
asynchronously, but, if so, are not guaranteed to be sampled by a specific clock edge.
6. To guarantee proper recognition, signal must be deasserted for two or more processor clocks
when driven asynchronously. When driven synchronously, signal must be deasserted for one
processor clock to be recognized.
t6e ADC#, D/C#, W/R#, SCYC Valid Delay 0.8 7.0 ns (1)
t38 RESET Pulse Width, Vcc & CLK Stable 15.0 CLK’s
t39 RESET Pulse Width after Vcc & CLK 1.0 ms Power
Stable Up
t38 RESET Pulse Width, Vcc & CLK Stable 15.0 CLK’s
t39 RESET Pulse Width after Vcc & CLK 1.0 ms Power
Stable Up
5.4 DC SPECIFICATIONS
5.4.3 DC Characteristics
Table 5-4. DC Characteristics
Parameter Min Max Units Notes
VOH - High Level Output Voltage 2.4 Vcc V @ Ioh = 8mA
(typical drive strength)
VOH - High Level Output Voltage 2.4 Vcc V @ Ioh =
16mA
(medium drive strength)
VOL - Low Level Output Voltage 0 0.4 V @ Iol = -8mA
(typical drive strength)
VOL - Low Level Output Voltage 0 0.4 V @ Iol = -
16mA
(medium drive strength)
IL - Input Leakage Current ± 15 µA
ILU - Input Leakage Current for 200 µA
inputs with pull-ups
ILD - Input Leakage Current for -400 µA
inputs with pull-downs
Note:
The above power consumption is 100% tested at 70°C case and 3.52Volts.
Note:
The above power consumption is 100% tested at 70°C case and 3.3Volts.
6 MECHANICAL SPECIFICATIONS
U
VCC CACHE# INV
CPGA VCC VSS VCC
U
T
VSS M/IO#
PINOUT VCC VSS
T
S
VCC NC NC (PINSIDE VIEW) NC NC VCC
S
R R
VSS NC NC VSS
Q Q
VCC NC FERR# TRST# NC VCC
P P
VSS IERR# TMS VSS
N N
VCC D63 DP7 TDO TDI VCC
M M
VSS D62 TCK VSS
L L
VCC D61 D60 VCC NC VCC
K K
VSS D59 D0 VSS
J J
VCC D57 D58 NC D2 VCC
H H
VSS D56 NC VSS
G G
VCC D55 D53 D3 D1 VCC
F F
DP6 D51 DP5 D5 D4
E E
D54 D52 D49 D46 D42 D7 D6 VCC
D D
D50 D48 D44 D40 D39 D37 D35 D33 DP3 D30 D28 D26 D23 D19 DP1 D12 D8 DP0
C C
NC D47 D45 DP4 D38 D36 D34 D32 D31 D29 D27 D25 DP2 D24 D21 D17 D14 D10 D9
B B
NC D43 VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS D20 D16 D13 D11
A A
NC D41 VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC D22 D18 D15 NC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
T
VSS VCC
PINOUT M/IO# VSS
T
S
VCC NC NC (TOP SIDE VIEW) NC NC VCC
S
R R
VSS NC NC VSS
Q q
VCC NC TRST# FERR# NC VCC
P p
VSS TMS IERR# VSS
N N
VCC TDI TDO DP7 D63 VCC
M M
VSS TCK D62 VSS
L L
VCC NC VCC D60 D61 VCC
K K
VSS D0 D59 VSS
J J
VCC D2 NC D58 D57 VCC
H H
VSS NC D56 VSS
G G
VCC D1 D3 D53 D55 VCC
F F
D4 D5 DP5 D51 DP6
E E
VCC D6 D7 D42 D46 D49 D52 D54
D D
DP0 D8 D12 DP1 D19 D23 D26 D28 D30 DP3 D33 D35 D37 D39 D40 D44 D48 D50
C C
D9 D10 D14 D17 D21 D24 DP2 D25 D27 D29 D31 D32 D34 D36 D38 DP4 D45 D47 NC
B B
D11 D13 D16 D20 VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS VSS D43 NC
A A
NC D15 D18 D22 VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC VCC D41 NC
37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
A3 AL-35 D0 K-34 A20M# AK-08 TCK M-34 A-37 A-07 B-06 H-34
A4 AM-34 D1 G-35 ADS# AJ-05 TDI N-35 R-34 A-09 B-08 J-33
A5 AK-32 D2 J-35 ADSC# AM-02 TDO N-33 S-33 A-11 B-10 L-35
A6 AN-33 D3 G-33 AHOLD V-04 TMS P-34 S-35 A-13 B-12 Q-03
A13 AK-28 D10 C-35 BE4# AL-13 C-01 A-27 B-26 AC-03
A14 AL-27 D11 B-36 BE5# AK-14 AN-03 A-29 B-28 AD-04
A15 AK-26 D12 D-32 BE6# AL-15 AN-05 E-37 H-02 AE-03
A16 AL-25 D13 B-34 BE7# AK-16 H-34 G-01 H-36 AE-35
VCC2DET# AL01
7 THERMAL SPECIFICATIONS
7.1 INTRODUCTION
The IDT WinChip C6 is specified for operation with device case
temperatures in the range of 0°C to 70°C. Operation outside of
this range will result in functional failures and potentially
damage the device.
Care must be taken to ensure that the case temperature
remains within the specified range at all times during
operation. An effective heat sink with adequate airflow is
therefore a requirement during operation.
7.3 MEASURING TC
The Intel Pentium Processor Developer’s Manual describes
proper thermal measuring techniques in detail in Chapter 10.
The case temperature (TC) should be measured by attaching a
thermocouple to the center of the IDT WinChip C6 package. The
heat produced by the processor is very localized so measuring
the case temperature anywhere else will underestimate the case
temperature.
The presence of a thermocouple is inherently invasive; effort
must be taken to minimize the effect of the measurement. The
thermocouple should be attached to the processor through a
small hole drilled in the heatsink. Thermal grease should be
used to ensure that the thermocouple makes good contact with
the package, but the thermocouple should not come in direct
contact with the heatsink.
Test Patterns
During normal operation the processor attempts to minimize
power consumption. Consequently, normal power consumption
is much lower than the maximum power consumption. Thermal
testing should be done while running software which causes the
processor to operate at its thermal limits. Your IDT sales
representative can supply you with an executable program
which will maximize power consumption.
7.4 ESTIMATING TC
The IDT WinChip C6 processor’s case temperature can be
estimated based on the general characteristics of the thermal
environment. This estimate is not intended as a replacement
for actual measurement.
Case temperature can be estimated from Tables 7-1 and 7-2
below, where,
TA ≡ Ambient Temperature
TC ≡ Case Temperature
θCA ≡ case-to-ambient thermal resistance
θJA ≡ junction-to-ambient thermal resistance
θJC ≡ junction-to-case thermal resistance
P ≡ power consumption (Watts)
and,
TJ = TC + (P * θJC)
TA = TJ – (P * θJA)
TA = TC – (P * θCA)
θCA = θJA – θJC
Environment: these estimates assume the use of thermal grease between the processor and the
heatsink. Heatsinks are 1.95” square.
Example:
For a system with:
• 200 MHz IDT WinChip C6 @ 3.52V
• TA = 35°C, (ambient air around the heatsink)
1
The Aavid 26437 has an attached Graphite sheet. This eliminates the need for
thermal grease or epoxy.
7.6 CONTACTS
Table 7-5. Heatsink / Fan Kit Contacts
Manufacturer Contact Phone # Address
Aavid Chris Chapman (603)528-3400 One Kool Path
PO Box 400
Laconia, NH 03247
Suite 4
Sunnyvale, CA 94089
Fremont, CA 94539
Stamford, CT 06907
A.1 GENERAL
Tables A-1 and A-2 summarize the IDT WinChip C6 processor
machine-specific registers (MSRs). Further description of each
MSR follows the table. MSRs are read using the RDMSR
instruction and written using the WRMSR instruction.
There are four basic groups of MSRs (not necessarily with
contiguous addresses). Other than as defined below, a reference
to an undefined MSR causes a General Protection exception.
1. Those that are very similar in function (but possibly
different in some detail) to the Pentium processor MSRs.
Generally, the same MSR address is used. These
registers can have some utility to low-level programs
(like BIOS).
Note that some of the first sixteen Pentium MSRs
(addresses 0 to 15) have no function in the IDT WinChip
C6 processor. These MSRs do not cause a GP when used
on the IDT WinChip C6 processor; instead, reads to these
MSRs return zero, and writes are ignored.
2. Memory Configuration Registers which use MSR
addresses that are not used on the Pentium processor.
These MSRs define memory ranges with associated
attributes. These MSRs are similar to the Pentium Pro
processor MTRRs and to the Cyrix 6x86MX processor’s
ARR registers.
3. MSRs used for cache and TLB testing. These use MSR
addresses that are not used on the Pentium. These test
functions are very low-level and complicated to use. They
are not documented in this datasheet but the information
will be provided to customers given an appropriate
justification.
4. There are some undocumented internal-use MSRs used
for low-level hardware testing purposes. Attempts to read
or write these undocumented MSRs cause unpredictable
and disastrous results; so don’t use MSRs that are not
documented in this datasheet!
MSRs are not reinitialized by the bus INIT interrupt; the setting
of MSRs is preserved across INIT.
Notes
1. Pentium processors have MSRs at these addresses. On the
IDT WinChip C6 processor, reads to these addresses return
zero and writes are ignored.
ITR: 0 = Ignored.
1 = Same as for the Pentium processor: enable SMM
I/O Restart function
However, if the user code changes the item that CTR0 or CTR1
is counting (see the counter MSR descriptions), then the TSC
register also changes what it is counting. There is no practical
reason why the machine-specific event counting should be
changed by software. On a Pentium processor, the TSC is a
separate counter from CTR0/CTR1.
Event Description
0 Internal clocks (default event for CTR0)
1 valid cycles reaching writebacks
2 X86 instructions
71 data read cache misses
74 data write cache misses
99 instruction fetch cache miss
31:0
Middle 4 characters of Alternate Vendor ID string
General
The IDT WinChip C6 processor provides extensions over the P55
to define variable size memory ranges with associated special
attributes. These Memory Configuration Registers (MCRs) are
similar to the MTRRs of the Pentium Pro processor and the
Address Region Registers (ARRs) of the Cyrix 6x86MX
processor. All of these approaches perform similar functions but
differ in specifics.
The basic function performed is to define memory regions and
special attributes for these regions such as byte-combining and
weakly ordered stores. These special attributes are deviations
from formal x86 architectural behavior but, in practice, work
fine for specific memory regions in a PC architecture. The
advantage of these special attributes is improved performance
for the affected memory regions.
Base
This is the starting physical address of the memory region. Each
definable memory region starts at a 4-KB page boundary; thus
the low order 12 bits of the address are ignored.
Mask
This is a bit mask defining the size of the memory region. A
memory region hit exists for a MCR if:
Mask address AND memory address = Base address AND
mask address in all bit positions (31:12)
Example 1.
For example, consider the memory range from 0x000A0000 to
0x000BFFFF. This is most efficiently done by masking off the
low order bits that constitute the range.
Viewing the addresses in binary:
0x000A0000 = 0000 0000 0000 1010 0000 0000 0000 0000
0x000BFFFF = 0000 0000 0000 1011 1111 1111 1111 1111
Notice that the upper 15 bits are identical, whereas the lower
17 bits define the address within the range. So a single MRD
can describe this range as:
MCR Base = 0000 0000 0000 1010 0000 or 0x000A0
MCR Mask = 1111 1111 1111 1110 0000 or 0xFFFE0
Note that the lower twelve bits of the mask and base are
ignored in the match calculation.
Example 2.
Consider a more complex scenario where a range from
0x00080000 to 0x00017FFF is required. Shown in binary as:
0x00080000 = 0000 0000 0000 1000 0000 0000 0000 0000
0x0017FFFF = 0000 0000 0001 0111 1111 1111 1111 1111
In this case, the upper 11 bits are identical throughout the
range. The next two bits vary, but not all combinations are
part of the desired range. The range has to be broken down
into two ranges that have common base bits where all
combinations of the lower order bits are within the original
region. This implies:
0x00080000 = 0000 0000 0000 1000 0000 0000 0000 0000
0x000FFFFF = 0000 0000 0000 1111 1111 1111 1111 1111
and
0x00100000 = 0000 0000 0001 0000 0000 0000 0000 0000
0x0017FFFF = 0000 0000 0001 0111 1111 1111 1111 1111
Attributes
There are five bits of attribute control defined for each memory
region as described in Table A.6-1
Table A.6-1
Bit Description Default Notes
0 Enables store combining on non-stack non-string 0
writes.
1 Enables store combining on string instruction writes. 0
2 Enables store combining on stack instruction writes. 0
4:3 Defines write-ordering strategy for memory region. 00
00: All writes strongly ordering
01: String writes weakly ordered
10: Stack writes weakly ordered
11: All writes weakly ordered
Store-Combining
The IDT WinChip C6 processor’s store-combining feature allows
multiple stores into be combined into a single bus store. This is
permissible if the stores are destined to the same 8-byte memory
address.
Store-combining can greatly reduce the memory bandwidth
requirements of writes that miss the cache. However, if the
associated writes are destined to memory mapped I/O locations,
problems can arise.
For example, if an ISA bus 8-bit device is controlled with a data
register at address 0 and a control register at address 1, and the
control register must be written before the data can be written,
it is possible for the order of writes to be changed if byte-
combining is inappropriately configured.
If, for example, the device writes to address 1 and then to
address 0 and the two are combined, a 16-bit word will go to the
ISA bus where it will be split for the 8-bit device into two writes.
Unfortunately, most ISA bridges split 16-bit operands into two
transfers with the low byte first. Consequently, the order of the
two writes are reversed.
Weak Write-Ordering
The Pentium processor normally mandates that writes occur in
the memory hierarchy in the same order as they occur in the
code execution. This is termed strong write-ordering. This
restriction can be a performance impact in that it blocks
processor execution when a store hits an E or M line in the
cache if another store is waiting to be retired on the bus.
Normally systems do not require strong write-ordering unless
they have bus-mastering I/O devices that use memory mapped
I/O for control purposes. (Most DMA devices are slaves, and do
not use memory-mapped I/O. The floppy controller, for example,
is a DMA device, but does not use memory-mapped I/O.)
However, since there are devices that could not perform
correctly with weak write ordering, this function should only be
used in systems where the type of peripherals are tightly
controlled and known to not require strongly ordered writes.
Weak write ordering should never be turned on by a generic
BIOS, for example.
Combining Ranges
It is possible to describe fairly complex ranges with a few
descriptors. Generally, this does not involve overlapping MCRs.
However, overlapping ranges are permitted and their behavior
is useful in some cases.
The behavior of an access to a given memory location is defined
by the logical OR of the attribute bits of the MCRs it matches.
So, if a memory location does not match any MCRs, its
aggregate attribute is 0. If, on the other hand, it matches two
MCRs, one with an attribute of 0x18 and the other with an
attribute of 0x02, the aggregate attribute is 0x1A. This enables
weak writes on all accesses and allows store-combining on stack
accesses.
APPENDIX B. COMPATIBILITY
B.1 INTRODUCTION
In general, the IDT WinChip C6 processor is exactly compatible
with both the bus and software-visible architecture of the Intel
Pentium processor.
An IDT WinChip C6 processor can plug into existing Intel
Pentium-based PC system boards and operate without requiring
change to the system hardware. Also, an IDT WinChip C6
processor can run all existing industry-standard PC object-code
operating systems and application programs.
However, all processors developed for use in PCs (“x86”
processors) have some minor incompatibilities in low-level
implementation-dependent functions. For example, it is possible
to write esoteric software for the Intel 486 processor (cache tests,
for example) that produces different results when run on the
supposedly compatible Intel Pentium processor.
Similarly, there are low-level incompatibilities between the Intel
Pentium and the Intel Pentium Pro processors. Similarly, there
are low-level incompatibilities among all x86 “clone” processors
such as the AMD-K6 and the Cyrix 6x86MX processors. The IDT
WinChip C6 processor has similar low-level differences with the
various Intel and x86 clone processors.
Fortunately, these technical incompatibilities among x86
implementations are in areas that have no meaningful use to
most programs, and that are well-understood by software
developers (and are thus avoided). Therefore, in practice, these
types of differences pose no real barriers to program
compatibility across various implementations.
This appendix summarizes areas where the IDT WinChip C6
processor differs in behavior from the Intel Pentium processor.
These differences are generally “don’t cares”; that is, they are
transparent to system hardware and programs.
COMPATIBILITY B-1
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
Bus Alignment
Although the Intel Pentium processor has a 64-bit bus, it splits
loads and stores that cross 32-bit boundaries. The IDT WinChip
C6 processor splits memory loads and stores at 64-bit
boundaries. However, I/O reads and writes are split on 32-bit
boundaries.
Like the Pentium processor, when split cycles are required, the
IDT WinChip C6 processor performs the higher address’ access
first, then performs the lower address’ access.
The IDT WinChip C6’s bus alignment is not anticipated to be a
compatibility issue. The Cyrix 6x86 and AMD-K5 processors
also split memory loads and stores at 64-bit boundaries. (Also,
the Cyrix 6x86 performs the low addressed access first except for
32-bit misaligned I/O’s in which case the higher access is
performed first.)
B-2 COMPATIBILITY
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
Descriptor Updates
The exact size of the locked bus transactions used to update the
accessed bit in non-accessed descriptors is slightly different
between the Pentium processor and the IDT WinChip C6
processor.
8-Byte Writes
Eight-byte aligned locked 8-byte read-modify-write sequences (a
locked CMPXCHG8B instruction) are performed as one locked 8-
byte read followed by two locked 4-byte writes. The Pentium
processor performs the write as an 8-byte locked write.
TLB Retries
Intel processors are not consistent about how and when they
take page protection exceptions. The Pentium Pro’s operation is
architecturally cleaner than the Pentium’s operation, so the IDT
WinChip C6 mimics the Pentium Pro’s behavior. If a memory
address hits either of the TLB’s and the associated TLB entry
would indicate that a protection page fault should be taken, the
page tables are retried to ensure that the TLB entry is up to
date. Only if the retried TLB entry still indicates that a page
protection exception should occur does the exception actually
take place.
COMPATIBILITY B-3
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
SCYC
The SCYC signal is loosely defined on the Intel Pentium
processor. On the IDT WinChip C6 processor, SCYC is asserted
only during external locked read-modify-write cycles that are
unaligned.
B-4 COMPATIBILITY
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
Machine-Specific Registers
As defined in Appendix A, the machines-specific registers
(MSR’s) of a IDT WinChip C6 processor are just that: machine-
specific. That is, there are differences between the IDT WinChip
C6 processor MSR’s and the Pentium processor’s MSR’s (and all
other x86 processors).
CMPXCHG8B
The CMPXCHG8B instruction is supported by the IDT WinChip
C6 processor. However, it is not reported as being supported in
the CPUID instruction. This was required to maintain
compatibility with some Windows NT versions.
COMPATIBILITY B-5
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
B-6 COMPATIBILITY
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C.1 INTRODUCTION
Appendix B describes the expected differences between the IDT
WinChip C6 processor and the Intel Pentium processor. This
Appendix A describes the IDT WinChip C6 processor errata:
differences between the actual IDT WinChip C6 processor
behavior and the expected results.
There are two current versions or steppings of the IDT WinChip
C6 processor which have different errata: steppings 0 and 1.
These can be identified by the stepping code returned by the
CPUID instruction or in EDX following Reset.
Tables C-1 and C-2 describe the codes used to define the status
and action plan of each individual erratum.
Table C-1
Status Description
Code
X This version of the processor has the erratum
N/A This erratum does not apply to this version of the processor
Fixed in this version of processor
Table C-2
Plan Description
Code
Fixed This erratum is fixed in the latest version of the processor
Fix This erratum may be fixed in some future version of the
processor
NoFix There are no plans to fix this erratum in future steppings of
the IDT WinChip C6 processor
ERRATA C-1
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
Table C-3 summarizes the errata and provides the codes which
describes the status and action plan for each individual
erratum. The details of each erratum are described in
subsequent sections.
Table C-3
ID Stepping Plans Errata
0 1
C-2 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-3
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-4 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-5
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-6 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-7
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-8 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-9
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
CASE 2:
• the operand of FIST/FISTP is negative and
• the rounding control in the Floating Point control word
is either ‘up’ or ‘to nearest’ or ‘toward zero’ and
• the operand is less than the maximum negative value
that fits in the destination integer
C-10 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-11
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-12 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-13
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-14 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-15
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-16 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-17
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
• Request BIST
• In the RESET code check the volatile RAM to see if
BIST was requested (should be true) and if so, mask bit
3 of EAX and compare with ‘zero’.
C-18 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-19
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-20 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-21
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-22 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
B-2. Data bits with inactive byte enables may differ from
P55 during I/O writes
PROBLEM: Bits on the data bus with inactive byte
enables have undefined values. During an I/O write bus
cycle for an 8-bit or 16-bit operand P54 drives '0' for data
bits that are not part of the operand (the operand is zero-
extended and rotated so that it is properly aligned on the
bus).
IMPLICATION: This erratum is known to cause problems
in a system with an Opti Firestar chip set . In this case the
ESDI device driver has a long delay because the secondary
PCI controller indicates a busy status indefinitely.
WORKAROUND: For P55 compatible behavior zero-
extend the operand into EAX and use register operands for
the OUT instruction (use OUT DX,AX or OUT DX,AL
instead of OUTS).
Example:
MOVZX EAX,BX ; Zero-extend to 32-bits
OUT DX,AX ; Do not use OUTS
ERRATA C-23
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
WORKAROUND: None.
C-24 ERRATA
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
ERRATA C-25
Preliminary Information
March 1998 IDT WINCHIP TM C6TM PROCESSOR DATA BOOK
C-26 ERRATA