Breaking

Thursday, January 9, 2020

Microprocessor-8086 |Addressing mode ,features

INTRODUCTION

8086 Microprocessor is an enhanced version of 8085Microprocessor that was designed by Intel in 1976. It is a 16-bit Microprocessor having 20 address lines and16 data lines that provides up to 1MB storage. It consists of powerful instruction set, which provides operations like multiplication and division easily.
It supports two modes of operation, i.e. Maximum mode and Minimum mode. Maximum mode is suitable for system having multiple processors and Minimum mode is suitable for system having a single processor.

Why is intel 8086 known as 16 bit microprocessor?
The bit size of a processor is normally defined by it ALU width, which equates to its main working register width. e.g.:
·         8088 has 8 bit data bus, and 16 bit ALU so is a 16 bit CPU
·         8086 is same as 8088 but has 16 bit data bus, also a 16 bit CPU
In both cases above the address bus is 20 bits.
·         8080 and 8085 have 8 bit ALU and 8 bit data bus, address bus is 16 bit
·         many other 8 bit CPUs have 8 bit data and 16 bit address
That's why intel 8086 is called 16 bit microprocessor.

Features of 8086

The most prominent features of a 8086 microprocessor are as follows −
It has an instruction queue, which is capable of storing six instruction bytes from the memory resulting in faster processing.
It was the first 16-bit processor having 16-bit ALU, 16-bit registers, internal data bus, and 16-bit external data bus resulting in faster processing.
It is available in 3 versions based on the frequency of operation −
8086 → 5MHz
8086-2 → 8MHz
(c)8086-1 → 10 MHz
It uses two stages of pipelining, i.e. Fetch Stage and Execute Stage, which improves performance.
Fetch stage can prefetch up to 6 bytes of instructions and stores them in the queue.
Execute stage executes these instructions.
It has 256 vectored interrupts.
It consists of 29,000 transistors

Microprocessor-8086 Addressing mode :



The term addressing mode refers to the different ways an 8086 instruction can select an operand that the instruction operates on. Note that since 8086 is an 1-1/2 address CPU.many instructions can address two operands at the same time. However, when that happens, one of the operands must be a register.by addressing mode, we refer to the ‘second’ (i.e., non-register) operand in such cases.

The different (data) addressing modes are explained below in brief:

Register addressing:

The (second) operand is a register. Example: MOV AX, BX.

Immediate addressing:

The addressing mode in which the data operand is a part of the instruction itself is known as immediate addressing mode. Example: MOV CX, 4929HADD AX, 2387H

Direct addressing:

The instruction specifies the address of the operand. Example: MOV AX, 9000H.

Indexed addressing:

The operand is specified using one of SI and DI as index register, along with an optional offset. The address of the operand is obtained by adding the ‘contents’ of the index register with the offset, if present. Example: MOV AX, [SI] or MOV AX, [SI+1000H].

Based addressing:

The operand is specified using one of BX and BP as base register, along with an optional offset. The address of the operand is obtained by adding the ‘contents’ of the base register with the offset, if present. Example: MOV AX, [BX] or MOV AX, [BP+1000H]

Based-indexed addressing:

The operand is specified using one of SI and DI as index register AND one of BX and BP as base register, along with an optional offset. The address of the operand is obtained by adding the ‘contents’ of the index register with the ‘contents’ of the base register and the offset, if present. Example: MOV AX,[SI+BX] or MOV AX,[DI+BP+1000H]

What is the difference between 8085 and 8086? 
There are some of the difference mentioned below:
1. Size:-
 8085 is 8 bit microprocessor whereas 8086 is 16 bit microprocessor.
2. Address Bus:-
8085 has 16 bit address bus and 8086 has 20 bit addres bus.
3. Memory:-
8085 can access upto 2^16 = 64 Kb of memory whereas 8086 can access upto
 2^20 = 1 MB of memory.
4.Multiplication and Division:-
8085 doesn't support whereas 8086 supports. 
5. Pipelining:-
8085 does not support pipelined architechture whereas 8086 supports pipelined architechture.
6. Memory Segmentation:-
In 8085, memory space is not segmented but in 8086, memory space is segmented.
7. I/O:-
8085 can address 2^8 = 256 I/O's and 8086 can access 2^16 = 65,536 I/O's
8. Airthmetic Support:-
8085 only supports integer and decimal whereas 8086 supports integer, decimal and ASCII arithmetic.
9. Instruction Queue:-
8085 doesn't have an instruction queue whereas 8086 has instruction queue.
10. Operating Modes:-
8085 supports only single operating mode whereas 8086 operates in two modes.
11. External Hardware:-
8085 requires less external hardware whereas 8086 requires more external hardware.
12. Cost:-
The cost of 8085 is low and 8086 is high.
13. Multiprocessing Support:-
8085 does not support multiprocessing support whereas 8086 supports.


No comments:

Post a Comment