Presentation on theme: "Parul Polytechnic Institute"— Presentation transcript:
1Parul Polytechnic Institute Subject Code :Name Of Subject : Microprocessor and assembly language programmingName of Unit : Introduction to advance MicroprossorTopic : intel 8086 microprossorName of Faculty : H.M.Avaiya & N.D.DhameliyaName of Students: (i) VINEET CHOTRANI(152)(ii) PANKHANIA YASH H(154)
4Bus interface unit (BIU) Execution unit (EU) The 8086 hardware is internally divided into two functional parts as shown in figure.They are:Bus interface unit (BIU)Execution unit (EU)
5Bus interface unitThe 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.
7Prefetch queueIt 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.
8Segment registersThe 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.
9Instruction pointerIt 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.
10Execution unitThe EU executes instructions while the BIU is fetching instructions.The major components of EU are :Control circuitInstruction decoderALUGeneral purpose registersStack pointerIndex registersFlag register
11Control circuit Instruction decoder It controls all the operations performed by the microprocessor.It also directs internal operations.Instruction decoderIt decodes the instructions and divides them into small steps for execution.
12General purpose registers ALUThe 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 registersThe 8086 has four 16 bit general purpose registers namely ax,bx,cx,dxThe 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.
13Stack pointer Index register 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 registerTwo 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.
14Flag register It is a 16 bit register and contains nine flags. The flags are divided into two groups:six conditional flags.Three control flags.