0% found this document useful (0 votes)
16 views22 pages

8086 Microprocessor

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

8086 Microprocessor

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

8086

Microprocessor
Md. Nazmul Abdal
Lecturer, Department of CSE
University of Liberal Arts
Bangladesh (ULAB)
8086 Configuration
• The 8086 is designed by
Intel between early 1976
and June 8, 1978, when it
was released.
• 16-bit microprocessor
• HMOS technology
• 40 pin
• 16-bit data bus
• 20-bit address bus, 220 bit
address.
• 220 = 1 megabyte (MB)
memory
ARCHITECTURE OF 8086
Memory

8086 Contains two independent functional units:


Bus Interface Unit (BIU) and Execution Unit (EU)
BIU

EU
Why two
sections?
 Because data transfer rates are usually slower compared to execution rate.
 Pipelining instructions will avoid processor being idle.
What is pipelining?
 The greater performance of the CPU is achieved by instruction pipelining.

 8086 microprocessor has two blocks:

 BIU(BUS INTERFACE UNIT)

 EU(EXECUTION UNIT)
◦The BIU handles transfer of data and addresses between the processor and
memory I/O devices.
◦The EU receives opcode of an instrument from the queue, decodes it and then
executes it.
◦While EU is decoding an instruction or executing an instruction, the BIU
fetches instruction codes from the memory and stores them in the
queue.
◦The BIU and EU units operate asynchronously to give the 8086 an overlapping
PIPELINING IN
8086
8086 Microprocessor Architecture
BUS Interface
Unit
• As the EU has no
connection with the
system buses, this
job is done by BIU.

• BIU and EU are


connected with an
internal bus. BIU
connects EU with the
memory or I/O
circuits.

• It is responsible for
transmitting data,
addresses and
control signal on
BUS Interface
Unit
• Registers: BIU has 4
segment registers, CS,
DS, SS, ES. These all 4
segment registers holds
the addresses of
instructions and data in
memory.
• These values are used
by the processor to
access memory
locations.
• It also contains 1
pointer register IP.
• IP contains the address
of the next instruction
to executed by the EU.
BUS Interface
Unit
BUS Interface
UnitQueue: BIU also contain
Instruction
an instruction queue.
• BIU gets up to 6 bytes of the
next instruction and stores
them in the instruction
queue and this process is
called instruction prefetch.
• This is a process to speed
up the processor.
• Also when the EU needs to
be connected with memory
or peripherals, BIU suspends
instruction prefetch and
performs the needed
operations.
BUS Interface
Unit
BUS Interface
Unit

• All instruction are not of same


size.

• Instruction may vary 1 byte, 2


byte, 3 byte, maximum up to 6
bytes.
BUS Interface
Unit
When will BIU fill the instruction Queue?

1.Wait for the whole queue to become empty.


2.If 1 byte is empty then refill the queue
3.If 2 byte is empty then refill the queue.

Ans:
• If 2 byte is empty then refill the queue. Because 2-byte = 16-bit and
8086 is 16-bit processor
• So, architect of processor builds a queue inside the processor, which
permitted you to store in advance, specific instruction that would be
executed in the future.
• Whole concept is called pipelining.
BUS Interface
Unit
Major tasks of Bus interface unit:

• Handles all the data and the addresses on the buses


for the execution unit.
• Bus operations include instruction fetching, reading and
writing operations for memory and calculating the
addresses of the memory operands.
• The instructions are transferred to the instruction
queue.
Execution
Unit
Control Section decodes
the instruction and
releases the control
signals to every object
of an architecture.
Example:
ADD BL, CL
(00110101010010….)
Execution
Unit
ALU (Arithmetic and Logic
Unit): The EU unit contains a
circuit board called the
Arithmetic and Logic Unit.
The ALU can perform
arithmetic, such as, +,-,×,/
and logic such as OR, AND,
NOT operations.
Execution
Unit It has 4 data registers, AX,
Registers:
BX, CX, DX and 2 pointer registers SP,
BP and 2 index registers SI, DI and
FLAGS register.
There is a temporary register as well.
• AX, BX, CX and DX registers has two
8-bit registers to access the high
and low byte data registers.
• The high byte of AX is called AH and
the
low byte is AL.
• Similarly, the high and low bytes of
BX,
CX, DX are BH and BL, CH and Cl,
DH and DL respectively.
• All the data, pointer, index and
status registers are of 16 bits.
• The temporary register holds the
operands for the ALU and the
individual bits of the FLAG
registers reflect the result of a
Execution
Major tasks of Execution Unit Unit
• Execution unit receives program instruction codes and data
from the BIU, executes them and stores the results in the
general registers.
• It can also store the data in a memory location or send them
to an I/O device by passing the data back to the BIU.
• This unit, EU, has no connection with the system Buses. It
receives and outputs all its data through BIU.
Execution
Unit
Why is this required?
Execution Unit of a processor is much faster than the peripheral
devices like memory (ROM or RAM). Earlier days, Memory was
almost as fast as processor unit but when 8086 came in picture,
processor became much faster than the peripheral devices.
8086 Data Access Strategy

• 8086 access memory with even address.

• If the data is in 30024H, then for a 16-bit data, 8086 can bring
it for operation using one access (30024H and 30025H
together).

• For odd address such as 40005H, it has to bring 40004H +


40005H. Then 40006H + 40007H. Then, 40004H and 40007H
are discarded.

• Finally, the result is in 40005H and 40006H. So, total two


access.
8086 Clock Generator

• External clock generator is needed in 8086 for clock input.

• 8284 is the clock generator of 8086.

• Clock Frequency = (Crystal Input or Crystal Frequency) / 3

• We need an external clock generator 8284 for operating the


8086. The frequency of the crystal is 45 MHz. What should be
the internal clock frequency of the microprocessor?

Clock Frequency = 45/3 = 15 MHz


THANK YOU

You might also like