0% found this document useful (0 votes)
6 views

18ECC203J - Unit 1 S - 2

Uploaded by

ym9348
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

18ECC203J - Unit 1 S - 2

Uploaded by

ym9348
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 33

18ECC203J – Module 1

Intel 8086 – Architecture, Signals and Features


S–2

Prepared by,
Dr. R. Manohari
Dr.T.Rajalakshmi
S–2
Features of 8086 microprocessor
& Register organization of 8086
Microprocessor Definition

🠶 Microprocessor is a programmable device that takes


in numbers, performs on them arithmetic or logical
operations according to the program stored in
memory and then produces other numbers as a
result.
Basic Concepts of Microprocessors
🠶 Differences between:
❖ Microcomputer –a computer with a microprocessor
as its CPU. Includes memory, I/O etc.
❖ Microprocessor –silicon chip which includes ALU,
register circuits, instruction decoder circuits &
control circuits
❖ Microcontroller –silicon chip which includes
microprocessor, memory & I/O in a single package
A Microprocessor based system (fig
1)
Inside the Microprocessor
Organization of a
microprocessor-based system
🠶 Let’s expand the fig 1 a bit
Microprocessor

8 Functional blocks
Computational Unit;
performs arithmetic and
Various conditions of the
results are stored as
Internal storage of data
status bits called flags in
logic operations
flag register

Register array or Data Bus


internal memory
ALU
Generates the
address of the
Instruction
Flag instructions to be
decoding unit
Register fetched from the
memory and send
through address
bus to the
Timing and memory
control unit PC/ IP

Control Bus Address Bus

Generates control signals for


internal and external Decodes instructions; sends
operations of the information to the timing and
microprocessor control unit
INTEL 8086
🠶 INTEL 8086 is the first 16-bit processor released by
INTEL in the year 1978
🠶 Third Generation Microprocessors
🠶 Designed using HMOS technology & now it is
manufactured using HMOS III technology & contains
approximately 29,000 transistors.
🠶 It is available as 40-pin Dual in-line Package (DIP).
INTEL 8086

🠶 It is available in four versions:


1. 8086 (5 MHz)
2. 8086-2 (8 MHz)
3. 8086-4 (4 MHz)
4. 8086-1 (10 MHz)
Main Features of 8086
🠶 It is a 16-bit processor. It’s ALU, internal registers work with
16-bit binary words.
🠶 It has a 16 bit data bus. It can read (or write) data from (or
to) a memory/port, either 16 bits or 8 bits at a time.
🠶 It has a 20-bit address bus which means it can address up
to 220 = 1 MB memory location.
🠶 Like 8085, 8086 too can do only fixed arithmetic.
✔ Intel had designed the coprocessor 8087 that can do
floating point arithmetic & other complex mathematical
operations.
🠶 8086 can work in conjunction with 8087 to do both fixed-
point, floating point & other complex mathematical
functions.
Main Features of 8086 cont…
🠶 It is designed to operate in two modes: minimum mode
and maximum mode
✔ In minimum mode, 8086 processor works in a single
processor environment
✔ In maximum mode, it works in a multiprocessor
environment.
✔ In a multiprocessor environment, Control signals for
memory & I/O are generated by an external BUS
controller
🠶 It requires +5 V power supply.
🠶 It uses a 40 pin DIP
Register Organization of 8086
Flag Register

🠶 A flag is a flip-flop that indicates some condition


produced by the execution of an instruction or
controls certain operations of the EU
🠶 A 16-bit flag register in the EU contains nine active
flags in the flag register
Flag Register
🠶 8086 has 9 flags and they are divided into two
categories:
⦿ Condition Flags
⦿ Control Flags
Condition Flags
🠶 Condition flags represent result of last arithmetic or logical
instruction executed. Conditional flags are as follows:

🠶 Carry Flag (CF): This flag is set if there is a carry /


borrow after an integer arithmetic.

🠶 Auxiliary Carry Flag (AF): If an operation performed in


ALU generates a carry / borrow from lower nibble (i.e. D0 –
D3) to upper nibble (i.e. D4 – D7), then AF is set. It is used
in BCD Addition.

🠶 Parity Flag (PF): This flag is used to indicate the parity


of result. If the result contains even number of 1’s, the
Parity Flag is set and for odd number of 1’s, the Parity Flag
Condition Flags

⦿ Zero Flag (ZF): It is set; if the result of arithmetic or


logical operation is zero else it is reset.
⦿ Sign Flag (SF): In sign magnitude format, the sign of
number is indicated by MSB bit. If the result of operation
is negative, sign flag is set.
⦿ Overflow Flag (OF): It occurs when signed numbers are
added or subtracted. An OF indicates that the result has
exceeded the capacity of machine that is result is out of
range
Control Flags

⦿ Control flags are set or reset deliberately to control


the operations of the execution unit. Control flags are
as follows:
⦿ Trap Flag (TP):
⦿ It is used for single stepping through a program
⦿ It allows user to execute one instruction of a
program at a time for debugging.
⦿ When trap flag is set, program can be run in single
step mode.
Control Flags

🠶 Interrupt Flag (IF):


⦿ It is an interrupt enable / disable flag.
⦿ If it is set, the INTR interrupt of 8086 is enabled and
if it is reset then INTR is disabled.
Control Flags

🠶 Directional Flag (DF):


⦿ It is used with string operations.
⦿ If it is set, string bytes are accessed from higher
memory address to lower memory address.
⦿ When it is reset, the string bytes are accessed from
lower memory address to higher memory address.
General Purpose Registers
🠶 EU has eight general purpose registers,
labeled AH, AL, BH, BL, CH, CL, DH &
DL
🠶 These registers can be used individually
for temporary storage of 8-bit data.
🠶 The AL register is also called the
accumulator
🠶 Certain pairs of these general purpose
registers can be used together to store 16-
bit data words
✔ AH-AL pair --- AX register
✔ BH-BL pair --- BX register
✔ CH-CL pair --- CX register
General Purpose Registers

⦿ AX Register: AX register is also known as accumulator


register that stores operands for arithmetic operation like
divided, rotate.
⦿ BX Register: This register is used as an offset storage for
forming physical addresses in case of certain addressing
modes.
⦿ CX Register: It is used as a default counter in case of string
and loop instructions.
⦿ DX Register: DX register is used to contain I/O port address
for I/O instruction.
Pointer and Index Registers

🠶 Stack Pointer (SP)


🠶 Base Pointer (BP)
🠶 Source Index (SI)
🠶 Destination Index (DI)
Pointer and Index Registers

🠶 Stack Pointer (SP):


⦿ The function of SP is same as the function of SP in Intel
8085.
⦿ It stores the address of top element in the stack.

🠶 BP, SI & DI are used

✔ for temporary data storage just as the general purpose


registers

✔ in memory address computation. (later)


Base Pointer (BP), Source Index (SI),
Destination Index (DI) Registers
🠶 BP : We can use it instead of SP for accessing the stack using
based addressing mode.
✔ In this case, the 20-bit physical stack address is calculated from
BP and SS
🠶 SI : It can be used to hold the offset of source data in the data
segment
✔ In this case, the 20-bit physical data address is calculated from SI
and DS
🠶 DI: It is used to store the offset of destination in data or extra
segment
✔ String instructions always use ES and DI to determine the 20-bit
physical address for the destination
Instruction Pointer (IP)
🠶 The Instruction Pointer (IP) in
8086 acts as a Program
Counter.
🠶 IP register holds the 16-bit
address or offset of the next
code byte within the code
segment
✔ Offset indicates displacement
of the memory location from
the starting location of the
segment.
Cont.

🠶 The instruction pointer register contains a 16-bit offset


which tells, where in that 64-Kbyte code segment the
next instruction byte is to be fetched from.
Stack Pointer Register
🠶 The SP register in the EU
holds the 16-bit offset from
the start of the stack
segment to the top of the
stack
🠶 For stack operation, the
content of the SS register
and the content of the SP
register are used to produce
the 20-bit physical address.
Segment Registers

🠶 Unlike 8085, the


8086 addresses
a segmented
memory
🠶 A segment
register points to
the starting
address of a
memory
segment.
Segment Registers

🠶 Four Segment registers in the BIU are used to hold


the upper 16 bits of the starting addresses of
four memory segments that the 8086 is working with
at a particular time
Segment Registers
🠶 Code Segment Register: Used to hold the upper 16 bits of
the starting address of code segment from which the BIU is
currently fetching instruction code bytes
🠶 Data Segment Register & Extra Segment Register: Used
to hold the upper 16 bits of the starting addresses of data
segment and extra segment that are used for data
🠶 Stack Segment Register: Used to hold the upper 16 bits of
the starting addresses of stack segment which is used to store
stack data
References

🠶 Advanced Microprocessors and Peripherals by A K Ray


& K M Bhurchandi
🠶 Microprocessors and Interfacing by Douglas V Hall &
SSSP Rao
Thank You

You might also like