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

1Module Microprocessor 8086 Architecture

This document provides an overview of the Intel 8086 microprocessor architecture, focusing on its CPU architecture, programmer's model, and functional components. It details the roles of the Bus Interface Unit (BIU) and Execution Unit (EU), along with memory segmentation, pin diagrams, and operational modes. The course aims to equip students with the knowledge to identify components and their functions within the 8086 microprocessor.

Uploaded by

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

1Module Microprocessor 8086 Architecture

This document provides an overview of the Intel 8086 microprocessor architecture, focusing on its CPU architecture, programmer's model, and functional components. It details the roles of the Bus Interface Unit (BIU) and Execution Unit (EU), along with memory segmentation, pin diagrams, and operational modes. The course aims to equip students with the knowledge to identify components and their functions within the 8086 microprocessor.

Uploaded by

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

SE Sem-IV

Microprocessor
CSC405
Module - 1
The Intel Microprocessors 8086 Architecture
By Prof. Sunil Katkar
Department of Computer Engineering, VCET
Module -1
The Intel Microprocessors 8086 Architecture
Objective
To equip students with the fundamental knowledge and basic technical
competence in the field of Microprocessors.

Outcome
At the end of the course student will be able to:
Identify the components and their functions in Intel 8086 microprocessors.
Module -1
The Intel Microprocessors 8086 Architecture
1.1 8086 CPU Architecture,
1.2 Programmer’s Model
1.3 Functional Pin Diagram
1.4 Memory Segmentation
1.5 Banking in 8086
1.6 De multiplexing of Address/Data bus
1.7 Functioning of 8086 in Minimum mode and Maximum mode
1.8 Timing diagrams for Read and Write operations in minimum and
maximum mode
1.9 Interrupt structure and its servicing
8086 Intel Architecture

Bus Interface Unit (BIU)

BIU fetches instructions, reads data


from memory and I/O ports, writes
data to memory and I/ O ports.

Execution Unit (EU)

EU executes instructions that have


already been fetched by the BIU.

BIU and EU functions separately.


8086 Intel Architecture - Execution Unit (EU)
• Instruction Decoder
• Control Unit
• Arithmetic Logic Unit
• Operand Register
• General Purpose Registers
• Flag Register
• Special Purpose Registers
Stack Pointer(SP)
Other Pointer and Index Register
8086 Microprocessor Architecture Registers and Special Functions

Register Name of the Register Special Function

AX 16-bit Accumulator Stores the 16-bit results of arithmetic and logic operations

AL 8-bit Accumulator Stores the 8-bit results of arithmetic and logic operations

BX Base register Used to hold base value in base addressing mode to access memory
data

CX Count Register Used to hold the count value in SHIFT, ROTATE and LOOP
instructions

DX Data Register Used to hold data for multiplication and division operations

SP Stack Pointer Used to hold the offset address of top stack memory

BP Base Pointer Used to hold the base value in base addressing using SS register to
access data from stack memory

SI Source Index Used to hold index value of source operand (data) for string
instructions
6

DI Data Index Used to hold the index value of destination operand (data) for string
operations
Execution Unit (EU)
8086 INTEL Auxiliary Carry Flag
Carry Flag
ARCHITECT
Flag Register
This is set, if there is a carry from the
lowest nibble, i.e, bit three during
This flag is set, when there is
addition, or borrow for the lowest
URE nibble, i.e,
subtraction.
bit three, during
a carry out of MSB in case of
addition or a borrow in case
of subtraction.
Sign Flag Zero Flag Parity Flag

This flag is set, when the This flag is set, if the result of This flag is set to 1, if the lower
result of any computation the computation or comparison byte of the result contains even
is negative performed by an instruction is number of 1’s ; for odd number
zero of 1’s set to zero.

B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0

OF DF IF TF SF ZF AF PF CF

Overflow Flag Tarp Flag


This flag is set, if an overflow occurs, i.e, if the result of If this flag is set, the processor
a signed operation is large enough to accommodate in a enters the single step execution
destination register. The result is of more than 7-bits in mode by generating internal
size in case of 8-bit signed operation and more than 15- interrupts after the execution of
bits in size in case of 16-bit sign operations, then the
each instruction
overflow will be set.

Direction Flag Interrupt Flag


This is used by string manipulation instructions. If this flag bit
7
is ‘0’, the string is processed beginning from the lowest Causes the 8086 to recognize
address to the highest address, i.e., auto incrementing mode.
external mask interrupts; clearing IF
Otherwise, the string is processed from the highest address
towards the lowest address, i.e., auto incrementing mode.
disables these interrupts.
8086 Intel Architecture -Bus Interface Unit (BIU)
• Instruction Queue

• Segment Register
Code Segment Register
Data Segment Register
Stack Segment Register
Extra Segment Register

• Instruction Pointer
8086 Intel Architecture Bus Interface Unit

Instruction Queue

A group of First-In-First-Out (FIFO) in


which up to 6 bytes of instruction code
are pre fetched from the memory ahead
of time.

This is done in order to speed up the


execution by overlapping instruction
fetch with execution.

This mechanism is known as pipelining.


8086 Intel Architecture Bus Interface
Unit

Segmentation

10
8086 Intel Architecture Bus Interface Unit

Significance of CS and IP

Alternative way to represent a 20 bit physical address is


Segment base : Offset 11

348A:4214
Default Segment Register

In an instruction only the offset


address is mentioned.

The segment register is fixed for


each of the pointer registers.
MEMORY BANKING IN 8086

13
INTEL 8086 - Pin Diagram

14
INTEL 8086 - Pin Details

Power Supply
5V  10%
Ground

Reset
Registers, seg
regs, flags
CS: FFFFH, IP:
0000H
If high for
minimum 4
Clock clks
15
Duty cycle: 33%
INTEL 8086 - Pin Details

Address/Data Bus:
Contains address Address Latch Enable:
bits A15-A0 when ALE
is 1 & data bits D15 – When high,
D0 when ALE is 0. multiplexed
address/data bus
contains address
information.

16
INTEL 8086 - Pin Details

INTERRUPT

Non - maskable
interrupt

Interrupt
acknowledge

Interrupt request 17
INTEL 8086 - Pin Details

Direct
Memory
Access

Hold

Hold
acknowledge
18
INTEL 8086 - Pin Details

Address/Status Bus
Address bits A19 –
A16 & Status bits S6
– S3

19
INTEL 8086 - Pin Details

Bus High Enable/S7


Enables most
significant data bits
D15 – D8 during read
or write operation.
S7: Always 1.

20
INTEL 8086 - Pin Details

Min/Max mode
Minimum Mode: +5V
Maximum Mode: 0V

Minimum Mode Pins

Maximum Mode
Pins

21
Minimum Mode- Pin Details

Read Signal

Write Signal

Memory or I/0

Data
Transmit/Receive
22

Data Bus Enable


Maximum Mode - Pin Details

S2 S1 S0
000: INTA
001: read I/O port
010: write I/O port
011: halt
100: code access
101: read memory
Status Signal
110: write memory Inputs to 8288 to
111: none -passive generate eliminated
signals due to max
mode.

23
Maximum Mode - Pin Details

Lock Output
Used to lock peripherals off the
system DMA
Activated by using the LOCK: prefix Request/Grant
on any instruction

Lock Output

24
Maximum Mode - Pin Details

QS1 QS0
00: Queue is idle
01: First byte of opcode
10: Queue is empty
11: Subsequent byte of opcode

Queue Status
Used by numeric
coprocessor (8087) 25
Latch 8282 Trans receiver 8286
Clock Generator 8284
External Circuit to Reset 8086 (Power on RESET Circuit)
8086 Microprocessor
Pins and Signals Min/ Max Pins

The 8086 microprocessor can work in two


modes of operations : Minimum mode and
Maximum mode.

In the minimum mode of operation the


microprocessor do not associate with any
co-processors and can not be used for
multiprocessor systems.

In the maximum mode the 8086 can work


in multi-processor or co-processor
configuration.

Minimum or maximum mode operations


are decided by the pin MN/ MX(Active low).

When this pin is high 8086 operates in


minimum mode otherwise it operates in
Maximum mode.

30
8086 Microprocessor
Pins and Signals Minimum mode signals

Pins 24 -31

For minimum mode operation, the MN/ 𝐌𝐗 is tied


to VCC (logic high)

8086 itself generates all the bus control signals

DT/𝐑 (Data Transmit/ Receive) Output signal from the


processor to control the direction of data flow
through the data transceivers

𝐃𝐄𝐍 (Data Enable) Output signal from the processor


used as out put enable for the transceivers

ALE (Address Latch Enable) Used to demultiplex the


address and data lines using external latches

M/𝐈𝐎 Used to differentiate memory access and I/O


access. For memory reference instructions, it is
high. For IN and OUT instructions, it is low.

𝐖𝐑 Write control signal; asserted low Whenever


processor writes data to memory or I/O port

𝐈𝐍𝐓𝐀 (Interrupt Acknowledge) When the interrupt


request is accepted by the processor, the output is
low on this line.
31
8086 Microprocessor
Pins and Signals Minimum mode signals

Pins 24 -31

For minimum mode operation, the MN/ 𝐌𝐗 is tied


to VCC (logic high)

8086 itself generates all the bus control signals

HOLD Input signal to the processor form the bus masters


as a request to grant the control of the bus.

Usually used by the DMA controller to get the


control of the bus.

HLDA (Hold Acknowledge) Acknowledge signal by the


processor to the bus master requesting the control
of the bus through HOLD.

The acknowledge is asserted high, when the


processor accepts HOLD.

32
‘Read’ Cycle timing Diagram for Minimum Mode
‘Write’ Cycle timing Diagram for Minimum Mode
8086 Microprocessor
Pins and Signals Maximum mode signals

During maximum mode operation, the MN/ 𝐌𝐗 is


grounded (logic low)

Pins 24 -31 are reassigned

𝑺𝟎 , 𝑺 𝟏 , 𝑺𝟐 Status signals; used by the 8086 bus controller to


generate bus timing and control signals. These are
decoded as shown.

36
8086 Microprocessor
Pins and Signals Maximum mode signals

During maximum mode operation, the MN/ 𝐌𝐗 is


grounded (logic low)

Pins 24 -31 are reassigned

𝑸𝑺𝟎 , 𝑸𝑺𝟏 (Queue Status) The processor provides the status


of queue in these lines.

The queue status can be used by external device to


track the internal status of the queue in 8086.

The output on QS0 and QS1 can be interpreted as


shown in the table.

37
8086 Microprocessor
Pins and Signals Maximum mode signals

During maximum mode operation, the MN/ 𝐌𝐗 is


grounded (logic low)

Pins 24 -31 are reassigned

𝐑𝐐/𝐆𝐓𝟎 , (Bus Request/ Bus Grant) These requests are used


𝐑𝐐/𝐆𝐓𝟏 by other local bus masters to force the processor
to release the local bus at the end of the
processor’s current bus cycle.

These pins are bidirectional.

The request on𝐆𝐓𝟎 will have higher priority than𝐆𝐓𝟏

𝐋𝐎𝐂𝐊 An output signal activated by the LOCK prefix


instruction.

Remains active until the completion of the


instruction prefixed by LOCK.

The 8086 output low on the 𝐋𝐎𝐂𝐊 pin while


executing an instruction prefixed by LOCK to
prevent other bus masters from gaining control of
the system bus.

38
Maximum Mode 8086 System

39
8288 Bus Controller

40
Maximum Mode 8086 System
• Here, either a numeric coprocessor of the type 8087 or another
processor is interfaced with 8086.

• The Memory, Address Bus, Data Buses are shared resources


between the two processors.

• The control signals for Maximum mode of operation are


generated by the Bus Controller chip 8288.

• The three status outputs S0*, S1*, S2* from the processor are
input to 8288.

• The outputs of the bus controller are the Control Signals, namely
DEN, DT/R*, IORC*, IOWTC*, MWTC*, MRDC*, ALE etc.

41
Memory Write timing in
Maximum Mode

42
Memory Read timing in
Maximum Mode

43
Interrupts of 8086
Interrupt Service Routines
8086 Programmer’s Model
ES Extra Segment
CS Code Segment
BIU registers
(20-bit address) SS Stack Segment
DS Data Segment
IP Instruction Pointer

EU registers AX AH AL Accumulator
BX BH BL Base Register
CX CH CL Count Register
DX DH DL Data Register
SP Stack Pointer
BP Base Pointer
SI Source Index Register
DI Destination Index Register
FLAGS

48

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy