THE 8086 MICROPROCESSOR FAMILY
The Intel 8086 is a 16-bit microprocessor that is intended to be used as
the CPU in a microcomputer.
The 8086 has a 16-bit data bus, so it can read data from or write data to
memory and ports.
The 8086 has a 20-bit address bus. so it can address any one of 220 or
1,048,576 memory locations.
Each of the memory addresses of the 8086 a byte-wide location.
Sixteen-bit words will be stored in two consecutive memory locations.
8086 PIN Diagram (External View)
8085
8086
8086 INTERNAL ARCHITECTURE
Its specific internal
features, such as its
ALU, flags, registers,
instruction byte queue,
and segment registers.
8086 internal architecture
Has
The execution unit
The bus interface unit
THE EXECUTION UNIT
Has
The internal registers,
The ALU
The control unit
REGISTERS
AX (16 bits) -- AH and AL (each 8 bit)
BX (16 bits) -- BH and BL (each 8 bit)
CX (16 bits) -- CH and CL (each 8 bit)
DX (16 bits) -- DH and DL (each 8 bit)
SP -– for accessing stack top
BP–– for accessing any location in stack
DI –– for string operations
SI -– for string operations
IP –- points to the next instruction to be executed
Segment Registers
• Th ese registers are all 16-bit in size.
• Each register stores the base address of the
corresponding segment.
Arithmetic Logic Unit
It is the part of a execution unit/core unit of computer that performs all
arithmetic and logic computations.
Instructions that are fetched and decoded, are executed in the ALU.
Thus the ALU has direct access to the general purpose registers and flags.
The ALU is the most important unit of the processor.
THE BUS INTERFACE UNIT
Responsible for address calculations
Fetching instructions for the queue
Sequencing instructions one by one
Let’s examine each function
THE INSTRUCTION QUEUE
In 8086, there is a queue which fetches instructions ahead of the
execution time.
Places instructions in a 6- byte first in first out (FIFO) queue .
Pre-fetching belongs to a class of ideas called pipelining ,which means that
both execution and fetching take place at the same time.
The advantage of pre-fetching is that when a particular instruction is to be
executed, there is a chance of finding it in the queue.
MEMORY SEGMENTATION
Th e 8086 has a 20-bit address bus, but address registers are only 16 bits long
An idea called segmentation has been used to take care of this situation.
Thus, the 8086 can access a memory with addresses from 00000H to FFFFFH
1,048,576 bytes (1 Megabyte).
There are four types of memory segments
❖ (i) data, (ii) code, (iii) stack, and (iv) extra
Segment Registers
CS -code segment register
DS – data segment register
SS - stack segment register
ES –extra segment register
✓ Code segment ----Instruction pointer (IP)
Segment registers and corresponding segments
Calculation of a physical address from the logical address for a data
segment