Intel 80386

Last updated

Intel 80386
KL Intel i386DX.jpg
An Intel 80386DX 16 MHz processor with a gray ceramic heat spreader.
General information
LaunchedOctober 1985
DiscontinuedSeptember 28, 2007 [1]
Common manufacturer(s)
  • Intel
  • AMD
  • IBM
Performance
Max. CPU clock rate 12 MHz to 40 MHz
Data width32 bits (386SX: 16 bit)
Address width32 bits (386SX: 24 bits)
Architecture and classification
Min. feature size 1.5µm to 1µm
Instruction set x86-32
Physical specifications
Transistors
  • 275,000
Co-processor 386DX: Intel 80387
386SX: Intel 80387SX
Package(s)
  • 132-pin PGA, 132-pin PQFP; SX variant: 88-pin PGA, 100-pin BQFP with 0.635mm pitch
Socket(s)
History
Predecessor Intel 80286
Successor Intel 80486
Intel A80386DX-20 CPU die image Intel A80386DX-20 CPU Die Image.jpg
Intel A80386DX-20 CPU die image

The Intel 80386, also known as i386 or just 386, is a 32-bit microprocessor introduced in 1985. [2] The first versions had 275,000 transistors [3] and were the CPU of many workstations and high-end personal computers of the time. As the original implementation of the 32-bit extension of the 80286 architecture, [4] the 80386 instruction set, programming model, and binary encodings are still the common denominator for all 32-bit x86 processors, which is termed the i386-architecture, x86, or IA-32 , depending on context.

Contents

The 32-bit 80386 can correctly execute most code intended for the earlier 16-bit processors such as 8086 and 80286 that were ubiquitous in early PCs. (Following the same tradition, modern 64-bit x86 processors are able to run most programs written for older x86 CPUs, all the way back to the original 16-bit 8086 of 1978.) Over the years, successively newer implementations of the same architecture have become several hundreds of times faster than the original 80386 (and thousands of times faster than the 8086). [5] A 33 MHz 80386 was reportedly measured to operate at about 11.4 MIPS. [6]

The 80386 was introduced in October 1985, while manufacturing of the chips in significant quantities commenced in June 1986. [7] [8] Mainboards for 80386-based computer systems were cumbersome and expensive at first, but manufacturing was justified upon the 80386's mainstream adoption. The first personal computer to make use of the 80386 was designed and manufactured by Compaq [9] and marked the first time a fundamental component in the IBM PC compatible de facto standard was updated by a company other than IBM.

In May 2006, Intel announced that 80386 production would stop at the end of September 2007. [10] Although it had long been obsolete as a personal computer CPU, Intel and others had continued making the chip for embedded systems. Such systems using an 80386 or one of many derivatives are common in aerospace technology and electronic musical instruments, among others. Some mobile phones also used (later fully static CMOS variants of) the 80386 processor, such as BlackBerry 950 [11] and Nokia 9000 Communicator. Linux continued to support 80386 processors until December 11, 2012; when the kernel cut 386-specific instructions in version 3.8. [12]

Architecture

Block diagram of the i386 microarchitecture 80386DX arch.png
Block diagram of the i386 microarchitecture
Intel 80386 registers
31...15...07...00(bit position)
Main registers(8/16/32 bits)
EAXAXALAccumulator register
EBXBXBLBase register
ECXCXCLCount register
EDXDXDLData register
Index registers(16/32 bits)
ESISISource Index
EDIDIDestination Index
EBPBPBase Pointer
ESPSPStack Pointer
Program counter(16/32 bits)
EIPIPInstruction Pointer
Segment selectors(16 bits)
 CSCode Segment
 DSData Segment
 ESExtra Segment
 FSFSegment
 GSGSegment
 SSStack Segment
Status register
 171615141312111009080706050403020100(bit position)
  V R0N IOPL O D I T S Z 0 A 0 P 1 C EFlags

The processor was a significant evolution in the x86 architecture, and extended a long line of processors that stretched back to the Intel 8008. The predecessor of the 80386 was the Intel 80286, a 16-bit processor with a segment-based memory management and protection system. The 80386 added a three-stage instruction pipeline, extended the architecture from 16-bits to 32-bits, and added an on-chip memory management unit. This paging translation unit made it much easier to implement operating systems that used virtual memory. It also offered support for register debugging.

The 80386 featured three operating modes: real mode, protected mode and virtual mode. The protected mode, which debuted in the 286, was extended to allow the 386 to address up to 4 GB of memory. The all new virtual 8086 mode (or VM86) made it possible to run one or more real mode programs in a protected environment, although some programs were not compatible.

The ability for a 386 to be set up to act like it had a flat memory model in protected mode despite the fact that it uses a segmented memory model in all modes was arguably the most important feature change for the x86 processor family until AMD released x86-64 in 2003.

Several new instructions have been added to 386: BSF, BSR, BT, BTS, BTR, BTC, CDQ, CWDE, LFS, LGS, LSS, MOVSX, MOVZX, SETcc, SHLD, SHRD.

Two new segment registers have been added (FS and GS) for general-purpose programs, single Machine Status Word of 286 grew into eight control registers CR0–CR7. Debug registers DR0–DR7 were added for hardware breakpoints. New forms of MOV instruction are used to access them.

Chief architect in the development of the 80386 was John H. Crawford. [13] He was responsible for extending the 80286 architecture and instruction set to 32-bit, and then led the microprogram development for the 80386 chip.

The 80486 and P5 Pentium line of processors were descendants of the 80386 design.

Datatypes of 80386

The following data types are directly supported and thus implemented by one or more 80386 machine instructions; these data types are briefly described here. [14] :

Example code

The following 80386 assembly source code is for a subroutine named _strtolower that copies a null-terminated ASCIIZ character string from one location to another, converting all alphabetic characters to lower case. The string is copied one byte (8-bit character) at a time.

                                                                                                                                                                                                                                          00000000                      00000000  55 00000001  89 E5 00000003  8B 75 0C 00000006  8B 7D 08 00000009  8A 06 0000000B  46 0000000C  3C 41 0000000E  7C 06 00000010  3C 5A 00000012  7F 02 00000014  04 20 00000016  88 07 00000018  47 00000019  3C 00 0000001B  75 EC 0000001D  5D 0000001E  C3           0000001F           
; _strtolower:; Copy a null-terminated ASCII string, converting; all alphabetic characters to lower case.;; Entry stack parameters;      [ESP+8] = src, Address of source string;      [ESP+4] = dst, Address of target string;      [ESP+0] = Return address;_strtolowerprocpushebp;Set up the call framemovebp,espmovesi,[ebp+12];Set ESI = srcmovedi,[ebp+8];Set EDI = dstloopmoval,[esi];Load AL from [src]incesi;Increment srccmpal,'A';If AL < 'A',jlcopy; Skip conversioncmpal,'Z';If AL > 'Z',jgcopy; Skip conversionaddal,'a'-'A';Convert AL to lowercasecopymov[edi],al;Store AL to [dst]incedi;Increment dstcmpal,0;If AL <> 0,jneloop; Repeat the loopdonepopebp;Restore the prev call frameret;Return to callerendproc

The example code uses the EBP (base pointer) register to establish a call frame, an area on the stack that contains all of the parameters and local variables for the execution of the subroutine. This kind of calling convention supports reentrant and recursive code and has been used by Algol-like languages since the late 1950s. A flat memory model is assumed, specifically, that the DS and ES segments address the same region of memory.

Chip variants

80386SX

A surface-mount version of Intel 80386SX processor in a Compaq Deskpro computer. It is non-upgradable unless hot air circuit board rework is performed I386SX.jpg
A surface-mount version of Intel 80386SX processor in a Compaq Deskpro computer. It is non-upgradable unless hot air circuit board rework is performed
Die of Intel 80386SX Intel 80386 SX die.JPG
Die of Intel 80386SX
80386SL from 1990 80386SL processor from 1990.jpg
80386SL from 1990

In 1988, Intel introduced the 80386SX, most often referred to as the 386SX, a cut-down version of the 80386 with a 16-bit data bus mainly intended for lower-cost PCs aimed at the home, educational, and small-business markets, while the 386DX remained the high-end variant used in workstations, servers, and other demanding tasks. The CPU remained fully 32-bit internally, but the 16-bit bus was intended to simplify circuit-board layout and reduce total cost. [16] The 16-bit bus simplified designs but hampered performance. Only 24 pins were connected to the address bus, therefore limiting addressing to 16  MB, [17] but this was not a critical constraint at the time. Performance differences were due not only to differing data-bus widths, but also due to performance-enhancing cache memories often employed on boards using the original chip.

The original 80386 was subsequently renamed 80386DX to avoid confusion. However, Intel subsequently used the "DX" suffix to refer to the floating-point capability of the 80486DX. The 80387SX was an 80387 part that was compatible with the 386SX (i.e. with a 16-bit databus). The 386SX was packaged in a surface-mount QFP and sometimes offered in a socket to allow for an upgrade.

i386SL

The i386SL was introduced as a power-efficient version for laptop computers. The processor offered several power-management options (e.g. SMM), as well as different "sleep" modes to conserve battery power. It also contained support for an external cache of 16 to 64 kB. The extra functions and circuit implementation techniques caused this variant to have over 3 times as many transistors as the i386DX. The i386SL was first available at 20 MHz clock speed, [18] with the 25 MHz model later added. [19]

Business importance

The first company to design and manufacture a PC based on the Intel 80386 was Compaq. By extending the 16/24-bit IBM PC/AT standard into a natively 32-bit computing environment, Compaq became the first third party to implement a major technical hardware advance on the PC platform. IBM was offered use of the 80386, but had manufacturing rights for the earlier 80286. IBM therefore chose to rely on that processor for a couple more years. The early success of the Compaq 386 PC played an important role in legitimizing the PC "clone" industry and in de-emphasizing IBM's role within it.

Prior to the 386, the difficulty of manufacturing microchips and the uncertainty of reliable supply made it desirable that any mass-market semiconductor be multi-sourced, that is, made by two or more manufacturers, the second and subsequent companies manufacturing under license from the originating company. The 386 was for a time (4.7 years) only available from Intel, since Andy Grove, Intel's CEO at the time, made the decision not to encourage other manufacturers to produce the processor as second sources. This decision was ultimately crucial to Intel's success in the market.[ citation needed ] The 386 was the first significant microprocessor to be single-sourced. Single-sourcing the 386 allowed Intel greater control over its development and substantially greater profits in later years.

AMD introduced its compatible Am386 processor in March 1991 after overcoming legal obstacles, thus ending Intel's 4.7-year monopoly on 386-compatible processors. From 1991 IBM also manufactured 386 chips under license for use only in IBM PCs and boards.

Compatibles

Intel i386 packaged by IBM KL IBM 80386DX.jpg
Intel i386 packaged by IBM

Early problems

Intel originally intended for the 80386 to debut at 16 MHz. However, due to poor yields, it was instead introduced at 12.5 MHz.

Early in production, Intel discovered a marginal circuit that could cause a system to return incorrect results from 32-bit multiply operations. Not all of the processors already manufactured were affected, so Intel tested its inventory. Processors that were found to be bug-free were marked with a double sigma (ΣΣ), and affected processors were marked "16 BIT S/W ONLY". These latter processors were sold as good parts, since at the time 32-bit capability was not relevant for most users. Such chips are now extremely rare and became collectible.

The i387 math coprocessor was not ready in time for the introduction of the 80386, and so many of the early 80386 motherboards instead provided a socket and hardware logic to make use of an 80287. In this configuration the FPU operated asynchronously to the CPU, usually with a clock rate of 10 MHz. The original Compaq Deskpro 386 is an example of such design. However, this was an annoyance to those who depended on floating-point performance, as the performance advantages of the 80387 over the 80287 were significant.

Pin-compatible upgrades

Typical 386 upgrade CPUs from Cyrix and Texas Instruments KL Upgrade 386.jpg
Typical 386 upgrade CPUs from Cyrix and Texas Instruments

Intel later offered a modified version of its 80486DX in 80386 packaging, branded as the Intel RapidCAD. This provided an upgrade path for users with 80386-compatible hardware. The upgrade was a pair of chips that replaced both the 80386 and 80387. Since the 80486DX design contained an FPU, the chip that replaced the 80386 contained the floating-point functionality, and the chip that replaced the 80387 served very little purpose. However, the latter chip was necessary in order to provide the FERR signal to the mainboard and appear to function as a normal floating-point unit.

Third parties offered a wide range of upgrades, for both SX and DX systems. The most popular ones were based on the Cyrix 486DLC/SLC core, which typically offered a substantial speed improvement due to its more efficient instruction pipeline and internal L1 SRAM cache. The cache was usually 1 kB, or sometimes 8 kB in the TI variant. Some of these upgrade chips (such as the 486DRx2/SRx2) were marketed by Cyrix themselves, but they were more commonly found in kits offered by upgrade specialists such as Kingston, Evergreen and Improve-It Technologies. Some of the fastest CPU upgrade modules featured the IBM SLC/DLC family (notable for its 16 kB L1 cache), or even the Intel 486 itself. Many 386 upgrade kits were advertised as being simple drop-in replacements, but often required complicated software to control the cache or clock doubling. Part of the problem was that on most 386 motherboards, the A20 line was controlled entirely by the motherboard with the CPU being unaware, which caused problems on CPUs with internal caches.

Overall, it was very difficult to configure upgrades to produce the results advertised on the packaging, and upgrades were often not very stable or not fully compatible.

Models and variants

Early 5 V models

80386DX

Intel 80386DX, 25 MHz Intel i386DX 25.jpg
Intel 80386DX, 25 MHz

Original version, released in October 1985.

  • Capable of working with 16- or 32-bit external busses
  • Cache: depends on mainboard
  • Package: PGA-132 or PQFP-132
  • Process: First types CHMOS III, 1.5 µm, later CHMOS IV, 1 µm
  • Die size: 104 mm² (ca. 10 mm × 10 mm) in CHMOS III and 39 mm² (6 mm × 6.5 mm) in CHMOS IV.
  • Transistor count: 275,000 [3]
  • Specified max clock: 12 MHz (early models), later 16, 20, 25 and 33 MHz
80386SX 16 MHz Intel386sx a 50 Kc.jpg
80386SX 16 MHz

RapidCAD

A specially packaged Intel 486DX and a dummy floating point unit (FPU) designed as pin-compatible replacements for an Intel 80386 processor and 80387 FPU.

Versions for embedded systems

80376

This was an embedded version of the 80386SX which did not support real mode and paging in the MMU.

i386EX, i386EXTB and i386EXTC

Intel i386EXTC, 25 MHz KL Intel i386EX.jpg
Intel i386EXTC, 25 MHz

System and power management and built in peripheral and support functions: Two 82C59A interrupt controllers; Timer, Counter (3 channels); Asynchronous SIO (2 channels); Synchronous SIO (1 channel); Watchdog timer (Hardware/Software); PIO. Usable with 80387SX or i387SL FPUs.

  • Data/address bus: 16 / 26 bits
  • Package: PQFP-132, SQFP-144 and PGA-168
  • Process: CHMOS V, 0.8 µm
  • Specified max clock:
    • i386EX: 16 MHz @2.7~3.3 volt or 20 MHz @3.0~3.6 volt or 25 MHz @4.5~5.5 volt
    • i386EXTB: 20 MHz @2.7~3.6 volt or 25 MHz @3.0~3.6 volt
    • i386EXTC: 25 MHz @4.5~5.5 volt or 33 MHz @4.5~5.5 volt

i386CXSA and i386SXSA (or i386SXTA)

Intel i386CXSA, 25 MHz KL Intel i386CX.jpg
Intel i386CXSA, 25 MHz

Transparent power management mode, integrated MMU and TTL compatible inputs (only 386SXSA). Usable with i387SX or i387SL FPUs.

  • Data/address bus: 16 / 26 bits (24 bits for i386SXSA)
  • Package: BQFP-100
  • Voltage: 4.5~5.5 volt (25 and 33 MHz); 4.75~5.25 volt (40 MHz)
  • Process: CHMOS V, 0.8 µm
  • Specified max clock: 25, 33, 40 MHz

i386CXSB

Transparent power management mode and integrated MMU. Usable with i387SX or i387SL FPUs.

  • Data/address bus: 16 / 26 bits
  • Package: BQFP-100
  • Voltage: 3.0 volt (16 MHz) or 3.3 volt (25 MHz)
  • Process: CHMOS V, 0.8 µm
  • Specified max clock: 16, 25 MHz

Obsolescence

Windows 95 was the only entry in the Windows 9x series to officially support the 386, requiring at least a 386DX, though a 486 or better was recommended; [20] Windows 98 requires a 486DX or higher. [21] In the Windows NT family, Windows NT 3.51 was the last version with 386 support. [22] [23]

Debian GNU/Linux removed 386 support with the release of 3.1 (Sarge) in 2005. [24] Citing the maintenance burden around SMP primitives, the Linux kernel developers cut support from the development codebase in December 2012, later released as kernel version 3.8. [12]

Among the BSDs, FreeBSD's 5.x releases were the last to support the 386; support for the 386SX was cut with release 5.2, [25] while the remaining 386 support was removed with the 6.0 release in 2005. [26] OpenBSD removed 386 support with version 4.2 (2007), [27] DragonFly BSD with release 1.12 (2008), [28] and NetBSD with the 5.0 release (2009). [29]

See also

Notes and references

  1. Product Change Notification.
  2. More precise: The 80386 architecture was presented in detail in 1984. Samples were produced in 1985 (possibly late 1984) with mass production and delivery of a final version starting in June 1986.
  3. 1 2 mit.edu—The Future of FPGAs (Cornell) October 11, 2012
  4. Which itself was an extension of the 8086-architecture with advanced memory management functions and significantly better performance.
  5. Not counting the advances in the performance of corresponding x87 implementations. These are measured in tens of thousands of times, compared to the original 8087, or hundreds of thousands of times compared to software implementations of floating point on the 8086.
  6. "Intel Architecure Programming and Information". intel80386.com. Retrieved March 15, 2018.
  7. Forbes, Jim (January 27, 1986). "Development of 386 Accelerating". InfoWorld. Vol. 8 no. 4. InfoWorld Media Group. p. 5. ISSN   0199-6649. Introduced October 1985, production chip in June 1986.
  8. Ranney, Elizabeth (September 1, 1986). "ALR Hopes to Beat Completion With Fall Release of 386 Line". InfoWorld. Vol. 8 no. 35. InfoWorld Media Group. p. 5. ISSN   0199-6649. The first 80386 computers were released around October 1986.
  9. "CRN". June 27, 2009. Archived from the original on June 27, 2009. Retrieved March 15, 2018 via archive.org.
  10. "Intel cashes in ancient chips". Archived from the original on August 22, 2011. Retrieved May 18, 2006.
  11. "RIM BlackBerry 950 Review - The Gadgeteer". the-gadgeteer.com. February 26, 2001. Retrieved March 15, 2018.
  12. 1 2 Larabel, Michael (December 12, 2012). "Linux Kernel Drops Support For Old Intel 386 CPUs". Phoronix . Retrieved October 14, 2019.
  13. "Intel Fellow—John H. Crawford". Intel.com. August 16, 2010. Retrieved September 17, 2010.
  14. A. K. Ray, K. M. Bhurchandi, “Advanced microprocessors and peripherals”.
  15. El-ayat, K. A.; Agarwal, R. K. (December 1985). "The Intel 80386 - Architecture And Implementation". IEEE Micro. 5 (6): 4–22. doi:10.1109/mm.1985.304507. ISSN   0272-1732. S2CID   23062397.
  16. This was a similar approach to that used by Intel with the 8088, a derivative of the Intel 8086, that was used in the original IBM PC.
  17. The 16 MB limit was similar to that of the 68000, a comparable processor.
  18. "Chronology of Microprocessors (1990-1992)". Islandnet.com. Retrieved September 17, 2010.
  19. Mueller, Scott. "Microprocessor Types and Specifications > P3 (386) Third-Generation Processors". InformIT. Retrieved September 17, 2010.
  20. "Windows 95 Installation Requirements". Microsoft Support. Microsoft. December 17, 2000. Archived from the original on October 19, 2004. Retrieved September 1, 2020.
  21. "Windows 98 Product Guide: System Requirements". microsoft.com. Microsoft. December 4, 1998. Archived from the original on April 20, 1999. Retrieved August 31, 2020.
  22. "Windows NT 3.5x Setup Troubleshooting Guide". Microsoft Support. Microsoft. Archived from the original on February 23, 2007. Retrieved August 31, 2020.
  23. "Windows NT Workstation 4.0 - Requirements". microsoft.com. Microsoft. January 29, 1999. Archived from the original on February 2, 1999. Retrieved August 31, 2020.
  24. "Release Notes for Debian GNU/Linux 3.1 ('sarge'), Intel x86 - Upgrades from previous releases". debian.org. The Debian Project. June 2005. Retrieved September 1, 2020.
  25. "FreeBSD/i386 5.2-RELEASE Hardware Notes". freebsd.org. The FreeBSD Project. January 2004. Retrieved August 31, 2020.
  26. "FreeBSD/i386 6.0-RELEASE Release Notes". freebsd.org. The FreeBSD Project. November 2005. Retrieved August 31, 2020.
  27. "OpenBSD 4.2 Changelog". openbsd.org. The OpenBSD project. November 2007. Retrieved August 31, 2020.
  28. "DragonFly 1.12.0 Release Notes". dragonflybsd.org. The DragonFly Project. February 26, 2008. Retrieved August 31, 2020.
  29. "Announcing NetBSD 5.0". netbsd.org. The NetBSD Foundation. April 2009. Retrieved August 31, 2020.

Related Research Articles

Cyrix 6x86 Microprocessor

The Cyrix 6x86 is a sixth-generation, 32-bit x86 microprocessor designed by Cyrix and manufactured by IBM and SGS-Thomson. It was originally released in 1996.

Intel 80286 Microprocessor model

The Intel 80286 is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non-multiplexed address and data buses and also the first with memory management and wide protection abilities. The 80286 used approximately 134,000 transistors in its original nMOS (HMOS) incarnation and, just like the contemporary 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088 processors.

Intel 8086 16-bit microprocessor

The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus, and is notable as the processor used in the original IBM PC design.

Intel 80486 Successor to the Intel 386

The Intel 80486, also known as the i486 or 486, is a higher performance follow-up to the Intel 80386 microprocessor. The 80486 was introduced in 1989 and was the first tightly pipelined x86 design as well as the first x86 chip to use more than a million transistors, due to a large on-chip cache and an integrated floating-point unit. It represents a fourth generation of binary compatible CPUs since the original 8086 of 1978.

P5 (microarchitecture) Intel microporocessor

The original Pentium microprocessor was introduced by Intel on March 22, 1993. It was instruction set compatible with the 80486 but was a new and very different microarchitecture design. The P5 Pentium was the first superscalar x86 microarchitecture and the world’s first superscalar microprocessor to be in mass production. It included dual integer pipelines, a faster floating-point unit, wider data bus, separate code and data caches as well as many other techniques and features to enhance performance and support security, encryption, and multiprocessing for workstations and servers

x86 Family of instruction set architectures

x86 is a family of instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introduced in 1978 as a fully 16-bit extension of Intel's 8-bit 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486 processors.

Cyrix American microprocessor developer

Cyrix Corporation was a microprocessor developer that was founded in 1988 in Richardson, Texas, as a specialist supplier of math coprocessors for 286 and 386 microprocessors. The company was founded by Tom Brightman and Jerry Rogers. Cyrix founder, president, and CEO Jerry Rogers aggressively recruited engineers and pushed them, eventually assembling a design team of 30 people.

Am5x86

The Am5x86 processor is an x86-compatible CPU introduced in 1995 by AMD for use in 486-class computer systems. It is one of the fastest, and most universally compatible upgrade paths for 486 systems.

Coprocessor

A coprocessor is a computer processor used to supplement the functions of the primary processor. Operations performed by the coprocessor may be floating point arithmetic, graphics, signal processing, string processing, cryptography or I/O interfacing with peripheral devices. By offloading processor-intensive tasks from the main processor, coprocessors can accelerate system performance. Coprocessors allow a line of computers to be customized, so that customers who do not need the extra performance do not need to pay for it.

Am386

The Am386 CPU is a 100%-compatible clone of the Intel 80386 design released by AMD in March 1991. It sold millions of units, positioning AMD as a legitimate competitor to Intel, rather than being merely a second source for x86 CPUs.

Chips and Technologies

Chips and Technologies (C&T), founded in Milpitas, California in December 1984 by Gordon A. Campbell and Dado Banatao, was an early fabless semiconductor company.

Intel 8087

The Intel 8087, announced in 1980, was the first x87 floating-point coprocessor for the 8086 line of microprocessors.

Cyrix Cx486SLC

The Cyrix Cx486SLC was Cyrix's first CPU offering, released after years of selling coprocessors that competed with Intel's units and offered better performance at a comparable or lower price.

Cyrix Cx486DLC

The Cyrix Cx486DLC was an early 486 CPU from Cyrix, intended to compete with the Intel 486SX and DX. Texas Instruments, who manufactured the 486DLC for Cyrix, later released its own version of the chip, the TI486SXL, with 8 kB internal cache vs 1 kB of the original Cyrix design. The similarly named IBM 486DLC, 486DLC2, 486DLC3 are often confused with the Cyrix chips, but are not related and are instead based on Intel's i486 design.

RapidCAD

RapidCAD is a specially packaged Intel 486DX and a dummy floating point unit (FPU) designed as pin-compatible replacements for an Intel 80386 processor and 80387 FPU. Because the i486DX has a working on-chip FPU, a dummy FPU package is supplied to go in the Intel 387 FPU socket. The dummy FPU is used to provide the FERR signal, necessary for compatibility purposes.

x87 is a floating-point-related subset of the x86 architecture instruction set. It originated as an extension of the 8086 instruction set in the form of optional floating-point coprocessors that worked in tandem with corresponding x86 CPUs. These microchips had names ending in "87". This was also known as the NPX. Like other extensions to the basic instruction set, x87 instructions are not strictly needed to construct working programs, but provide hardware and microcode implementations of common numerical tasks, allowing these tasks to be performed much faster than corresponding machine code routines can. The x87 instruction set includes instructions for basic floating-point operations such as addition, subtraction and comparison, but also for more complex numerical operations, such as the computation of the tangent function and its inverse, for example.

Intel 80387SX

The Intel 80387SX is the math coprocessor, also called an FPU, for the Intel 80386SX microprocessor. Introduced in 1986, it was used to perform floating point arithmetic operations directly in hardware. The coprocessor was designed only to work with the 386SX, rather than the standard 386DX. This was because the original 80387 could not communicate with the altered 16 bit data bus of the 386SX, which was modified from the original 386DX's 32 bit data bus. The 387SX uses a 68-pin PLCC socket, just like some variants of the 80286 and the less common 80186 CPU, and was made in speeds ranging from 16 MHz to 33 MHz, matching the clock speed range of the Intel manufactured 386SX. Some chips like the IIT 3C87SX could got up to 40 MHz, matching the clock speeds of the fastest 386SX CPUs.

The 386SLC was an Intel-licensed version of the 386SX, developed and manufactured by IBM in 1991. It included power-management capabilities and an 8KB internal CPU cache, which enabled it to yield comparable performance to 386DX processors of the same clock speed, which were considerably more expensive. Known inside IBM as "Super Little Chip" for its initials, it was used in the IBM PS/2 35, 40 and 56 Series and in the IBM PS/ValuePoint 325T, but never gained much market share. This was mainly due to an agreement with Intel, in which IBM was not allowed to sell their CPUs if they were not part of a system or upgrade board. It was also marketed as an optional upgrade for 8086-equipped IBM PS/2 25 Series computers.

Vortex86 X86-compatible system-on-a-chip

The Vortex86 is a computing system-on-a-chip (SoC) based on a core compatible with the x86 microprocessor family. It is produced by DM&P Electronics, but originated with Rise Technology.