parul polytechnic institute

14
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

Upload: karim

Post on 09-Jan-2016

46 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Parul   Polytechnic  Institute

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)

Page 2: Parul   Polytechnic  Institute
Page 3: Parul   Polytechnic  Institute

Block diagram of intel 8086 Block diagram of intel 8086

Page 4: Parul   Polytechnic  Institute

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)

Page 5: Parul   Polytechnic  Institute

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.

Page 6: Parul   Polytechnic  Institute

BIU contains following functional units:

1. Prefetch queue

2. Segment registers

3. Instruction pointer

Page 7: Parul   Polytechnic  Institute

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.

Page 8: Parul   Polytechnic  Institute

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.

Page 9: Parul   Polytechnic  Institute

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.

Page 10: Parul   Polytechnic  Institute

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

Page 11: Parul   Polytechnic  Institute

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.

Page 12: Parul   Polytechnic  Institute

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.

Page 13: Parul   Polytechnic  Institute

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.

Page 14: Parul   Polytechnic  Institute

Flag registerFlag register