0% found this document useful (0 votes)
4 views29 pages

lecture V

Uploaded by

shingwaj5
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
4 views29 pages

lecture V

Uploaded by

shingwaj5
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 29

8086 MICROPROCESSOR

Overview
 The 8086("eighty eighty-six", also called iAPX
86) is a 16-bit microprocessor chip designed
by Intel between early 1976 and mid-1978, when it
was released
 Having Data Bus of 16 bit
 Clock Frequencies of 5,8 &10 MHz
 Can Address up to 1 Mbytes of Memory
 It has more than 20,000 instructions
 Provides fourteen 16-Bit registers
Overview cont.……
The 8086 gave rise to the x86 architecture which
eventually became Intel's most successful line of
processors
EU & BIU
The 8086 CPU logic has been partitioned into two
functional units namely Bus Interface Unit (BIU)
and Execution Unit (EU)
The major reason for this separation is to increase
the processing speed of the processor
The BIU has to interact with memory and
input/output devices in fetching the instructions
and data required by the EU
EU is responsible for executing the instructions of
the programs and to carry out the required
processing
8086 Architecture
Execution Unit
The Execution Unit (EU) has
Control unit
Arithmetic and Logical Unit (ALU)
General registers
Flag register
Pointers
Index registers
 Control unit isresponsible for the co-ordination of all
other units of the processor
ALU performs various arithmetic and logical
operations over the data
General registers are used for temporary storage and
manipulation of data and instructions
Accumulator register consists of two 8-bit registers
AL and AH, which can be combined together and
used as a 16-bit register AX
Accumulator can be used for I/O operations and
string manipulation
Base register consists of two 8-bit registers BL and
BH, which can be combined together and used as a
16-bit register BX
BX register usually contains a data pointer used for
based indexed or register indirect addressing. Similar
to 8085 H-L register.
Count register consists of two 8-bit registers CL and
CH, which can be combined together and used as a
16-bit register CX
Count register can be used as a counter in string
manipulation and shift/rotate instructions
Data register consists of two 8-bit
registers DL and DH, which can be
combined together and used as a 16-bit
register DX
Data register can be used to hold 16 bit
result
 Stack Pointer (SP) is a 16-bit register pointing to
program stack
 Base Pointer (BP) is a 16-bit register pointing to data in
stack segment. BP register is usually used for based,
based indexed or register indirect addressing.
 Source Index (SI) is a 16-bit register. SI is used for
indexed, based indexed and register indirect addressing,
as well as a source data addresses in string manipulation
instructions.
 Destination Index (DI) is a 16-bit register. DI is used for
indexed, based indexed and register indirect addressing,
as well as a destination data addresses in string
manipulation instructions.
BIU
INSTRUCTION STREAM BYTE QUEUE
 It is of 6 Bytes.
 To increase the execution speed, BIU fetches as
many as six instruction bytes ahead to time from
memory.
 It operates on the principle first in first out (FIFO).
 Then all bytes are given to EU one by one.
 Therefore fetch and execution are taking place
concurrently in order to improve the performance
of the microprocessor
 The BIU feeds the instruction stream to the
execution unit through a 6 byte pre fetch
queue
Segment Registers
The memory of 8086 is divided into 4
segments namely
 Code segment (program memory)
 Data segment (data memory)
 Stack memory (stack segment)
 Extra memory (extra segment)
Code Segment (CS) register is a 16-bit register
containing address of 64 KB segment with
processor instructions
The processor uses CS segment for all accesses to
instructions referenced by instruction pointer
(IP) register
Stack Segment (SS) register is a 16-bit register
containing address of 64KB segment with
program stack
By default, the processor assumes that all data
referenced by the stack pointer (SP) and base
pointer (BP) registers is located in the stack
segment
Data Segment (DS) register is a 16-bit register
containing address of 64KB segment with
program data
By default, the processor assumes that all data
referenced by general registers (AX, BX, CX,
DX) and index register (SI, DI) is located in the
data segment
Extra Segment (ES) register is a 16-bit register
containing address of 64KB segment, usually with
program data
By default, the processor assumes that the DI
register references the ES segment in string
manipulation instructions
The Instruction Pointer (IP) in 8086 acts as
a Program Counter.
 It points to the address of the next
instruction to be executed.
Its content is automatically incremented
when the execution of a program
proceeds further.
The contents of the IP and Code Segment
Register are used to compute the memory
address of the instruction code to be
fetched.
This is done during the Fetch Cycle.
They are each 16 bits long and has 216 or 64 KB
addresses
Different kinds of segment registers are used to
calculate the address within the 1MB memory
space
Given code segment cs=1234H and IP=05678H
how do we get memory physical address
Status Flags
 Status Flags determines the current state of the
accumulator.
 They are modified automatically by CPU after
mathematical operations.
 This allows to determine the type of the result.
 8086 has 16-bit status register.
 It is also called Flag Register or Program Status
Word (PSW).
 There are nine status flags and seven bit
positions remain unused.
Status Flags
Pin Diagram of 8086
 AD15-AD0: These are the time multiplexed memory I/O
address and data lines.
 AD0 – AD7 carries lower order byte
 AD8 – AD15 carries higher order bytes
 During the first clock cycle it is carries 16 bit address and after
that it carries 16 bit data

 A19/S6,A18/S5,A17/S4,A16/S3: These are the time


multiplexed address and status lines.
 During first clock cycle, it carries 4 – bits address and later it
carries status signals
 The S4 and S3 combination indicates which segment register is
presently being used for memory accesses.
 S7 / BHE
Stands for Bus High Enable
It is available at pin 34 and used to indicate the
transfer of data using D8 – D15. This signal is low
during the first clock cycle, thereafter it is active.
 RD: This signal on low indicates the peripheral
that the processor is performing memory or
I/O read operation.
 READY: This is the acknowledgement from the
slow device or memory that they have
completed the data transfer.
 INTR-Interrupt Request: This is a triggered
input. If any interrupt request is pending, the
processor enters the interrupt acknowledge
cycle. This can be internally masked by resulting
the interrupt enable flag. This signal is active
high and internally synchronized.
 TEST: This input is examined by a ‘WAIT’
instruction. If the TEST pin goes low, execution
will continue, else the processor remains in an
idle state

 CLK- Clock Input: The clock input provides the


basic timing for processor operation and bus
control activity.

 MN/MX: The logic level at this pin decides


whether the processor is to operate in either
minimum or maximum mode.
Maximum and Minimum modes
The 8086 microprocessor can be configured to work
in either of the two modes
 Minimum mode MN/MX =1
 Maximum mode MN/MX =0
Minimum mode
Single processor mode : no additional processor
can be connected
8086 is responsible for generating all control
signals for memory and I/O
Used to design simple applications
Maximum and Minimum modes
Maximum mode
Multiprocessor mode: additional processors can
be connected e.g. 8087 the arithmetic co-
processor
External bus controller responsible for
generating all control signals for memory and
I/O
Used for complex and large applications
THANK YOU

You might also like