Michal Ludvig
Prev: 13.2 Two ways to Execute 80286 TasksComparison Of 8086 And 80286
(iv) The 80286 microprocessor is an advanced version of the 8086 microprocessor that is designed for multi user and multitasking environments. (iv) The 80386 microprocessor is an enhanced version of the 80286 microprocessor and includes a memory management unit is enhanced to provide memory paging. The second generation of x86 16-bit processors, Intel 80286, was released in 1982. The major new feature of the 80286 microprocessor was protected mode. When switched to this mode, the CPU could address up to 16 MB of operating memory (previous generation of 8086 / 8088 microprocessors was limited to 1 MB). Note: Please make change, 80286 has non-multiplexed Address and Data bus are there. Comparison between 8086 and 80286 4 1. 16 bit microprocessor 1. 16 bit microprocessor 2. Data bus is 16 bit (D0 to D15) 2. Data bus is 16 bit (D0 to D15) 3. Address bus is 20 bit (A0 to A19) 3. Address bus is 24 bit (A0 to A23) 4. Works in two modes (Minimum and Maximum) 4. Works in two modes (Real and Virtual protected Mode) 5. Has Multiplexed buses so the number of pins are 40.
8086 Microprocessor Memory Model. This topic discusses the basic memory model of x86 processor architecture. The 8086 processor has a 16-bit data bus and 20-bit address bus. After that, Intel introduced 80186, 80286, 801386 and many other versions. The 8086 processor architecture consists of a 1MB byte addressable segmented memory model.
Next: Chapter 14 80386 Real-Address ModeBasic Difference Between 8086 And 80286
13.3 Differences From 80286
The few differences that do exist primarily affect operating system code.
13.3.1 Wraparound of 80286 24-Bit Physical Address Space
With the 80286, any base and offset combination that addresses beyond 16Mbytes wraps around to the first megabyte of the 80286 address space. Withthe 80386, since it has a greater physical address space, any such addressfalls into the 17th megabyte. In the unlikely event that any softwaredepends on this anomaly, the same effect can be simulated on the 80386 byusing paging to map the first 64K bytes of the 17th megabyte of logicaladdresses to physical addresses in the first megabyte.
13.3.2 Reserved Word of Descriptor
Because the 80386 uses the contents of the reserved word (last word) ofevery descriptor, 80286 programs that place values in this word may notexecute correctly on the 80386.
13.3.3 New Descriptor Type Codes
Operating-system code that manages space in descriptor tables often uses aninvalid value in the access-rights field of descriptor-table entries toidentify unused entries. Access rights values of 80H and 00H remain invalidfor both the 80286 and 80386. Other values that were invalid on for the80286 may be valid for the 80386 because of the additional descriptor typesdefined by the 80386.
13.3.4 Restricted Semantics of LOCK
The 80286 processor implements the bus lock function differently than the80386. Programs that use forms of memory locking specific to the 80286 maynot execute properly when transported to a specific application of the80386.
The LOCK prefix and its corresponding output signal should only be used toprevent other bus masters from interrupting a data movement operation. LOCKmay only be used with the following 80386 instructions when they modifymemory. An undefined-opcode exception results from using LOCK before anyother instruction.
Comparison Between 8085 And 8086
A locked instruction is guaranteed to lock only the area of memory definedby the destination operand, but may lock a larger memory area. For example,typical 8086 and 80286 configurations lock the entire physical memory space.With the 80386, the defined area of memory is guaranteed to be lockedagainst access by a processor executing a locked instruction on exactly thesame memory area, i.e., an operand with identical starting address andidentical length.
13.3.5 Additional Exceptions
The 80386 defines new exceptions that can occur even in systems designedfor the 80286.
![Basic difference between 8086 and 80286 Basic difference between 8086 and 80286](/uploads/1/1/7/7/117729385/444431755.png)
- Exception #6 -- invalid opcode
This exception can result from improper use of the LOCK instruction. - Exception #14 -- page fault
This exception may occur in an 80286 program if the operating system enables paging. Paging can be used in a system with 80286 tasks as long as all tasks use the same page directory. Because there is no place in an 80286 TSS to store the PDBR, switching to an 80286 task does not change the value of PDBR. Tasks ported from the 80286 should be given 80386 TSSs so they can take full advantage of paging.
![Comparison between 8085 and 8086 Comparison between 8085 and 8086](/uploads/1/1/7/7/117729385/559921516.jpg)
Next: Chapter 14 80386 Real-Address Mode