Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Copy of 8086 Microprocessor Architecture

Introduction to MP and Architecture of 8086
by

VISHAL FICHADIYA

on 10 July 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Copy of 8086 Microprocessor Architecture

Microprocessor is a program controlled device which FETCH, DECODE & EXECUTE instructions
Architecture
16 Bit Processor
2.5 MIPS
20 Bit Address
16 bit Data
16 Segments of 64KB each
Units
IQ
Segment Registers
Instruction Pointer
Control System
ALU
Pointer Registers
Index Registers
Flag Register
sTATUS FLAGS
OVERFLOW FLAG
SIGN FLAG
ZERO FLAG
AUXILLARY CARRY FLAG
PARITY FLAG
CARRY FLAG
B i U
Execution Unit
FLAGS
8086 uP
So....
Photo credits: 'horizon' by pierreyves @ flickr
2^20 address locations = 1048576 locations
Memory
Processor
Maximum of 8bits at each address
1048576*8bits= 1Mega Byte
Address
Data
0000 0000
0000 0000 0000 0000 0001
~
00001H
Instruction Queue is a FIFO register which holds INSTRUCTIONS,
EU picks the instruction from queue and executes it.
Stack Pointer(SP)
Holds the address of top of the stack
Base Pointer(BP)
Holds the address of data in the stack
Source Index(SI)
Hold base address of Data Segment
Destination Index(DI)
Hold base address of Extra Segment
STACK SEGMENT(SS)

EXTRA SEGMENT(ES)

DATA SEGMENT (DS)

CODE SEGMENT (CS)
STACK POINTER(SP)
SOURCE INDEX (SI)
INSTRUCTION POINTER(IP)
DESTINATION INDEX (DI)
BASE POINTER (BP)
CONTROL FLAGS
DIRECTION FLAG
INTERRUPT FLAG
TRAP FLAG
OVERFOLOW FLAG (OF) :

set to 1 if operation larger than register size

Example:
FFFF
+ 0001
= 1 0000 ---------------- OF(.11) = 1
SIGN FLAG (SF) :

set to 1 if number is negative

Example:
0 0 0 0
- 0 0 0 1
= F F F F --------- SF(.7) = 1
ZERO FLAG (ZF) :

set to 1 if result of operation is zero

Example:
AND 0,0 = 0

------------------------ ZF(.6) = 1
AUXILLARY CARRY FLAG (AF) :

set to 1 if carry/borrow occrus at each nibble

Example:
0000 1111
+ 0000 0001
= 0001 0000 ------ AF(.4) = 1
PARITY FLAG (PF) :

set to 1 if even number of 1's in the number
Example:
ROR 1111 0001 0100 0000
------ PF(.2) = 1
CARRY FLAG (CF) :

set to 1 if carry is generated in MSB

Example:
FFFF
+ 0001
= 1 0000 --------------- CF(.0) = 1
DIRECTION FLAG (DF) :

Used for string manipulations
If
0, Auto Increment to highest address
1, Auto Decrement to Lowest address
INTERRUPT FLAG (IF) :

Used for enabling/disabling interrupts
If
0, Interrupts are Disabled
1, Interrupts are Enabled
TRAP FLAG (TF) :

Used for debugging in single step execution mode.

If its enabled the processor stops after each intruction and displays the status register.
Address Generation
Example:
CS --- 0001
IP----- 4214

Base address * 16 00010
Offset + 4214
Physical Address 04304
By
Sripath Roy Koganti
Full transcript