Introduction To 8086
Introduction To 8086
Fourth Generation
During 1980s
Low power version of HMOS technology
(HCMOS)
Third Generation 32 bit processors
During 1978 HMOS technology ⇒ Faster Physical memory space 224 bytes = 16 Mb
speed, Higher Virtual memory space 240 bytes = 1 Tb
packing density 16 bit processors ⇒ 40/ Floating point hardware
48/ 64 pins Supports increased number of addressing
Easier to program Dynamically relatable modes
programs Processor has multiply/ divide
arithmetic Intel 80386
hardware More powerful interrupt
handling
capabilities Flexible I/O port addressing
Second Generation
During 1973
NMOS technology ⇒ Faster speed, Higher
Intel 8086 (16 bit processor)
density, Compatible with TTL
4 / 8/ 16 bit processors ⇒ 40 pins Ability
First Generation to address large memory spaces and I/O
ports
Between 1971 – 1973 PMOS technology,
Greater number of levels of subroutine
non compatible with TTL
4 bit processors ⇒ 16 pins nesting
Better interrupt handling capabilities
8 and 16 bit processors ⇒ 40 pins Due to
limitations of pins, signals are
Intel 8085 (8 bit processor)
multiplexed
• What is Microcomputer?
• What is Microprocessor?
Functional blocks
Various conditions of the
Computational Unit;
results are stored as
performs arithmetic and Internal storage of data
status bits called flags in
logic operations
flag register
Overview
First 16- bit processor released by
INTEL in the year 1978
Address/Data bus
Pins and
Common signals
MN/ MX
MINIMUM / MAXIMUM
Pins and
Common signals
Signals
READY
Pins and
Common signals
RESET (Input)
Signals Causes the
processor to
immediately terminate its
present activity.
Pins and
Signals
Pins and
Signals
HOLD Input signal to the processor form the bus masters
as a request to grant the control of the bus.
Pins and
Signals
8086 Microprocessor
Maximum mode signals
Features of 8086
Microprocessor
• 8086 is a 16 bit μp
• 8086 has 16 bit Data Bus(D0-D15).
• 8086 has 20 bit Address Bus(A0-A19).
• 8086 has multiplexed Address and Data bus which
reduced the number of pins (AD0-AD15) & (A16-
A19).
• The memory addressing capacity is 1 MB.
• 8086 requires only one power supply +5V and one
clock phase whose frequency can be up to 5MHz.
• 8086 has 40 pin dual in line package.
• 8086 has 14, 16 bit registers.
8086 Microprocessor
Architecture
Architecture Dedicated
20 bit address
Adder to generate
Four 16-bit segment
registers
Architecture
Segment
Registers
Architecture
Segment Code Segment Register
• 16-bit
Registers
• CS contains the base or start of the current code segment; IP contains
the distance or offset from this address to the next instruction byte to be
fetched.
• That is, all instructions of a program are relative to the contents of the
CS register multiplied by 16 and then offset is added provided by the IP.
8086 Microprocessor
Bus Interface Unit (BIU)
Architecture
Segment Data Segment Register
Registers
• 16-bit
• Points to the current data segment; operands for most instructions are
fetched from this segment.
• The 16-bit contents of the Source Index (SI) or Destination Index (DI) or
a 16-bit displacement are used as offset for computing the 20-bit
physical address.
8086 Microprocessor
Bus Interface Unit (BIU)
Architecture
Segment Stack Segment Register
• 16-bit
Registers
• Points to the current stack.
• The 20-bit physical stack address is calculated from the Stack Segment
(SS) and the Stack Pointer (SP) for stack instructions such as PUSH
and POP.
Architecture
Segment Extra Segment Register
Registers
• 16-bit
• Points to the extra segment in which data (in excess of 64K pointed to
by the DS) is stored.
Architecture
Segment Instruction Pointer
• 16-bit
Registers
•Always points to the next instruction to be executed within
the currently executing code segment.
Architecture
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.
EU decodes and
Architectur
e
executes instructions.
A decoder in the EU
control system
translates instructions.
and
Some of the 16 bit registers can be
Index registers (Source used as two 8 bit registers as :
Index, Destination Index)
each of 16-bits AX can be used as AH and AL
BX can be used as BH and
BL CX can be used as CH and
CL DX can be used as DH
8086 Microprocessor
Execution Unit (EU)
Architectur
EU Accumulator Register (AX)
Registers e
• Consistsof two 8-bit registers AL and AH, which can
be combined together and used as a 16-bit register AX.
• AL in this case contains the low order byte of the word, and
AH contains the high-order byte.
Architectur
EU Base Register (BX)
Registers e
• Consistsof two 8-bit registers BL and BH, which can
be combined together and used as a 16-bit register BX.
Architectur
EU Counter Register (CX)
Registers
• Consists
e
of two 8-bit registers CL and CH, which can
be combined together and used as a 16-bit register CX.
Example:
Architecture
EU
Registers
8086 Microprocessor
Execution Unit (EU)
Architectur
EU Stack Pointer (SP) and Base Pointer
Registers (BP) e
• SP and BP are used to access data in the stack segment.
Architectur
EU Source Index (SI) and Destination Index
Registers (DI)
• Used in indexed addressing.
e
• Instructions that process data strings use the SI and DI
registers together with DS and ES respectively in order to
distinguish between the source and destination addresses.
34
8086 Microprocessor
Execution Unit (EU)
Architectur
EU Source Index (SI) and Destination Index
Registers (DI)
• Used in indexed addressing.
e
• Instructions that process data strings use the SI and DI
registers together with DS and ES respectively in order to
distinguish between the source and destination addresses.
8086 Microprocessor
Execution Unit (EU)
Flag Register
Architecture Auxiliary Carry Flag
from the lowest nibble, i.e, bit This flag is set, when
three during addition, or there is a carry out
borrow for the lowest nibble, of MSB in case of
i.e, bit three, during addition or a borrow
subtraction. in case of
Sign Flag Zero Flag Parity Flag
subtraction.
This flag is set, when the This flag is set, if the result of the This flag is set to 1, if the lower
result of any computation is computation or comparison byte of the result contains even
negative performed by an instruction is number of 1’s ; for odd number of
zero 1’s set to zero.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF AF PF CF
Tarp Flag
Over flow Flag If this flag is set, the
This flag is set, if an overflow occurs, i.e, if the result of a signed
processor enters the
operation is large enough to accommodate in a destination register.
single step execution
The result is of more than 7-bits in size in case of 8-bit signed
operation and more than 15-bits in size in case of 16-bit sign
mode by generating
operations, then the overflow will be set. internal interrupts
after the execution of
Direction Flag Interrupt Flag
each instruction
This is used by string manipulation
instructions. If this flag bit is ‘0’, the Causes the 8086 to recognize external
string is processed beginning from the mask interrupts; clearing IF disables
lowest address to the highest address, these interrupts.
i.e., auto incrementing mode. 36
Otherwise, the string is processed from
8086 Microprocessor
Architecture
8086 registers
categorized 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
into 4 groups OF DF IF TF SF ZF AF PF CF
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
DI Data Index Used to hold the index value of destination operand (data)
for string operations 38
Thank
You