parul polytechnic institute
DESCRIPTION
Subject Code : 3330705 Name Of Subject : Microprocessor and assembly language programming Name of Unit : Introduction to advance Microprossor Topic : intel 8086 microprossor Name of Faculty : H.M.Avaiya & N.D.Dhameliya Name of Students: (i) VINEET CHOTRANI(152) - PowerPoint PPT PresentationTRANSCRIPT
Subject Code : 3330705
Name Of Subject : Microprocessor and assembly language
programming
Name of Unit : Introduction to advance Microprossor
Topic : intel 8086 microprossor
Name of Faculty : H.M.Avaiya & N.D.Dhameliya
Name of Students: (i) VINEET CHOTRANI(152)
(ii) PANKHANIA YASH H(154)
Block diagram of intel 8086 Block diagram of intel 8086
The 8086 hardware is internally divided into two functional parts as shown in figure.They are:
1. Bus interface unit (BIU)
2. Execution unit (EU)
Bus interface unitBus interface unit
The BIU is responsible for interfacing 8086 with the external devices. It sends addresses on address bus, fetches instructions from memory, performs read and write operations with memory and I/O devices. BIU also computes addresses before it sends address on the address bus.
BIU contains following functional units:
1. Prefetch queue
2. Segment registers
3. Instruction pointer
Prefetch queuePrefetch queue
It is a 6 bytes first in first out (FIFO) queue which can store upto 6 instruction bytes. BIU fetches the instruction and places them in the queue. The EU continuously executes them until the queue is empty.
This allows fetch and execute cycles to overlap and speedup execution.
Segment registersSegment registers
The BIU has four segment registers: CS(code segment) register, DS(Data Segment) register, SS(Stack Segment) register and ES (Extra Segment) register. These segment registers hold 16 bit base address of respective segments. 8086 divides 20 bit physical address into two parts called segment base and offset and is refered as seg:offset.
Instruction pointerInstruction pointer
It is a16 bit register and stores offset address of next instruction to be executed. It is always used as offset with CS register. It is similar to program counter of 8085. The IP is incremented every time by length of instruction to point to next instruction in code segment.
Execution unitExecution unit The EU executes instructions while the BIU is fetching instructions. The major components of EU are :1.Control circuit2.Instruction decoder3.ALU4.General purpose registers5.Stack pointer6.Index registers7.Flag register
Control circuitControl circuit
It controls all the operations performed by the microprocessor.
It also directs internal operations.
Instruction decoderInstruction decoder
It decodes the instructions and divides them into small steps for execution.
ALUALU The 8086 has 16 bit arithmetic and logic unit which can perform 16 bit arithmetic and logic operations like addition, subtraction, multiplication, division, increment, decrement, AND,OR,NOT,XOR,complement,compare,shift and rotate on 16 bit operands stored in registers or memory.
General purpose registersGeneral purpose registers
The 8086 has four 16 bit general purpose registers namely ax,bx,cx,dx The ax register is known as accumulater. The bx register is called base register. The cx register is called count register. The dx register is called data register.
Stack pointerStack pointer It is a 16 bit registers used to store offset address of the top of stack. The 8086 has another stack pointer known as BP(base pointer).It is also used with stack segment and very useful in parameter passing and accessing during subroutine execution.
Index registerIndex register Two 16 bit index registers are SI(source index) and DI(destination index) They are inherently used in string instructions to point to source and destination strings.
Flag registerFlag register