Intel 80386

From Computer History Wiki
Revision as of 22:04, 5 October 2011 by Neozeed (talk | contribs)
Jump to: navigation, search
An i386 cpu

The i386 is the 3rd generation CPU from Intel based on the 8088/8086 CPU. The 386 was a 32bit CPU, featuring all the features of the i286 CPU, plus 32bit protected mode with variable page sizes, allowing for a flat memory space where the entire 4GB of accessible ram could be accessed without segmentation.

The 386 also featured a special mode called v86 which facilitated the creation of VDMs. In this mode all unprivileged instructions of the 386 could execute in a hardware virtual machine, and privileged instructions would fault.

The real success of this chip was that it made 32bit software available to the masses, and for bringing 'real' Unix from the VAX environment to normal people, via cheap commodity hardware.

programming

The most popular reference is the INTEL 80386 PROGRAMMER'S REFERENCE MANUAL.

80386sx

The 80386sx was a low cost version of the 80386. Instead of having a 32bit address bus, it was restricted to 24bits, meaning the 80386sx could only address 16MB of ram maximum. The 80386sx also only could transfer data 16bit at a time, so reading a 32bit word took two reads. This basically kept the 80386sx comparable in speed to the 80286. The internal registers were still 32bit wide, so it could run the same software.

Trivia

The first 386's had an issue with the multiply instruction in 32bit modes, so there had to be a recall on all parts. Later the parts were either stamped "16 bit software only" or with a double sigma sign to certify they would operate correctly.

IBM was not the first PC manufacture to make a 386 CPU, they were to infatuated with the i286 and the 16bit version of OS/2 so it was Compaq who beat them with a Desqpro 386. Since there was no 386 specific software at it's launch Compaq pushed Microsoft to release Windows/386 before Windows 2.0 so that there would be some compelling reason to buy a Compaq 386.


The next cpu in the line of x86 cpus was the i486.