8086 Architecture and Pin Discription
8086 Architecture and Pin Discription
❖ 4-Bit Microprocessors
❖ 8-Bit Microprocessors
❖ 16-Bit Microprocessors
❖ 32-Bit Microprocessors
❖ 64-Bit Microprocessors
History:
Million
Pentium II 64-bit 1998
XEON
Pentium III 64-bit 1999
Pentium 64-bit 2000
IV
Dual Core 64-bit 2006
Core 2 2006
Core i7 2008
Core i5 2009
Core i3 2010
Motorola
6800 8-bit 64KB 40 1974
6809 8-bit 64KB 40 1978
68000 16-bit 16MB 64 1979
68020 32-bit 4GB 169 PGA 200000 1984
68030 32-bit 4GB 169 PGA
68040 32-bit 4GB
Zilog
z-80 8-bit 64KB 40
z-800 8-bit 500K
z-8000 16-bit 64KB
8086 features:
8086 has 14 internal registers, each of 16 bits or 2 Bytes wide. The size of
the internal registers indicate how much information the processor can
operate on at a time and how it moves data around internally within the
chip, sometimes also referred to as the internal data bus.
8086 has four 16 bit general purpose registers AX, BX, CX and DX. Store
intermediate values during execution. Each of these has two 8 bit parts
(higher and lower).
It provides the interface of 8086 to external memory and I/O devices via the
System Bus. It performs memory read, I/O read etc. to transfer the data
between memory and I/O devices.
Example:
CS = 4321H IP = 1000H
Then CS x 10H = 43210H + offset = 53210H
Functions of EU
The EU fetches an opcode from the queue into the instruction register. The
instruction decoder decodes it and sends the information to the control
circuit for execution.
Status flags: Status flags are updated after every arithmetic and logic
operation.
1. carry flag(CF)
2. parity flag(PF)
3. auxiliary carry flag(AF)
4. zero flag(Z)
5. sign flag(S)
6. Overflow flag(OV)
Carry Flag (CY): This flag indicates an overflow condition for unsigned
integer arithmetic. It is also used in multiple-precision arithmetic.
Parity Flag (PF): This flag is used to indicate the parity of result. If lower
order 8-bits of the result contains even number of 1’s, the Parity Flag is set
and for odd number of 1’s, the Parity flag is reset.
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.
Control flags: The Control flags are used to control certain operations.
Control flags are set or reset deliberately to control the operations of the
execution unit. Control flags are as follows:
o trap flag(TF)
o interrupt flag(IF)
o direction flag(DF)
These flags can be set or reset using control instructions like CLC, STC,
CLD, STD, CLI, STI, etc.
Trap Flag (TF): It is used for single step control. 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.
Arithmetic Logic Unit (16 bit): Performs 8 and 16 bit arithmetic and logic
operations.
PIN Diagram:
The pin diagram of 8086 is shown in the fig. Intel 8086 is a 16-bit HMOS
microprocessor. It is available in 40 pin DIP chip. It uses a 5V DC supply for
its operation. The 8086 uses 20-line address bus. It has a 16-line data bus.
The 20 lines of the address bus operate in multiplexed mode. The 16-low
order address bus lines have been multiplexed with data and 4 high-order
address bus lines have been multiplexed with status signals.
Pin 33(MN/MX’): 8086 will work in two different modes. They are
Minimum/Maximum modes. MN/MX’=0: maximum mode and MN/MX’=1:
minimum mode.
Pin 29( LOCK’) : It is an active low pin. It indicates that other system bus
masters have not been allowed to gain control of the system bus while
LOCK’ is active low (0). The LOCK signal will be active until the completion
of the next instruction.
Pins 26-28(S2, S1, S0): Status pins. These pins are active during T4, T1
and T2 states and is returned to passive state (1,1,1 during T3 or Tw (when
ready is inactive). These are used by the 8288 bus controller for generating
all the memory and I/O operation) access control signals. Any change in S2,
S1, S0 during T4 indicates the beginning of a bus cycle.
S2 S1 S0 Characteristics
0 0 0 Interrupt acknowledge
0 0 1 Read I/O port
0 1 0 Write I/O port
0 1 1 Halt
1 0 0 Code access
1 0 1 Read memory
1 1 0 Write memory
1 1 1 Passive state
Pin 23( TEST’) : This examined by a ‘WAIT’ instruction. If the TEST pin goes
low(0), execution will continue, else the processor remains in an idle state.
The input is internally synchronized during each of the clock cycle on
leading edge of the clock.
Pin 19( CLK) : Clock Input. The clock input provides the basic timing for
processing operation and bus control activity. Its an asymmetric square
wave with a 33% duty cycle.
Pin 17(NMI): Non maskable interrupt. This is an edge triggered input which
results in a type II interrupt. A subroutine is then vectored through an
interrupt vector lookup table which is located in the system memory. NMI is
non-maskable internally by software. A transition made from low(0) to
high(1) initiates the interrupt at the end of the current instruction. This
input has been synchronized internally.
Pin 26(DEN): Data enable. This pin is provided as an output enable for the
8286/8287 in a minimum system which uses transceiver. DEN is active
low(0) during each memory and input-output access and for INTA cycles.
Pin 28(M/IO’): The M/IO’ pin selects memory or I/O. This pin indicates
that the microprocessor address bus contains either a memory address or
an I/O port address. This pin is at its high-impedance state during a hold
acknowledge.
Pin 29(WR’): The write line is a strobe that indicates that the 8086 is
outputting data to a memory or I/O device. During the time that WR’ the is
a logic 0, the data bus contains valid data for memory or I/O. This pin floats
to a high impedance during a hold acknowledge.
Address bits A1 through A19 are connected to both the banks to select the
location to be accessed. Bus low enable (BLE’) A0 and Bus high enable
(BHE’) are used as bank-select signals for lower and upper banks
respectively. Each of the memory banks provides half of the 16-bit data bus.
The even bank transfers data bytes over D0 -D7 data lines, while odd bank
use D8-D15 for data transfers.
The byte transfer operation and word transfer operations are as illustrated
in table below. The byte transfer operation needs one bus cycle, while word
transfer operation needs one or two bus cycles.
Case 1: to read/write a byte from /into a memory location in the even bank
whose address may be 00000H. Select BHE’=1 and since A0=0, even bank
will be selected and odd bank will be disabled, and a byte will be transferred
through D0 -D7 data lines.
Case 2: to read/write a byte from /into a memory location in the odd bank
whose address may be 00001H. Select BHE’=0 and since A0=1, odd bank will
be selected and even bank will be disabled, and a byte will be transferred
through D8 –D15 data lines.
8086 will take 4T states for IOR, IOW, MEMR and MEMW machine cycles.
µP will provide the address information in AD0-AD15 & A16-A19 line.
Read cycle: During the 1st T state of every machine cycle the ALE makes a
transition from low to high and again from high to low. With the trailing
edge of the ALE signal the address information is latched at the o/p of the
latch and will be there throughout the machine cycle. M/IO’ and DT/R’
settle down accordingly at the beginning of M/C and remains as it is
throughout the M/C. In read M/C, during T2 RD’ and DEN’ signals makes
transition from high to low and is continued throughout the M/C. During
the T3 µP just waits and in T4 it will draws RD’ and DEN’ signals and
whatever the data in the data bus takes it is valid data.
Write cycle: During the 1st T state of write M/C the ALE makes a transition
from low to high and again from high to low. With the trailing edge of the
ALE signal the address information is latched at the o/p of the latch and will
be there throughout the machine cycle. M/IO’ signal will settle down and
DT/R’ signal makes a transition from low to high accordingly at the
beginning of the M/C and unchanged throughout the M/C. In write cycle,
during T2 the WR’ and DEN’ make transition from high to low as they are
active low signals. During the T3 µP just waits and in T4 it will draws WR’
and DEN’ signals and whatever the data in the data bus takes it is valid
data. If ready pin is low somewhere before end of T2 then at the end of T2 it
will be sampled by the processor and after T3 instead of generating T4 T
state processor will generate one wait state. During the wait state the status
of AB, DB and CBs remains unchanged and the READY pin is sampled by
the processor. If it is still low one more wait state is introduced. This
process will be continued until the READY pin is high. Once the READY pin
is high the processor will generate the T4 T state and ends the machine
cycle.
Maximum mode operation differs from minimum mode in the way some of
the control signals must be externally generated. In the maximum mode
additional circuitry (8288-external bus controller to provide the signals
eliminated from the 8086 by the maximum mode operation, as there are not
enough pins on the 8086 for bus control during maximum mode) is required
to translate the control signals. This additional circuitry converts the status
signals (S2-S0) into the I/O and memory transfer signals. It also generates
the control signals required to direct the data flow and for controlling 8282
latches and 8286 transceivers. 8086 system that is operated in maximum
mode must have an 8288 bus controller. The fig illustrates the maximum
mode of 8086
In this mode, the processor derives the status signal S2, S1, S0.
Another chip called bus controller derives the control signal using this
status information.
Queue Status
Qs1 Qs0 Q status
0 0 Queue is ideal
0 1 1st byte of the opcode
1 0 Queue is empty
1 1 Subsequent byte of queue
8288 bus controller: Fig illustrates the block diagram and pin-out of the
8288 bus controller. The control bus developed by the 8288 bus controller
contains separate signals for I/O (IORC’ and IOWC’) and memory ( MRDC’
and MWTC’). Also contains advanced memory (AMWC) and I/O (AIOWC’)
write strobes, and INTA’ signal. These signals replace the minimum mode
ALE,WR’,IO/M’, DT/R’,DEN’, and INTA’, which are lost when the 8086
microprocessors are operated in the maximum mode.