![Intel A80386DX-20 CPU Die Image](https://upload.wikimedia.org/wikipedia/commons/0/0a/Intel_A80386DX-20_CPU_Die_Image.jpg)
The
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
386, originally released as 80386 and later renamed i386, is a 32-bit
microprocessor
A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circu ...
introduced in 1985. The first versions had 275,000 transistors
[mit.edu—The Future of FPGAs]
(Cornell) October 11, 2012 and were the
CPU of many
workstation
A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
s and high-end
personal computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tec ...
s of the time. As the original implementation of the
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
extension of the
80286
The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) 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 fi ...
architecture, the i386 instruction set, programming model, and binary encodings are still the
common denominator
In mathematics, the lowest common denominator or least common denominator (abbreviated LCD) is the lowest common multiple of the denominators of a set of fractions. It simplifies adding, subtracting, and comparing fractions.
Description
The low ...
for all 32-bit
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
processors, which is termed the ''i386-architecture'', ''x86'', or ''
IA-32
IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnation of ...
'', depending on context.
The 32-bit i386 can correctly execute most code intended for the earlier 16-bit processors such as 8086 and 80286 that were ubiquitous in early
PCs. 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). The 20 MHz version operates 4-5
MIPS. It also performs between 8,000 to 9,000
Dhrystones per second. A 33 MHz 80386 was reportedly measured to operate at about 11.4 MIPS.
Development of i386 technology began in 1982 under the internal name of P3.
The
tape-out
In electronics and photonics design, tape-out or tapeout is the final result of the design process for integrated circuits or printed circuit boards before they are sent for manufacturing. The tapeout is specifically the point at which the graphic ...
of the 80386 development was finalized on July 1985.
The 80386 was introduced as pre-production samples for software development
workstation
A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workstat ...
s in October 1985. Manufacturing of the chips in significant quantities commenced in June 1986,
[ Introduced October 1985, production chip in June 1986.][ The first 80386 computers were released around October 1986.] along with the first plug-in device that allowed existing 80286-based computers to be upgraded to the 386, the Translator 386 by
American Computer and Peripheral
American Computer & Peripheral, Inc. (AC&P), also written as American Computer and Peripheral, was an American computer company based in Santa Ana, California. The company was founded in 1985 by Alan Lue and released several expansion boards for ...
.
Mainboard
A motherboard (also called mainboard, main circuit board, mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expand ...
s 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
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tec ...
to make use of the 80386 was the
Deskpro 386, designed and manufactured by
Compaq
Compaq Computer Corporation (sometimes abbreviated to CQ prior to a 2007 rebranding) was an American information technology company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced ...
and marked the first time a fundamental component in the
IBM PC compatible
IBM PC compatible computers are similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. ...
de facto standard was updated by a company other than
IBM.
In May 2006, Intel announced that i386 production would stop at the end of September 2007. Although it had long been obsolete as a
personal computer
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or tec ...
CPU, Intel and others had continued making the chip for
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
s. Such systems using an i386 or one of many derivatives are common in
aerospace
Aerospace is a term used to collectively refer to the atmosphere and outer space. Aerospace activity is very diverse, with a multitude of commercial, industrial and military applications. Aerospace engineering consists of aeronautics and astrona ...
technology and electronic musical instruments, among others. Some mobile phones also used (later fully static
CMOS
Complementary metal–oxide–semiconductor (CMOS, pronounced "sea-moss", ) is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOSFE ...
variants of) the i386 processor, such as
BlackBerry 950 BlackBerry 950 (introduced as "Inter@ctive Pager 950", development name "Leapfrog") is an early BlackBerry model, introduced in 1998 by Canadian smartphone manufacturer Research in Motion. There were two editions, the Exchange Edition and the Inter ...
and
Nokia 9000 Communicator
The Nokia 9000 Communicator was the first product in Nokia's Communicator series, announced at CeBIT 1996 and introduced into the market on 15 August 1996. The phone was large and heavy at but powerful at the time. It is powered by an Intel 24&nb ...
.
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
continued to support i386 processors until December 11, 2012; when the kernel cut 386-specific instructions in version 3.8.
Architecture
![80386DX arch](https://upload.wikimedia.org/wikipedia/commons/c/c2/80386DX_arch.png)
The processor was a significant evolution in the
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
architecture, and extended a long line of processors that stretched back to the
Intel 8008
The Intel 8008 ("''eight-thousand-eight''" or "''eighty-oh-eight''") is an early byte-oriented microprocessor designed by Computer Terminal Corporation (CTC), implemented and manufactured by Intel, and introduced in April 1972. It is an 8-bit C ...
. The predecessor of the 80386 was the
Intel 80286
The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) 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 fi ...
, a
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
processor with a
segment-based memory management and protection system. The 80386 added a three-stage instruction pipeline which it brings up to total of 6-stage instruction pipeline, extended the architecture from
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
s to
32-bit
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32-bit units. Compared to smaller bit widths, 32-bit computers can perform large calculation ...
s, and added an on-chip
memory management unit
A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all memory references passed through itself, primarily performing the translation of virtual memory addresses to physical ad ...
. This
paging
In computer operating systems, memory paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage ...
translation unit made it much easier to implement operating systems that used
virtual memory
In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very l ...
. It also offered support for
register debugging.
The 80386 featured three operating modes: real mode, protected mode and virtual mode. The
protected mode
In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as virtual memory, paging and safe multi-tasking d ...
, which debuted in the 286, was extended to allow the 386 to address up to 4
GB of memory. With the addition of segmented addressing system, it can expand up to 64 terabytes of virtual memory. The all new
virtual 8086 mode
In the 80386 microprocessor and later, virtual 8086 mode (also called virtual real mode, V86-mode, or VM86) allows the execution of real mode applications that are incapable of running directly in protected mode while the processor is runnin ...
(or ''VM86'') made it possible to run one or more
real mode
Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. The mode gets its name from the fact that addresses in real mode always correspond to real locations in memory. Real mode is characterized by a 20-bit seg ...
programs in a protected environment, although some programs were not compatible. It features scaled indexing and 64-bit barrel shifter.
The ability for a 386 to be set up to act like it had a
flat memory model
Flat memory model or linear memory model refers to a memory addressing paradigm in which "memory appears to the program as a single contiguous address space." The CPU can directly (and linearly) address all of the available memory locations with ...
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
Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
released
x86-64
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mod ...
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 register
A control register is a processor register which changes or controls the general behavior of a CPU or other digital device. Common tasks performed by control registers include interrupt control, switching the addressing mode, paging control, a ...
s 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
John H. Crawford (born February 2, 1953) is an American computer engineer.
During a long career at Intel starting in 1977, he was the chief architect of the Intel 80386 and Intel 80486 microprocessors. He also co-managed the design of the Inte ...
. He was responsible for extending the 80286 architecture and instruction set to 32-bit, and then led the
microprogram
In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a lay ...
development for the 80386 chip.
The
i486
The Intel 486, officially named i486 and also known as 80486, is a microprocessor. It is a higher-performance follow-up to the Intel 386. The i486 was introduced in 1989. It represents the fourth generation of binary compatible CPUs following the ...
and
P5 Pentium
Pentium is a brand used for a series of x86 architecture-compatible microprocessors produced by Intel. The original Pentium processor from which the brand took its name was first released on March 22, 1993. After that, the Pentium II and Pe ...
line of processors were descendants of the i386 design.
Data types
The following data types are directly supported and thus implemented by one or more i386
machine instruction
In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very ...
s; these data types are briefly described here.
:
* ''Bit'' (
boolean value), ''bit field'' (group of up to 32 bits) and ''bit string'' (up to 4 Gbit in length).
* ''8-bit integer (byte)'', either signed (range −128..127) or unsigned (range 0..255).
* ''16-bit integer'', either signed (range −32,768..32,767) or unsigned (range 0..65,535).
* ''32-bit integer'', either signed (range −2
31..2
31−1) or unsigned (range 0..2
32−1).
* ''Offset'', a 16- or 32-bit displacement referring to a memory location (using any addressing mode).
* ''Pointer'', a 16-bit selector together with a 16- or 32-bit offset.
* ''Character'' (8-bit character code).
* ''String'', a sequence of 8-, 16- or 32-bit words (up to 4 Gbit in length).
*''
BCD'', decimal digits (0..9) represented by unpacked bytes.
*''Packed BCD'', two BCD digits in one byte (range 0..99).
Example code
The following i386
assembly
Assembly may refer to:
Organisations and meetings
* Deliberative assembly, a gathering of members who use parliamentary procedure for making decisions
* General assembly, an official meeting of the members of an organization or of their representa ...
source code is for a subroutine named
_strtolower
that copies a null-terminated
ASCIIZ
In computer programming, a null-terminated string is a character string stored as an array containing the characters and terminated with a null character (a character with a value of zero, called NUL in this article). Alternative names are C stri ...
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.
The example code uses the EBP (base pointer) register to establish a
call frame
In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or mach ...
, 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
In computer science, a calling convention is an implementation-level (low-level) scheme for how subroutines or functions receive parameters from their caller and how they return a result. When some code calls a function, design choices have been ...
supports
reentrant
Reentrant or re-entrant can refer to:
*Re-entrant (landform), the low ground formed between two hill spurs.
*Reentrancy (computing) in computer programming
*Reentrant mutex in computer science
*Reentry (neural circuitry) in neuroscience
*Salients ...
and
recursive
Recursion (adjective: ''recursive'') occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathematics ...
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
![80386SL processor from 1990](https://upload.wikimedia.org/wikipedia/commons/8/86/80386SL_processor_from_1990.jpg)
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. The 16-bit bus simplified designs but hampered performance. Only 24 pins were connected to the address bus, therefore limiting addressing to 16
MB, 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 i386DX to avoid confusion. However, Intel subsequently used the "DX" suffix to refer to the
floating-point
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
capability of the i486DX. The 387SX 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
A quad flat package (QFP) is a surface-mounted integrated circuit package with "gull wing" leads extending from each of the four sides. Socketing such packages is rare and through-hole mounting is not possible. Versions ranging from 32 to 304 ...
and sometimes offered in a socket to allow for an upgrade.
80386SL
The 80386SL was introduced as a power-efficient version for
laptop computer
A laptop, laptop computer, or notebook computer is a small, portable personal computer (PC) with a screen and alphanumeric keyboard. Laptops typically have a clam shell form factor with the screen mounted on the inside of the upper li ...
s. The processor offered several power-management options (e.g.
SMM), as well as different "sleep" modes to conserve
battery
Battery most often refers to:
* Electric battery, a device that provides electrical power
* Battery (crime), a crime involving unlawful physical contact
Battery may also refer to:
Energy source
*Automotive battery, a device to provide power t ...
power. It also contained support for an external
cache
Cache, caching, or caché may refer to:
Places United States
* Cache, Idaho, an unincorporated community
* Cache, Illinois, an unincorporated community
* Cache, Oklahoma, a city in Comanche County
* Cache, Utah, Cache County, Utah
* Cache Count ...
of 16 to 64
KB. The extra functions and circuit implementation techniques caused this variant to have over 3 times as many
transistor
upright=1.4, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an insulating layer (pink).
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch e ...
s as the i386DX. The i386SL was first available at 20 MHz clock speed, with the 25 MHz model later added.
Business importance
The first PC based on the Intel 80386 was the
Compaq Deskpro 386
The Deskpro 386 was a line of desktop computers in Compaq's Deskpro range of IBM PC compatibles. The computers featured Intel's 32-bit 80386 microprocessor. Introduced in September 1986, the Deskpro 386 was the first implementation of the 80386 pro ...
. By extending the 16/24-bit
IBM PC/AT
The IBM Personal Computer/AT (model 5170, abbreviated as IBM AT or PC/AT) was released in 1984 as the fourth model in the IBM Personal Computer line, following the IBM PC/XT and its IBM Portable PC variant. It was designed around the Intel 8028 ...
standard into a natively 32-bit computing environment,
Compaq
Compaq Computer Corporation (sometimes abbreviated to CQ prior to a 2007 rebranding) was an American information technology company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced ...
became the first company to design and manufacture such a major technical hardware advance on the PC platform. IBM was offered use of the 80386, but had manufacturing rights for the earlier
80286
The Intel 80286 (also marketed as the iAPX 286 and often called Intel 286) 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 fi ...
. IBM therefore chose to rely on that processor for a couple more years. The early success of the Compaq Deskpro 386 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
Andrew Stephen Grove (born András István Gróf; 2 September 193621 March 2016) was a Hungarian-American businessman and engineer who served as the third CEO of Intel Corporation. He escaped from Communist-controlled Hungary at the age of 20 ...
, Intel's CEO at the time, made the decision not to encourage other manufacturers to produce the processor as
second source
In the electronics industry, a second source is a company that is licensed to manufacture and sell components originally designed by another company (the first source).
It is common for engineers and purchasers to avoid components that are only av ...
s. This decision was ultimately crucial to Intel's success in the market. 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
Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
introduced its compatible
Am386
The Am386 central processing unit, CPU is a IBM PC compatible, 100%-compatible clone of the Intel 80386 design released by AMD in March 1991. It sold millions of units, positioning Advanced Micro Devices, AMD as a legitimate competitor to Intel Co ...
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
![KL IBM 80386DX](https://upload.wikimedia.org/wikipedia/commons/3/3a/KL_IBM_80386DX.jpg)
* The
AMD
Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufactur ...
Am386
The Am386 central processing unit, CPU is a IBM PC compatible, 100%-compatible clone of the Intel 80386 design released by AMD in March 1991. It sold millions of units, positioning Advanced Micro Devices, AMD as a legitimate competitor to Intel Co ...
SX and Am386DX were almost exact clones of the i386SX and i386DX. Legal disputes caused production delays for several years, but AMD's 40 MHz part eventually became very popular with computer enthusiasts as a low-cost and low-power alternative to the 25 MHz 486SX. The power draw was further reduced in the "notebook models" (Am386 DXL/SXL/DXLV/SXLV), which could operate with 3.3 V and were implemented in fully static
CMOS
Complementary metal–oxide–semiconductor (CMOS, pronounced "sea-moss", ) is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOSFE ...
circuitry.
*
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.
Its first product, announced September 1985, was a four chip EGA chipset that h ...
Super386 38600SX and 38600DX were developed using
reverse engineering
Reverse engineering (also known as backwards engineering or back engineering) is a process or method through which one attempts to understand through deductive reasoning how a previously made device, process, system, or piece of software accompli ...
. They sold poorly, due to some technical errors and incompatibilities, as well as their late appearance on the market. They were therefore short-lived products.
*
Cyrix
Cyrix Corporation was a microprocessor developer that was founded in 1988 in Richardson, Texas, as a specialist supplier of floating point units for 286 and 386 microprocessors. The company was founded by Tom Brightman and Jerry Rogers.
In 19 ...
Cx486SLC/
Cx486DLC could be (simplistically) described as a kind of 386/486 hybrid chip that included a small amount of on-chip cache. It was popular among computer enthusiasts but did poorly with
OEM
An original equipment manufacturer (OEM) is generally perceived as a company that produces non-aftermarket parts and equipment that may be marketed by another manufacturer. It is a common industry term recognized and used by many professional or ...
s. The Cyrix Cx486SLC and Cyrix Cx486DLC processors were pin-compatible with i386SX and i386DX respectively. These processors were also manufactured and sold by
Texas Instruments
Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globall ...
.
*
IBM 386SLC and
486SLC
The Cyrix Cx486SLC is a x86 microprocessor that was developed by Cyrix. It was one of Cyrix's first CPU offerings, released after years of selling math coprocessors that competed with Intel's units and offered better performance at a comparabl ...
/DLC were variants of Intel's design which contained a large amount of on-chip cache (8 KB, and later 16 KB). The agreement with Intel limited their use to IBM's own line of computers and upgrade boards only, so they were not available on the open market.
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
Sigma (; uppercase Σ, lowercase σ, lowercase in word-final position ς; grc-gre, σίγμα) is the eighteenth letter of the Greek alphabet. In the system of Greek numerals, it has a value of 200. In general mathematics, uppercase Σ is used as ...
(ΣΣ), 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
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. Thes ...
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
Electronic hardware consists of interconnected electronic components which perform analog circuit, analog or Digital electronics, logic operations on received and locally stored information to produce as output or store resulting new information ...
to make use of an
80287
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. Th ...
. 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.
Image:Intel A80386-12.jpg , A very early 80386 at 12 MHz (A80386-12), before the 32-bit multiply bug was found
Image:Intel A80386-16 16 bit SW Only.jpg , An A80386-16 marked "16 BIT S/W ONLY" with the multiply bug
Image:Intel A80386-16 ΣΣ.jpg , A bug-free A80386-16 marked "ΣΣ"
Pin-compatible upgrades
![KL Upgrade 386](https://upload.wikimedia.org/wikipedia/commons/a/a1/KL_Upgrade_386.jpg)
Intel later offered a modified version of its 486DX in i386 packaging, branded as the Intel
RapidCAD. This provided an upgrade path for users with i386-compatible hardware. The upgrade was a pair of chips that replaced both the i386 and i387. Since the 486DX design contained an
FPU FPU may stand for:
Universities
* Florida Polytechnic University, in Lakeland, Florida, United States
* Franklin Pierce University, in New Hampshire, United States
* Fresno Pacific University, in California, United States
* Fukui Prefectural Univ ...
, the chip that replaced the i386 contained the floating-point functionality, and the chip that replaced the i387 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
The A20, or address line 20, is one of the electrical lines that make up the system bus of an x86-based computer system. The A20 line in particular is used to transmit the 21st bit on the address bus.
A microprocessor typically has a number o ...
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
i386DX
![Intel i386DX 25](https://upload.wikimedia.org/wikipedia/commons/2/24/Intel_i386DX_25.jpg)
Original version, released in October 1985. The 16 MHz version was available for 299
USD
The United States dollar (symbol: $; code: USD; also abbreviated US$ or U.S. Dollar, to distinguish it from other dollar-denominated currencies; referred to as the dollar, U.S. dollar, American dollar, or colloquially buck) is the official ...
in quantities of 100. The 20 MHz version was avaiable for USD $599 in quantities of 100.
* Capable of working with 16- or 32-bit external busses
* Package:
PGA PGA is an acronym or initialism that may stand for:
Aviation
* IATA code for Page Municipal Airport, Coconino County, Arizona
* ICAO designator for Portugália, regional airline based in Lisbon, Portugal
* Abbreviation for Prince George Airport ...
-132 which was available in sampling for fourth quarter of 1985 or PQFP-132
* Process: First types
CHMOS
CHMOS refers to one of a series of Intel CMOS processes developed from their HMOS process. (H stands for high-density). It was first developed in 1981.
CHMOS was used in the Intel 80C51BH, a new version of their standard MCS-51 microcontroller. ...
III, 1.5 µm, later CHMOS IV, 1 µm
* Die size: 104 mm
2 (ca. 10 mm × 10 mm) in CHMOS III and 39 mm
2 (6 mm × 6.5 mm) in CHMOS IV.
* Transistor count: 275,000
[
* Specified max clock: 12 MHz (early models), later 16, 20, 25 and 33 MHz
]
M80386
The military version was made using the CHMOS III process technology. It was made to withstand 105 Rads (Si) or greater. It was available for USD $945 each in quantities of 100.
i386SX
RapidCAD
A specially packaged Intel 486
The Intel 486, officially named i486 and also known as 80486, is a microprocessor. It is a higher-performance follow-up to the Intel 386. The i486 was introduced in 1989. It represents the fourth generation of binary compatible CPUs following the ...
DX and a dummy floating-point unit
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
(FPU) designed as pin-compatible replacements for an i386 processor and i387
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. Thes ...
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
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
A quad flat package (QFP) is a surface-mounted integrated circuit package with "gull wing" leads extending from each of the four sides. Socketing such packages is rare and through-hole mounting is not possible. Versions ranging from 32 to 304 ...
-132, SQFP
A quad flat package (QFP) is a surface-mounted integrated circuit package with "gull wing" leads extending from each of the four sides. Socketing such packages is rare and through-hole mounting is not possible. Versions ranging from 32 to 304 ...
-144 and PGA-168
* Process: CHMOS V, 0.8 µm
* Specified max clock:
** i386EX: 16 MHz @2.7–3.3 volts or 20 MHz @3.0–3.6 volts or 25 MHz @4.5–5.5 volts
** i386EXTB: 20 MHz @2.7–3.6 volts or 25 MHz @3.0–3.6 volts
** i386EXTC: 25 MHz @4.5–5.5 volts or 33 MHz @4.5–5.5 volts
i386CXSA and i386SXSA (or i386SXTA)
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
A quad flat package (QFP) is a surface-mounted integrated circuit package with "gull wing" leads extending from each of the four sides. Socketing such packages is rare and through-hole mounting is not possible. Versions ranging from 32 to 30 ...
-100
* Voltage: 4.5–5.5 volts (25 and 33 MHz); 4.75–5.25 volts (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
A quad flat package (QFP) is a surface-mounted integrated circuit package with "gull wing" leads extending from each of the four sides. Socketing such packages is rare and through-hole mounting is not possible. Versions ranging from 32 to 30 ...
-100
* Voltage: 3.0 volts (16 MHz) or 3.3 volts (25 MHz)
* Process: CHMOS V, 0.8 µm
* Specified max clock: 16, 25 MHz
Obsolescence
Windows 95
Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturin ...
was the only entry in the Windows 9x
Windows 9x is a generic term referring to a series of Microsoft Windows computer operating systems produced from 1995 to 2000, which were based on the Windows 95 kernel and its underlying foundation of MS-DOS, both of which were updated in subs ...
series to officially support the 386, requiring at least a 386DX, though a 486 or better was recommended; Windows 98
Windows 98 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. The second operating system in the 9x line, it is the successor to Windows 95, and was released to ...
requires a 486DX or higher. In the Windows NT
Windows NT is a proprietary graphical operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems sc ...
family, Windows NT 3.51
Windows NT 3.51 is a major release of the Windows NT operating system developed by Microsoft and oriented towards businesses. It is the third version of Windows NT and was released on May 30, 1995, eight months following the release of Windows NT ...
was the last version with 386 support.
Debian GNU/Linux
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of Deb ...
removed 386 support with the release of 3.1 (''Sarge'') in 2005. Citing the maintenance burden around SMP primitives, the Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
developers cut support from the development codebase in December 2012, later released as kernel version 3.8.
Among the BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
s, FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
's 5.x releases were the last to support the 386; support for the 386SX was cut with release 5.2, while the remaining 386 support was removed with the 6.0 release in 2005. OpenBSD
OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
removed 386 support with version 4.2 (2007), DragonFly BSD
DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in Ju ...
with release 1.12 (2008), and NetBSD
NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
with the 5.0 release (2009).
See also
* List of Intel microprocessors
This generational list of Intel processors attempts to present all of Intel's processors from the pioneering 4-bit 4004 (1971) to the present high-end offerings. Concise technical data is given for each product.
Latest
13th generation Cor ...
Notes and references
External links
Intel 80386 Programmer's Reference Manual 1986
Intel 80386 processor family
Intel 231746-001 Introduction to the 80386 Apr86 (April 1986) and Including the 80386 Data Sheet Intel 231630-002 80386 HIGH PERFORMANCE 32-BIT MICROPROCESSOR WITH INTEGRATED MEMORY MANAGEMENT—Data Sheet for 80386-12 and 80386-16
1988 Intel Microprocessors and Peripheral Handbook Volume 1 Microprocessor including 80386 HIGH PERFORMANCE 32-BIT CHMOS MICROPROCESSOR WITH INTEGRATED MEMORY MANAGEMENT October 1987 Order Number: 231630-004
1989 Intel Microprocessor and Peripheral Handbook Vol 1 Microprocessor including 386™ MICROPROCESSOR HIGH PERFORMANCE 32-BIT CHMOS MICROPROCESSOR WITH INTEGRATED MEMORY MANAGEMENT November 1988 Order Number: 231630-005
Detailed list of early 80386 steppings (revisions)
{{Authority control
Computer-related introductions in 1985
386
__NOTOC__
Year 386 ( CCCLXXXVI) was a common year starting on Thursday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Honorius and Euodius (or, less frequently, year 113 ...
32-bit microprocessors