i386

Pre-production samples of the 386 were released to select developers in 1985, while mass production commenced in 1986.

The 386 was the central processing unit (CPU) of many workstations and high-end personal computers of the time.

The 386 began to fall out of public use starting with the release of the i486 processor in 1989, while in embedded systems the 386 remained in widespread use until Intel finally discontinued it in 2007.

This paging translation unit made it much easier to implement operating systems that used virtual memory.

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.

[10] 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 the Deskpro 386, designed and manufactured by Compaq;[11] this marked the first time a fundamental component in the IBM PC compatible de facto standard was updated by a company other than IBM.

[18] Although it had long been obsolete as a personal computer CPU, Intel and others had continued making the chip for embedded systems.

Some mobile phones also used (later fully static CMOS variants of) the i386 processor, such as the BlackBerry 950[19] and Nokia 9000 Communicator.

Linux continued to support i386 processors until December 11, 2012, when the kernel cut 386-specific instructions in version 3.8.

[21] This paging translation unit made it much easier to implement operating systems that used virtual memory.

[23] 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 the 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.

[24] He was responsible for extending the 80286 architecture and instruction set to 32-bits, and then led the microprogram development for the 80386 chip.

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.

By extending the 16/24-bit IBM PC/AT standard into a natively 32-bit computing environment, Compaq became the first company to design and manufacture such a major technical hardware advance on the PC platform.

[30] Early in production, Intel discovered a marginal circuit that could cause a system to return incorrect results from 32-bit multiply operations.

[32] 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.

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.

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.

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.

[35] 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.

This version can run 32-bit application software at 70 to 90 percent compared to the regular Intel386 DX CPU.

The processor offered several power-management options (e.g. SMM), as well as different "sleep" modes to conserve battery power.

The extra functions and circuit implementation techniques caused this variant to have over 3 times as many transistors as the i386DX.

That assist with advanced computer-aided design tools which includes a complete simulation of system board.

Transparent power management mode, integrated MMU and TTL compatible inputs (only 386SXSA).

Intel A80386DX-20 CPU die image
Block diagram of the i386 microarchitecture
Intel i386 packaged by IBM
Typical 386 upgrade CPUs from Cyrix and Texas Instruments
Intel i386DX, 25 MHz
Intel i386EXTC, 25 MHz
Intel i386CXSA, 25 MHz
Size comparison of the 286, 386 and 486