Advanced Microprocessors: 5.1 80286 MICROPROCESSOR
Advanced Microprocessors: 5.1 80286 MICROPROCESSOR
Advanced Microprocessors: 5.1 80286 MICROPROCESSOR
ADVANCED MICROPROCESSORS
5.1 80286 MICROPROCESSOR
The 80286 microprocessor is a third generation,16-bit microprocessor. It is the advanced version of the
8086 processor and is designed for multiuser and multitasking environments. The 80286 performance is six
times faster than the 8086 microprocessor.
Features of 80286:
The Intel 80286 is a high performance 16-bit microprocessor designed for multitasking and multi
programming.
The 80286 can be operated at three different clock speeds. These are 12.5MHz, 10MHz, 8MHz.
It has 24-bit address bus so it can directly address 16M bytes of physical memory.
It has 1G bytes of virtual (not physical) memory.
It is housed in a 68 pin leadless flat package.
It is operated in two modes they are Real Address Mode and Protected Virtual Address Mode (PVAM).
It has four functional units they are bus unit (BU), address unit (AU), instruction unit (IU), and
execution unit (EU).
It has four general purpose registers of size 16-bit and they are AX, BX, CX, DX and four special purpose
registers of size 16-bit and they are SP, BP, SI, DI.
It has four segment registers of size 16-bit and they are CS, DS, ES, and SS.
It has a 16 bit flag register in that 15 flags are used. They are AF (auxiliary carry flag), CF (carry flag), ZF
(zero flag), OF (overflow flag), SF (sign flag), TF (trap flag), IF (interrupt flag), DF (direction flag),
similar to 8086. The additional 6 flags are IOPL(i/o privilege field),NT (nested task),
In MSW: PE (protection enable), MP (monitor processor extension), EM (processor extension emulator),
and TS (task switch).
Through memory management unit the 80286 addresses a virtual memory space of 1G bytes.
The 80286 performance is six times faster than the 8086 microprocessor.
1
Address unit (AU):
The address unit is responsible for calculating the 20-bit physical address of instructions and data that
the CPU wants to access it.
This unit calculates the 20-bit physical address based on the contents of the 16-bit segment register and a
16-bit offset value.
The 80286 addresses a 1M byte of physical memory as same as 8086 in Real Address Mode.
In Protected Virtual Address Mode (PVAM), the AU operates as a Memory Management Unit(MMU)
and utilizes all 24 address lines to provide 16M bytes of physical memory.
In PVAM mode the physical address is calculated by using the selector, data descriptor table, and data
descriptor.
2
It has 4 general purpose registers for handling the data and 4 special purpose registers for offset
address calculation.
It has a control unit which generates the necessary control signals for the system operations.
5.3 OPERATING MODES OF 80286
The 80286 operates in two modes:
1. Real address mode (RAM)
2. Protected Virtual address mode (PVAM)
REAL ADDRESS MODE:
In the real addressing mode the operation of 80286, it just acts as a fast 8086.
The instruction set is upwardly compatible with that of 8086.
In this mode it can access up to 1MB of physical memory using A0- A19 address lines. The lines A20- A23
are not used by the internal circuit of 80286 in this mode.
In this mode the 80286 uses 𝐵𝐻𝐸 along with A0- A19 for addressing the physical memory.
To produce 20-bit physical address by simply adding an offset (IP, BX, BP, SP, SI, DI and SI) to a
segment base (CS, DS, ES and SS) as in case of 8086.
The 80286 reserves two fixed areas of physical memory for system initialisation and interrupt vector
table.
In this mode the first 1 Kbyte of memory starting from 00000H to 003FFH is reserved for interrupt
vector table. Also the addresses from FFFF0H to FFFFFH is reserved for system initialization.
The program execution starts from FFFF0H after reset and initialization.
The below figure shows how 80286 calculates physical address in real mode
3
The main features of Protected Virtual Address Mode are:
Memory management
Virtual addressing
Memory protection mechanism
Task switching and interrupt processing.
In this mode, 80286 access 16MB of (From 000000H to FFFFFFH) physical memory and 1GB
of virtual memory.
In this mode the physical address (24-bit) is generated by adding 24-bit segment base address to
16-bit offset address
The segment base address is provided by the descriptors
The descriptor is a block of contiguous eight memory locations containing information of a
segment, like segment base address, segment limit, segment type, privilege level, segment
availability in physical memory.
4
memory and the memory management.
3. In this mode 80286 access only 1MB of physical 3. In this mode 80286 access 16MB of physical
memory using A0- A19 memory & 1 GB of virtual memory.
4. In this mode 20-bit physical address is generated in 4. In this mode 24-bit physical address is generated by
the same way as 8086. adding 24-bit base address of the selected descriptor
and 16-bit offset.
5. In this mode all memory management & protection 5. In this mode 80286 works with all of the memory
mechanism are disables. management and protection capabilities.
5
Now the 24-bit segment base address is added to 16-bit offset address to generate 24-bit physical
address.
In 80286, the number of descriptors = 16K (214) and the maximum size of segment = 64KB (216).
Then Virtual memory space = No of segments * size of each segment
16K (214) * 64KB (216) = 1GB (230).
The internal architecture of 80386 is divided into three sections they are central processing unit, memory
management unit and bus control unit.
Central processing unit:
The central processing unit is further divided into execution unit and instruction unit.
The execution unit has eight general purpose and eight special function registers, they are used to store
data operands and offset addresses.
The instruction unit decodes the op-code bytes received from the 16-byte code queue and the decoded
instructions are stored in 3-decoded instruction queue.
The decoded instructions then passed to the control section for deriving the necessary control signals.
The barrel shifter is used to increase the speed of the shift and rotate operations.
The multiply/divide logic implements bit-shift-rotate algorithms to complete the operations (arithmetic
operations like division and multiplication) in minimum time.
Memory management unit:
The memory management unit consists of segmentation and paging unit.
The segmentation unit allows two address components. They are segment address and offset address for
sharing of code and data.
The segmentation allows maximum size of 4GB segments.
The paging unit organizes the physical and virtual memory in terms of pages of size 4KB.
6
The paging unit works under the control of segmentation unit.
Each segment is further divided into pages of size 4KB.
The segmentation unit provides four level protection mechanism for protecting and isolating system
code from application program.
7
1. REAL MODE:
8
Fig. shows addressing in protected mode without paging. The content of segment registers are used to
access descriptors. The segment descriptor contains segment base address (32-bit), limit and access rights
byte.
The offset (32-bit) is added with 32-bit segment base address to obtain linear address. This is the physical
Address when paging is not enabled.
When paging is enabled the linear address is translated to 32-bit physical address as shown in fig.
When paging is enabled (By setting MSB bit (PG) of CR0) the memory segments are divided into 4KB
pages.
9
The memory banks are accessed by using four bank enable signals 𝐵𝐸 0- 𝐵𝐸 3 which are generated using
A0 and A1 address bits.
A single byte is accessed when one bank enable (𝐵𝐸0) signal is activated.
A word is accessed when two bank enable signals(𝐵𝐸1 𝑎𝑛𝑑 𝐵𝐸0) are activated.
A double word is accessed when all four bank enable signals are activated.
Memory locations 0000 0000H is in bank0, location 0000 0001H is in bank1, location 0000 0002H is in
bank2 and location 0000 0003H is in bank 3.
Pipelined: On a pipelined machine, where fetch, decode and execute operations are performed in parallel. Only
five cycles are needed to execute the same three instructions as in fig. The first instruction requires three cycles
to complete. Additional instructions then completes at a rate of one per cycles.
10
Fig. Pipeline processing
11
Fig. RISC architecture Fig. CISC architecture
The term CISC stands for ‘Complex Instruction Set Computer’. It is a CPU design strategy based on
single instructions, which are capable of performing multi-step operations. CISC computers have shorted
programs. It has a large number of complex instructions, which takes long time to execute. Here, a single set of
instruction is covered in multiple steps; each instruction set has more than three hundred separate instructions.
Most instructions are completed in two to ten machine cycles. In CISC, instruction pipelining is not easily
implemented.
COMPARISION BETWEEN RISC & CISC
S. No RISC CISC
1. Emphasis is on Software Emphasis is on hardware
2. Clock rate is 50-150 Mhz Clock rate is 33- 50 Mhz
One cycle for almost all instructions and an Complex instructions take multiple cycles. An
3. average CPI (Cycles Per Instruction) < 1.5. average CPI is between 2 and 15
4. Simple instructions take one cycle Complex instructions take multiple cycles.
5. Very few instructions refer memory Most of the instruction s may refer memory
6. Instructions are executed by hardware Instructions are executed by program
7. Fixed format instructions Variable format instructions
8. Few instructions Many instructions
9. Few addressing modes Many addressing modes
10. Highly pipelined Not pipelined or less pipelined.
11. Complexity in the compiler Complexity in the micro program.
12. Multiple register sets Single register set.
12
It has built in math coprocessor
It is fabricated using CHMOS-IV technology.
80486 is a CISC processor.
It contains more than 1.2 million transistors.
The bus size control signals BS16# and BS8 are used for dynamic bus sizing.
Parity generation and control unit is used to generate the parity and to detect the errors.
Boundary scan control unit is used to perform boundary scan tests to ensure the correct functioning of
the hardware components.
13
Execution and control unit:
The execution and control unit is used to fetch the instruction, decode the instructions and generate the control
signals for execution of the instructions.
The pre-fetcher fetches the codes from memory ahead of execution time and arranges them in 32-byte
code queue.
The instruction decoder fetches the code from the 32-byte queue and decodes it sequentially. The
decoded instructions are given to the control unit.
The control ROM stores the micro-program for deriving the control signals for execution of different
instructions.
The ALU and register bank is used for execution.
The segmentation unit, descriptor registers, paging unit, translation look aside buffer and limit and
attribute PLA work together to manage virtual memory.
Floating point unit:
The 80486 has on-chip floating point unit used to perform floating point mathematical operations. The floating
point unit has floating point registers to perform mathematical operations.
The floating point unit with register bank communicates with the bus interface unit under the control of
memory management unit via its 64-bit internal data bus.
The floating point unit is responsible for carrying out mathematical data processing at a higher speed
compared to ALU, with its built in floating point algorithms.
The Pentium processor has super scalar architecture which allows parallel execution of two instructions.
For execution of multiple instructions concurrently, Pentium issues two instructions in parallel to the two
independent integer pipelines known as U and V pipelines. Each of these are five stage pipelines.
14
The super scalar architecture is explained by using the below figure.
From the figure the first stage is pre-fetch stage. In this stage, the instructions are pre-fetched from the code
cache and stored in the pre-fetch buffer.
Decoding stage ‘1’ is used to decode the simple instructions and generate the control words.
The output of decoding stage ‘1’ is given to the decoding stage ‘2’.
The decode stage ‘2’ is further decodes the control words and generate memory address.
By using the memory address from the D2 stage, the data is accessed from the data cache and given to the
ALU.
Last stage in pipelining is Write back stage. In this stage the processor updates the registers contents based
on the executed result.
Separate code cache and Data cache:
The 80586 has separate 8KB code and Data cache memories. The 8KB code cache memory is used to store
the code or instructions.
The 8KB data cache memory is used to store the data.
15
Floating point unit (FPU):
The Pentium has 8 stage pipelined floating point unit, hence the speed of the Pentium is higher than the
speed of 80486.
FPU is used to perform the floating point operations.
16